Commit graph

86 commits

Author SHA1 Message Date
Sophie Herold
eee2b415d2 image/loading: Adjust frame timing by accrued delay
This should fix animations systematically slowing down.
2026-06-23 22:57:17 +02:00
Sophie Herold
19e0fd7c6e Update copyright comments 2026-02-27 21:03:02 +01:00
Sophie Herold
8972c5efb9 code: Use chained if-let's 2026-01-29 23:59:58 +01:00
Sophie Herold
67a233f777 cargo: Update to gtk-rs 0.22/0.11 2026-01-29 23:59:54 +01:00
Sophie Herold
5702f2343d code: Update copyright 2026-01-02 16:25:56 +01:00
Sophie Herold
32a4d0f0aa image/zoom: Allow 50% zoom via menu for 16px images
Zoom out for 16px or smaller images is usually blocked. But allow it for
zoom menu as we allow 50% via zoom menu in other situations where it is
blocked otherwise. Also, this is probably much less complex
implementation wise.

Closes #544
2025-12-23 23:09:39 +01:00
pieterd
f34f9dd988 Constrain minimum zoom level 2025-12-23 22:39:37 +01:00
Sophie Herold
a761eb5b2d image/zoom: Zoom >=1 no best fit for ExactVolatile
The best-fit calculation would consider levels >=1 for best-fit. This
seems fundamentally wrong since that should be reserved for LargeFit.

This caused zoom-in to fail since best-fit was considered instead. But
that best-fit was computed with BestFit mode since the mode changed in
between in zoom_to_full.

Fixes #556
2025-12-22 14:14:38 +01:00
Sophie Herold
73c921b042 image/zoom: Improve tracing messages 2025-12-22 14:11:59 +01:00
Sophie Herold
7151cf5d1d image_page: Specific error for file loading
Give a specific error message if loading the source file fails.

Closes #487
2025-12-22 01:40:44 +01:00
Sophie Herold
b9668c7262 image: Unify error handling in one type 2025-12-22 01:40:44 +01:00
Sophie Herold
36ba0edc04 Update copyright comments 2025-12-19 00:06:29 +01:00
Sophie Herold
4d6d771ab4 Use tracing for logging 2025-12-18 23:15:46 +01:00
Sophie Herold
f255af9f6a image/zoom: Keep best-fit zoom in gesture
Don't change the zoom in configure best fit if currently in gesture.
2025-12-10 22:19:37 +01:00
Sophie Herold
4439499cda code: Reformat with Rust 2024 edition 2025-12-04 06:17:55 +01:00
Sophie Herold
3b11b0534e metadata: Drop unreliable mime-type
Only use a reliable mime-type. This requires that we load images earlier
in the pipe.

This also fixes warnings about mime types not being available on network
drives like SMB.

Fixes #513
Issue #534
2025-12-03 22:41:24 +01:00
Sophie Herold
ef5f94859b editing: Fix preroateted images
Editing does not work correctly if PNGs or JPEGs are already rotated via
an Exif orientation entry before editing. This needs the glycin-image-rs
1.2.1 loader to work correctly.

Closes #481
2025-04-11 14:48:50 +02:00
Sophie Herold
a49096ffde image/printing: Use cairo renderer for texture
On some systems, to_node -> render_texture generates empty or garbled
textures since GTK 4.18 GNOME/gtk#7464. This does not happen when using the cairo
renderer.

Closes #488
2025-04-10 15:58:16 +02:00
Sophie Herold
341aef672e image: Use convention that rotations is always CCW 2025-02-24 14:08:56 +00:00
Sophie Herold
1d40a28b54 editing: Decide editable based on true mime type
Previously it was decided on the early unreliable mime type.

