Commit graph

579 commits

Author SHA1 Message Date
Sophie Herold
057ca6a3d0 image/rendering: Use scale instead of scale-factor
`GdkSurface:scale` supports fractional scaling available as
"scale-monitor-framebuffer" on Mutter. Use this value everywhere
instead of the integer scale-factor

Closing #182
2023-12-06 23:39:09 +01:00
Sophie Herold
9c8d3dc63f image/rendering: Do not config adj in snapshot
This caused warnings and scrollbars to disappear under certain
conditions.
2023-12-05 21:35:03 +01:00
Sophie Herold
d69d0d5e47 image/scrollable: Abstract adjustment access 2023-12-05 21:26:09 +01:00
Sophie Herold
3ab4d82d36 image: Reorganize into several sub-modules 2023-12-05 16:00:46 +01:00
Sophie Herold
cfed1d3d63 image: File doesn't have to be a property anymore 2023-12-04 18:42:21 +01:00
Sophie Herold
33bcd4a7ac imageView: Remove expression for fullscreen icon 2023-12-04 18:22:47 +01:00
Sophie Herold
fceec31971 print: Remove obsolete callback code 2023-12-04 18:08:44 +01:00
Sophie Herold
2fdfe5657c image: Refresh file info after file rename 2023-12-04 18:08:25 +01:00
Sophie Herold
c0f435386d metadata: Move file info and format to metadata 2023-12-04 18:08:25 +01:00
Sophie Herold
c36e7f4eb6 code: Replace many uses of GtkExpressions
Closes #276, #100
2023-12-04 18:08:20 +01:00
Sophie Herold
50450ad359 window: Simplify action state code 2023-11-30 22:32:29 +01:00
Sophie Herold
30742f4da4 window: Rename queue_hide to schedule_hide 2023-11-30 22:27:21 +01:00
Sophie Herold
a2e2cb2336 window: Use generated connection functions 2023-11-30 22:23:05 +01:00
Sophie Herold
6c58f4cabd window: Don't use expression for title 2023-11-30 22:20:57 +01:00
Sophie Herold
5b3ad7c257 code: Fix typos 2023-11-30 21:58:26 +01:00
Sophie Herold
307c864c6e window: Copy metadata instead of image if selected 2023-11-30 01:20:13 +01:00
Sophie Herold
b56d650086 code: Reformat with new rules 2023-11-29 21:16:11 +01:00
Sophie Herold
4b510412e1 window: Fix title not changed when no image shown
Closes #279
2023-11-29 20:15:42 +01:00
Sophie Herold
7d36c93029 slidingView: Use properties macro 2023-11-29 19:28:27 +01:00
Sophie Herold
4ca7c71538 imagePage: Use properties macro 2023-11-29 19:19:49 +01:00
Sophie Herold
390f16792a imageView: Use properties macro 2023-11-29 19:10:57 +01:00
Sophie Herold
55811a2bb7 image: Use macro for object properties 2023-11-29 18:52:31 +01:00
Sophie Herold
d04e5e255b window: Fix icon for property toggle button
Closes #274
2023-11-29 01:51:00 +01:00
Sophie Herold
f3ff2f5cba ui: Reformat .ui-files 2023-11-29 01:51:00 +01:00
Sophie Herold
5a905cd53f ui: Move .ui-files to src/
Closes #46
2023-11-29 01:50:54 +01:00
Julian Hofer
cd8188a1bb Simplify async code
- Update Cargo.lock
- Use new gtk-core API
- Remove unneeded async
- Remove unneeded clones

Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/310>
2023-11-22 09:12:36 +01:00
Starccy
8d185e1e10 chore: display original error
Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/314>
2023-11-21 20:25:37 +00:00
Sophie Herold
4e28ea1cf6 fileDialog: Pre-select current image's folder
Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/287>
2023-11-21 20:00:46 +00:00
Sophie Herold
229c63719e meta: Prepare 45.2 2023-11-21 20:55:03 +01:00
Sophie Herold
a1edf6f882 image: Show image after error in file resolved
LpImage already reloads the image after an image is
invalid because of unsupported format or decoding error.
This patch makes that the "is-loaded" property is changed
to true again after the problem is resolved by a file change.

