Alhan
a2d2c0d151
chore: crop save JPEG quality 93 -> 95 (v1.6.2)
Build & Release / build-linux (push) Has been cancelled
Build & Release / build-windows (push) Has been cancelled
Build & Release / create-release (push) Has been cancelled
2026-10-14 04:04:54 +03:00
Alhan
6e13892ed1
fix: Ctrl+R flip also matches the physical R key (v1.6.1)
...
Build & Release / build-linux (push) Has been cancelled
Build & Release / build-windows (push) Has been cancelled
Build & Release / create-release (push) Has been cancelled
On some keymaps the R key resolves to a different logical key (observed on a
Turkish remote-desktop setup: the R key arrives as logical T), so the Ctrl+R
shortcut never fired even though the key events reached the app. The shortcut
now matches PhysicalKeyboardKey.keyR as well; a regression test covers the
wrong-layout case.
2026-10-14 03:33:16 +03:00
Alhan
bad48167c8
feat: horizontal flip with R key, baked into crop save (v1.6.0)
...
- R mirrors the view about the viewport centre and clears the active effects
(same reset as double right click); pressing R again restores the original
orientation. Pan/zoom are kept.
- Image switch, fill/fit toggle and right double click also clear the flip.
- Crop save (Ctrl+S) mirrors the output too, so the saved JPEG matches the
on-screen view (verified in combination with rotation).
- Shortcut lists (tr/en), README and CHANGELOG updated; deb rebuilt as 1.6.0.
2026-10-14 02:28:24 +03:00
Alhan
2cd9e6c357
feat: persist fill/fit view mode in window.json (v1.5.0)
...
Build & Release / build-linux (push) Has been cancelled
Build & Release / build-windows (push) Has been cancelled
Build & Release / create-release (push) Has been cancelled
The double-click fill/fit mode was hardcoded (image_canvas: _isFilled = true) and
reset on every image change, so it never survived a restart. It is now stored as
"filled" in window.json and restored on launch and on image switch.
WindowPersistence.saveSync() now merges with the existing file, otherwise the
startup/move/resize geometry writes would drop the mode key.
Also: version 1.5.0, CHANGELOG entry, dist/ ships imajviewer_1.5.0_amd64.deb
(replaces 1.4.2).
2026-10-12 22:33:43 +03:00
Alhan
b3bd540549
fix: crop save dropped blue channel brightness/contrast offset (v1.4.2)
...
Build & Release / build-linux (push) Has been cancelled
Build & Release / build-windows (push) Has been cancelled
Build & Release / create-release (push) Has been cancelled
m[13] (blue alpha coefficient, always 0) was read as the blue offset instead of
m[14], so saved JPEGs lost the blue brightness/contrast offset and came out with a
color cast. Saturation/rotate were unaffected (no offsets).
Also: version 1.4.2, CHANGELOG entry, dist/ ships imajviewer_1.4.2_amd64.deb
(replaces 1.4.1).
2026-10-12 22:22:04 +03:00
Alhan
c34a3bfd95
fix: crop save always JPEG q93 + save rotated view 1:1 (v1.4.1)
...
Build & Release / build-linux (push) Has been cancelled
Build & Release / build-windows (push) Has been cancelled
Build & Release / create-release (push) Has been cancelled
- Output extension is always .jpg regardless of source format (was: PNG in -> PNG out)
- Rotation now saved correctly: viewport grid resampled bilinearly in source
space (was: unrotated bounding box copy)
- Quality 90 -> 93; l10n strings updated (JPEG 93)
- New: tool/crop_test.dart — pure-Dart end-to-end test (dart run tool/crop_test.dart)
2026-10-11 22:16:25 +03:00
Alhan
168e087c8b
feat: crop save (save visible area at original resolution) v1.4.0
...
Build & Release / build-linux (push) Has been cancelled
Build & Release / build-windows (push) Has been cancelled
Build & Release / create-release (push) Has been cancelled
- Save visible area at original resolution as JPEG q90 (title bar button or Ctrl+S)
- Output name: original name + _HHmmss suffix; no overwrite, warning shown
- Active color effects baked in; rotation saves bounding box
- New: crop_save_service, l10n strings TR/EN, docs/plan-crop-save.md
2026-10-11 21:36:20 +03:00
Alhan
1002156cd4
fix: aspect ratio distortion on image switch (v1.3.1)
...
Build & Release / build-linux (push) Has been cancelled
Build & Release / build-windows (push) Has been cancelled
Build & Release / create-release (push) Has been cancelled
Downsample used ResizeImagePolicy.exact which forced a 2048×2048
square and stretched non-square images. Switch to ResizeImagePolicy.fit
to preserve aspect ratio while still capping both dimensions.
2026-08-14 22:17:48 +03:00
Alhan
72c35a8a26
fix: image_canvas correctness + RAM fixes (v1.3.0)
...
Build & Release / build-linux (push) Has been cancelled
Build & Release / build-windows (push) Has been cancelled
Build & Release / create-release (push) Has been cancelled
- _imageSize reset on image switch (wrong swap threshold on nav)
- downsample caps both dims (tall images no longer full-res decode)
- single _readImageSize instead of leaking loadingBuilder listeners
- evict old downsample provider on full-res swap
- remove imageCache.clear() that dropped live image (gallery flash)
2026-08-14 21:54:34 +03:00
Alhan
45cf56a1e6
feat: downsampling + full-res swap + RAM leak fix
...
Build & Release / build-linux (push) Has been cancelled
Build & Release / build-windows (push) Has been cancelled
Build & Release / create-release (push) Has been cancelled
- Büyük resimler ilk yüklemede max 2048px'e downsampling (RAM ~1.6MB)
- Zoom 1.5x stretch'i geçince full-res'e swap (orijinal çözünürlük)
- Resim geçişinde eski provider evict + ImageCache.evict() (RAM leak)
- Tiled render kodu tamamen kaldırıldı
2026-08-14 21:22:26 +03:00
Alhan
504d84f6f6
feat: i18n (en/tr), zoom orijinal cozunurluk + max 20x + gaplessPlayback, app id com.softmediadesign.imajviewer, CI analyze+test
Build & Release / build-linux (push) Has been cancelled
Build & Release / build-windows (push) Has been cancelled
Build & Release / create-release (push) Has been cancelled
2026-08-07 00:16:48 +03:00
Alhan
ef7692469d
build: 1.1.0 release — ctrl+Q pencere kapatma fixi (onKeyEvent), kisa yol bilgileri guncellendi (ctrl+shift+Q), readme guncellendi, pan-kilitleme nuks raporu; .deb guncellendi
2026-08-06 04:41:32 +03:00
Alhan
f3a5aeb604
feat: gezinme oklari (hover), ayarlar penceresi (zaman/isme gore siralama), yazdirma (printing paketi), title hover saydamligi; .deb guncellendi
2026-08-06 03:43:48 +03:00
Alhan
185653f34e
perf: sag tik efektlerinde ilk kullanim donmasi fix — shader warmup (gizli katman ile acilista derleme), .deb guncellendi
2026-08-06 02:32:19 +03:00
Alhan
35bbb0b885
perf: sag tik efekt suruklemesinde kitlenme fix — image provider memoize (her frame'de yeniden decode onlendi)
2026-08-03 11:38:27 +03:00
git_alhan
65c78c4c38
fix: cift tiklamada zoom/pan olumu (_vpSize sifirlamasi kaldirildi), windows setup.exe guncellendi
...
_toggleFillFit/_resetView icinde _vpSize = Size.zero, LayoutBuilder
yeniden calismadiginda zoom'u olduruyor ve pan'i sinirsiz yapiyordu.
_vpSize artik yalnizca constraints.biggest'ten beslenir.
2026-08-03 11:06:12 +03:00
Alhan
b6c2d9599f
perf: efekt suruklemesinde kitlenme fix (kare hizi throttle, repaint izolasyonu, downsampling, cache sinirlari), .deb guncellendi
2026-08-03 08:55:19 +03:00
Alhan
d4c243b445
feat: klasor tabanli galeri, brightness efekti (Ctrl+Shift+sag tik), .deb guncellendi
2026-08-03 08:26:31 +03:00
Alhan
56ab4b5495
fix: coklu monitorde cascade dogru ekrani kullanir, .deb guncellendi
...
- window_persistence: onceki pencerenin bulundugu monitorun calisma alani kullanilir (getAllDisplays), primary degil
- viewer_screen: catchError donus tipi duzeltildi (analyze warning)
- dist/imajviewer_1.0.0_amd64.deb yeniden derlendi
2026-08-03 06:54:22 +03:00
Alhan
a65bdc152c
feat: jfif/jpe/wbmp format destegi, pencere cascade yerlesimi, konum kaydi duzeltmesi
...
- file_handler/image_manager: jfif, jpe, wbmp uzantilari
- .desktop + install.sh MimeType: image/vnd.wap.wbmp eklendi
- main.dart: yeni pencere oncekinin saginda acilir (screen_retriever ile ekran tespiti)
- viewer_screen: 2sn polling kaldirildi, konum kaydi tek akisa oturtuldu (acilis + move/resize debounce + close senkron)
- dist/rebuild-deb.sh: .desktop kaynaktan kopyalanir (MimeType/StartupWMClass guncel kalir)
- .deb guncellendi, docs: session-2026-08-03 + plan dokumanlari
2026-08-03 06:44:57 +03:00
Alhan
171476d30b
feat: rotate (Shift+sag tik), StartupWMClass taskbar gruplama, dist guncelle
Build Windows / build-windows (push) Has been cancelled
2026-07-27 20:41:14 +03:00
Alhan
35d3bc3749
feat: right-click contrast, Ctrl+saturation, Shift+rotate filters
...
Build Windows / build-windows (push) Has been cancelled
- Add ColorFilter.matrix (row-major) for saturation and contrast
- Saturation: 0=grayscale, 1=normal, 2=oversaturated (luminance-weighted)
- Contrast: standard contrast matrix (pivot at 0.5)
- Keyboard modifier tracking via HardwareKeyboard.addHandler
- Right-click + vertical drag: contrast (0-2)
- Ctrl + right-click + vertical drag: saturation (0-2)
- Shift + right-click + vertical drag: rotate
- Right double-click: reset all values
- Update install.sh to check debug/ bundle before release/
- Update .deb package with new release build
2026-07-27 19:39:54 +03:00
Alhan
4dae4234ba
feat: letterbox-aware clamp, full-frame image, fit/fill zoom fix
...
Build Windows / build-windows (push) Has been cancelled
- image_canvas.dart:
- Fill mod: viewport tabanli clamp (_tx=0'da kilit)
- Fit mod: RenderBox ile resmin gercek render boyutuna gore clamp
- Letterbox offset (offX/offY) hesaba katilarak resmin kenarlarina kadar pan
- Zoom-to-cursor dogru calisiyor (alignment: topLeft ile)
- Min scale 1.0 (her iki modda da)
- Overflow durumunda lo/hi reversed clamp (goruntu disari kacmaz)
- viewer_screen.dart: image alani top:24 -> top:0 (tam cerceve)
- install.sh: release -> debug bundle path (gelistirme)
2026-07-24 06:22:59 +03:00
Alhan
9a0e89bcea
fix: Windows uyumlulugu - APPDATA config, taskkill
Build Windows / build-windows (push) Has been cancelled
2026-07-22 06:00:39 +03:00
Alhan
d622d0ec04
fix: Ctrl+Shift+Q onKeyEvent ile, pkill dogru calisiyor
Build Windows / build-windows (push) Has been cancelled
2026-07-22 05:55:56 +03:00
Alhan
f9831875ba
feat: Ctrl+Shift+Q ile tum pencereleri kapat
Build Windows / build-windows (push) Has been cancelled
2026-07-22 05:52:17 +03:00
Alhan
5e31a9e6bc
fix: info cubugu kaldirildi, kod temizlendi
Build Windows / build-windows (push) Has been cancelled
2026-07-22 05:45:33 +03:00
Alhan
5f9382ef61
feat: varsayilan fill modu, zoom merkezleme duzeltildi, alt bilgi cubugu
Build Windows / build-windows (push) Has been cancelled
2026-07-22 05:41:32 +03:00
Alhan
c5679f457d
fix: clean debug prints, ok tuslari Focus.onKeyEvent ile calisiyor
Build Windows / build-windows (push) Has been cancelled
2026-07-22 05:33:09 +03:00
Alhan
1658985f9c
fix: topbar 24px, ok tuslari Actions+DirectionalFocusIntent
Build Windows / build-windows (push) Has been cancelled
2026-07-22 05:28:15 +03:00
Alhan
5be314e857
fix: ok tuslari HardwareKeyboard, topbar 16px, border kaldirildi
Build Windows / build-windows (push) Has been cancelled
2026-07-22 05:24:25 +03:00
Alhan
35ac949f4e
fix: ok tuşları + buton hover/siyah border + çift tıklama cover
Build Windows / build-windows (push) Has been cancelled
2026-07-22 05:20:07 +03:00
Alhan
86a63e0bb6
fix: çift tıklama BoxFit cover/contain toggle
Build Windows / build-windows (push) Has been cancelled
2026-07-22 05:14:25 +03:00
Alhan
31b1032661
feat: çift tıklama fill/fit toggle + ok tuşları ile gezinme
Build Windows / build-windows (push) Has been cancelled
2026-07-22 05:09:26 +03:00
Alhan
181b063329
fix: title bar inceltildi (28px), degrade kaldırıldı
Build Windows / build-windows (push) Has been cancelled
2026-07-22 04:51:21 +03:00
Alhan
8dd1037f34
feat: title bar hafif degrade (alpha 0.1) + üst bölge masaüstüne saydam
Build Windows / build-windows (push) Has been cancelled
2026-07-22 04:48:02 +03:00
Alhan
a566dcdece
feat: Windows build support + title bar tamamen saydam
Build Windows / build-windows (push) Has been cancelled
2026-07-22 04:34:31 +03:00
Alhan
8369ec2a5d
Initial commit: imajViewer Flutter Linux image viewer
2026-07-22 03:59:14 +03:00