Commit Graph
31 Commits
Author SHA1 Message Date
Alhan 32fb12c210 feat: zoom percentage badge at bottom center (v1.7.1)
Build & Release / build-linux (push) Canceled after 0s
Build & Release / build-windows (push) Canceled after 0s
Build & Release / create-release (push) Canceled after 0s
- Percentage shown between the prev/next buttons, together with the hover
  controls, on a translucent background.
- Value is the on-screen scale relative to the image's real pixel size
  (100% = 1:1); updated on wheel zoom, fill/fit toggle, image change and
  window resize.
- Pixel-size header parsing moved to lib/services/image_header.dart, shared
  with the settings file-properties panel.
- dist: 1.7.1 .deb replaces the tracked 1.7.0 package.
2026-10-25 18:53:59 +03:00
Alhan 57fa3d92dd feat: settings version display, complete shortcut list, Ctrl fine zoom (v1.7.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
2026-10-20 23:09:13 +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 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 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 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 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 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