This should also hopefully works around problems with apps like GIMP
writing files in a way where an error appears itermittently.

Closes #256
2023-11-16 22:59:19 +00:00
Julian Hofer
831cf953c6 Preserve order when removing items from file model
The files are stored in an index map.
When removing from that map, `remove` does not guarantee to preserve order.
However `shift_remove` does.

Fixes #270
2023-11-15 15:25:07 +01:00
Sophie Herold
abdd54def7 decoder: Pass on transformations_applied info
This prevents HEIF images from getting transformations applied
again that already has been applied by the decoder.

Closes #251
2023-11-14 13:53:33 +01:00
Sophie Herold
15e2fb2257 print: Use same print operation throughout
Use a hack to wait in print signal for the layout dialog to be ready
instead of creating a new print operation with the same settings.

This works around a bug in GTK where the wrong printer gets selected
(issue #243), as well as the print dialog getting shown twice when
using the print portal (part of #61).

Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/302>
2023-10-31 01:31:36 +00:00
Sophie Herold
8b2b12a206 image: Always request tiles in set_zoom_target
This makes zoom for SVGs work again. Not entirely clear
why this is needed but a safe fix for now.

Closes #240

Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/301>
2023-10-31 01:01:27 +00:00
Sophie Herold
65e7789863 decoder: Fix animations with variable frame length
Before, the length of the first frame was used for all frames.

Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/300>
2023-10-31 00:31:25 +00:00
Sophie Herold
896508deee window: Only accept drops of correct type
This got lost with having a custom "accept" signal handler since
the signal uses g_signal_accumulator_first_wins. Fixing this also
works around GTK not properly checking the drops and ending up
in criticals.

Fixes #234
2023-09-06 09:30:00 +00:00
Sophie Herold
4994ec9b59 imageView: Update SlidingView after removing image
When unsupported images formats were detected the image
was not removed from the SlidingView if already preloaded.
This caused weird hickups.

Fixes #233
2023-09-05 19:55:09 +00:00
Sophie Herold
cae9d54218 window: Show flat headerbar in empty state 2023-08-31 13:51:16 +00:00
Sophie Herold
f97b878b7a window: Allow to delete non-native image files
Only check if there is a path. With testing for native
the deletion in SMB etc is not possible that we support
properly.
2023-08-29 19:40:24 +00:00
Sophie Herold
8cb14169db slidingView: Allow WidgetExt::allocation for now
Has been deprecated but not sure what is the correct replacement
2023-08-16 12:21:59 +02:00
Sophie Herold
05868d785f window: Always ask for program to open images
This fixes "Open With…" not always asking for a program.
2023-08-16 12:03:46 +02:00
Sophie Herold
65a5f39861 image: Force minimum tile size of 1000x1000
Everything else does not make sense loading performance
wise.

Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/276>
2023-08-16 08:44:41 +00:00
Sophie Herold
07513f5940 image: Don't render first tiles with zoom=1
Closes #145

Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/276>
2023-08-16 08:44:41 +00:00
Sophie Herold
270853ea57 image: Reload image on FileMonitor Renamed events
The Rename event is also fired if the file got replaced
via a file move.

Closes #227

Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/271>
2023-08-08 16:27:03 +00:00
Sophie Herold
a027513447 decoder: Use glycin for decoding SVGs as well
Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/267>
2023-08-06 11:59:33 +00:00
Sophie Herold
1a7a34c3b6 Revert "print: Add libadwaita-rs features missing upstream"
This reverts commit ae23db6967.
2023-08-06 11:27:35 +02:00
Sophie Herold
0cff205c9d general: Update to gtk-rs 0.7 2023-08-06 11:24:01 +02:00
Sophie Herold
aac476134f print: Use inch for US and LR
Closes #143

Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/240>
2023-08-06 02:28:54 +00:00
Sophie Herold
172ce9d976 print: Code cleanup
Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/240>
2023-08-06 02:28:54 +00:00
Sophie Herold
2fac5e6c43 print: Limit width an hight fields correctly
Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/240>
2023-08-06 02:28:54 +00:00