Commit Graph

355 Commits

Author SHA1 Message Date
Pierre-Yves Nicolas
f130d33eba Avoid swallowing errors during export preparation 2026-03-25 18:47:45 +01:00
Pierre-Yves Nicolas
92914c1730 Make ImageRepository thread-safe (#147) 2026-03-25 14:35:17 +01:00
Pierre-Yves Nicolas
90287b3389 Compress source JPEG during capture preview rather than later 2026-03-24 20:34:24 +01:00
Pierre-Yves Nicolas
fa619da867 MainViewModel: avoid running IO operations on the main thread 2026-03-24 20:34:24 +01:00
Pierre-Yves Nicolas
40314def4e Capture: reduce conversions between Mat/Bitmap/ByteArray 2026-03-24 20:34:24 +01:00
Pierre-Yves Nicolas
ceceaf8792 Centralize JPEG compression (also in MainViewModel) 2026-03-22 18:28:17 +01:00
Pierre-Yves Nicolas
a9edfa2b87 Centralize JPEG compression to a single function 2026-03-22 18:09:12 +01:00
Pierre-Yves Nicolas
f336680a69 Upgrade AGP: 8.10.1 -> 8.13.2 2026-03-22 12:53:41 +01:00
Pierre-Yves Nicolas
2f3d42049e Prepare release: v1.17.0 2026-03-20 17:09:01 +01:00
Pierre-Yves Nicolas
1ad586ed8f Feed basic PDF metadata: date and creator 2026-03-20 16:40:39 +01:00
Pierre-Yves Nicolas
f371be4e14 Layout of rotation buttons should be the same for RTL as for LTR (fixes #135) 2026-03-20 15:50:26 +01:00
Pierre-Yves Nicolas
0e8037fa8d Export: fix SecurityException when tapping "open" (#133) 2026-03-14 14:52:24 +01:00
Pierre-Yves Nicolas
cd4206b413 Prepare release: v1.16.0 2026-03-10 11:42:21 +01:00
Pierre-Yves Nicolas
dea8bcc389 Export: avoid silencing issues in applyRenaming 2026-03-10 09:38:13 +01:00
Pierre-Yves Nicolas
8666fce250 Right-to-left: fix target position of post-capture animation (#122) 2026-03-09 15:02:41 +01:00
Pierre-Yves Nicolas
8784c0b923 Extract strings rotate_left and rotate_right (used for icon descriptions) 2026-03-09 10:55:31 +01:00
Pierre-Yves Nicolas
3d70abbac2 Right-to-left: fix rotation buttons (#121) 2026-03-09 10:28:38 +01:00
Pierre-Yves Nicolas
68531bf4e3 Fix quad stabilization (fix #131) 2026-03-09 09:26:13 +01:00
Pierre-Yves Nicolas
c62fba87d8 Simplify code for live analysis 2026-03-08 14:53:03 +01:00
Pierre-Yves Nicolas
4e3cc95979 Run segmentation and quad detection in sequence to avoid CPU contention 2026-03-08 14:22:59 +01:00
Pierre-Yves Nicolas
343495dafe New quad algorithm: identify edges from contour orientation (#130)
Goal: improve precision of automatic document cropping by switching:
- from Douglas-Peucker algorithm (OpenCV's approxPolyDP) + a heuristic for documents missing a corner
- to an algorithm that looks for edges

* New quad algorithm: identify edges from contour orientation
* Performance optimization: reduce number of calls to trigonometric functions
* Performance: use a single threshold for live analysis
* Fix orientation of debug mask and compute it only if required
* Exclude quads that go out of the frame
2026-03-07 12:09:41 +01:00
Pierre-Yves Nicolas
cf196576fe Arabic: fix MissingQuantity for page_count and files_saved_to 2026-03-03 11:47:27 +01:00
jermanuts
ca7cdce0e1 Add Arabic translation 2026-03-03 11:47:27 +01:00
ninjum
ee7c301f08 Create galician translation (gl) (#119) 2026-03-01 12:22:44 +01:00
Pierre-Yves Nicolas
f70ea33fcc Prepare release: v1.15.0 2026-02-25 17:25:24 +01:00
Pierre-Yves Nicolas
e52942e618 Upgrade fairscan-segmentation-model to v1.2.0 2026-02-25 16:42:34 +01:00
Pierre-Yves Nicolas
a2ae0440b6 Prepare release: v1.14.0 2026-02-11 09:17:58 +01:00
Pierre-Yves Nicolas
c16b0d64bd Prepare release: v1.13.0 2026-02-03 18:42:45 +01:00
Pierre-Yves Nicolas
60f6e404a8 CameraScreen: fix torch state persistence (broken by previous commit) 2026-02-03 16:54:46 +01:00
Pierre-Yves Nicolas
b73dc20bd5 CameraScreen: avoid ghost quads when live analysis starts 2026-02-03 07:40:40 +01:00
Pierre-Yves Nicolas
9cdff7e74b Preview CameraScreen with different devices 2026-02-02 17:26:30 +01:00
Pierre-Yves Nicolas
c91237cd2f Export: avoid running preparation when it's useless 2026-02-02 16:43:41 +01:00
Pierre-Yves Nicolas
b135e8108a Export screen: persist (in-memory) filename during scan 2026-02-02 13:58:34 +01:00
Pierre-Yves Nicolas
974666f071 Export screen: style improvements 2026-02-01 20:56:02 +01:00
Pierre-Yves Nicolas
0c8974af9a Export screen: move filename field close to buttons 2026-02-01 18:10:36 +01:00
Pierre-Yves Nicolas
a4822d3c9e Export screen: add thumbnail 2026-02-01 10:48:26 +01:00
Pierre-Yves Nicolas
88e5a701fa Document screen: make "Add page" button more explicit 2026-01-31 19:12:01 +01:00
Pierre-Yves Nicolas
ec14abd696 Adjust style of thumbnails to show they can be tapped 2026-01-31 19:12:01 +01:00
Pierre-Yves Nicolas
37d4ded7f8 Move Document screen out of default scan process 2026-01-31 19:12:01 +01:00
Pierre-Yves Nicolas
6fa3fe68fb Settings: handle lost access to export folder 2026-01-31 06:50:13 +01:00
Pierre-Yves Nicolas
429d4e7a37 Export: detailed error reporting 2026-01-30 19:18:21 +01:00
Pierre-Yves Nicolas
a5b20c22c0 Export screen: stop using toasts for save errors 2026-01-30 09:22:21 +01:00
Pierre-Yves Nicolas
f32b4f8799 Export screen: add a spinner during the save operation 2026-01-29 21:07:18 +01:00
Pierre-Yves Nicolas
85c966a7aa Use the real name of the selected export folder rather than manipulating the URI 2026-01-29 17:06:31 +01:00
Pierre-Yves Nicolas
435de6c2e8 Fix export failures with some cloud storage providers (#106) 2026-01-29 11:43:39 +01:00
Pierre-Yves Nicolas
07753427e4 Specific message when no permission for export dir (#105) 2026-01-28 20:36:41 +01:00
Pierre-Yves Nicolas
0edd0f3748 Prepare release: v1.12.1 2026-01-26 17:43:26 +01:00
Pierre-Yves Nicolas
8bdbef4344 Fix crash after returning result for an external call (#104) 2026-01-26 17:23:45 +01:00
Pierre-Yves Nicolas
960fd606fa Fix escaping in turkish translation 2026-01-26 15:28:05 +01:00
beucismis
bdaede1a70 Add Turkish language 2026-01-26 15:28:05 +01:00