Fixes #449
2025-02-19 11:51:18 +01:00
Sophie Herold
1565fab160 Prepare 48.beta 2025-01-31 14:11:28 +01:00
Sophie Herold
e25b9aead6 image/zoom: Allow levels smaller best-fit from menu
Closes #437, #414
2025-01-29 19:24:34 +00:00
Sophie Herold
8d3c9d70e7 image_view: Don't rely on LpImage signals 2025-01-17 01:32:41 +01:00
Sophie Herold
84e58f28df edit_window: Add "Replace Original" option 2025-01-15 21:29:47 +00:00
Sophie Herold
2a5ca41991 NEWS: Fix 47.3 being released as 47.4 2025-01-13 23:01:53 +01:00
Sophie Herold
2adefc5241 code: Fix clippy warnings 2025-01-13 15:02:01 +01:00
Sophie Herold
7611b11b55 edit/crop: Track selection correctly on widget resize 2024-12-22 20:27:33 +01:00
Sophie Herold
cb31b93ee1 imageWindow: Fix shortcuts not always working 2024-12-22 20:27:33 +01:00
Sophie Herold
bbf9534bdd editing: Only enable editing action if available 2024-12-22 20:27:33 +01:00
Sophie Herold
8345640757 editing: Handle errors 2024-12-22 20:27:33 +01:00
Sophie Herold
5b51237203 editing: Add error handling for saving files 2024-12-22 20:27:33 +01:00
Sophie Herold
05dbee6a0b editing: Add save edited file 2024-12-22 20:27:33 +01:00
Sophie Herold
367fdf207d editing: Preview cropping/rotate/mirror operations 2024-12-22 20:27:33 +01:00
Sophie Herold
e9869bcb40 edit: Use proper styling for toolbar 2024-12-22 20:27:33 +01:00
Sophie Herold
5b184e6be9 edit: Scale cropping selection area with image 2024-12-22 20:27:33 +01:00
Sophie Herold
6867e0b13f Add cropping 2024-12-22 20:27:33 +01:00
Sophie Herold
8e8751d41a inputHandling: Claim double-click gesture 2024-11-18 14:47:21 +01:00
Sophie Herold
5409203ec9 metadata: Use gufo instead of kamadak exif
A bunch of metadata code is now provided by gufo.
2024-11-12 01:12:21 +01:00
Sophie Herold
4370be282d cargo: Drop two dependencies 2024-09-27 19:39:07 +02:00
Sophie Herold
ef4b65efbb core: Fix typo
Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/459>
2024-09-25 22:30:55 +00:00
Sophie Herold
0b4c69459f ui: Non-circular overlays and less buttons
Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/450>
2024-09-16 16:01:50 +02:00
Sophie Herold
1f28884847 image/zoom: Fix forcing center aim not working 2024-09-11 10:31:51 +00:00
Sophie Herold
be32072d7a image: Keep texture around until new is available
Keep previous texture around during image reloads to avoid flickering.
2024-08-16 13:30:18 +02:00
Sophie Herold
ea3563493e image/rotation: Fix issuing edit for 0deg rotation
Rotating by 0 degrees went through the complete rotation pipeline including a image reload. Now, 0 deg rotations are ignored.
2024-08-06 14:08:24 +02:00
Sophie Herold
959a047816 image/rotation: Name variables more clearly 2024-08-06 14:02:52 +02:00
Sophie Herold
f16bd898d6 image/zoom: No different callbacks for animation
We actually don't need different callbacks for zooms with different
targets anymore since the target is an object property anyways.
2024-08-06 14:02:46 +02:00
Sophie Herold
7e227097ef metadata: Merge memory_format correctly 2024-08-05 23:43:52 +02:00
Sophie Herold
8ddaf34e87 window: Prefer wide window over properties overlay 2024-08-05 23:37:10 +02:00
Sophie Herold
c1e6ccedab image/zoom: Use viewport center for buttons
Before, the image center was used, which would cause a jump if the
viewport was changed before.

Fixes #392
2024-08-01 01:18:05 +02:00
Sophie Herold
053aa5da7e window: Add reload button and F5 shortcut
Reloading makes sense for out of memory situations or filesystems that
don't support inotify.
2024-07-29 15:53:40 +02:00