Commit graph

134 commits

Author SHA1 Message Date
Sophie Herold
9156533fea fileModel: Make file info queries async
We are not entirely sure if looking up the display name might do IO for
google drives.
2024-11-13 01:22:27 +01:00
Sophie Herold
40e60868c8 imageView: Zoom button sensitive for new values
Only make zoom button sensitive if the zoom value differs from the
current zoom value.

Closes #405
2024-09-25 21:50:53 +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
f75e64f73b window: Disable more actions if error is shown
Many operations don't make sense while an image is loading or can't be
shown like zoom or print. In these cases the actions should now be
disabled.

Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/440>
2024-07-30 18:24:53 +00:00
Sophie Herold
e08866a1da image: Use enum for specific errors 2024-07-19 21:24:11 +00:00
Sophie Herold
0b33553144 util/gettext: Parse unicode escape sequences
Closes #351

Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/426>
2024-07-17 19:33:52 +02:00
Fina Wilke
5956aa6460 code: clone macro: Use convenience attributes instead of upgrade_or_else
Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/412>
2024-07-02 22:54:24 +00:00
Sophie Herold
798f2584ee code: Update copyright headers 2024-06-28 23:00:14 +02:00
Sophie Herold
e9dc3d810c code: Use new glib::clone! syntax 2024-06-18 00:37:38 +02:00
Sophie Herold
c15e73274e print: Use new GTK API 2024-05-15 10:51:49 +00:00
Sophie Herold
6958f427bd application: Shortcuts for non-animated next/prev
Don't animate switching between images for Alt+Arrow.

Closes #45
2024-01-31 23:34:25 +01:00
Sophie Herold
3f1c247f41 cargo: Update glycin version 2024-01-29 22:35:42 +01:00
Sophie Herold
0e44037239 ImageView: Reliably show image restored from trash
Closes #316
2024-01-28 20:57:19 +00:00
Sophie Herold
784c53b318 slidingView: Use stacked cards animation for steps
Use an animation with less motion for navigation through images with
arrow keys and buttons. For skipping multiple images and for using the
touchpad, the animations stay the same.

Closes #245
2024-01-08 20:31:40 +00:00
Sophie Herold
b1d1d547cf image/zoom: Force zoom to center for buttons
Before, using buttons on touchscreen could zoom to the cursor position.
2024-01-04 14:37:11 +01:00
Sophie Herold
476abf1612 slidingView: Don't notify page updates emmediately
This allows to add new pages after clearing without triggering an empty
state in between. This also fixes opening a new image leaving the
fullscreen mode.

Fixes #286
2023-12-21 21:28:37 +01:00
Sophie Herold
2648295a18 code: Reformat with group_imports=StdExternalCrate 2023-12-07 20:33:19 +01:00
Sophie Herold
33bcd4a7ac imageView: Remove expression for fullscreen icon 2023-12-04 18:22:47 +01:00
Sophie Herold
5b3ad7c257 code: Fix typos 2023-11-30 21:58:26 +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
390f16792a imageView: Use properties macro 2023-11-29 19:10:57 +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
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
0cff205c9d general: Update to gtk-rs 0.7 2023-08-06 11:24:01 +02: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
d13acea38a imageView: Deny DragSource for touchscreens
Before, the DragSource gesture was claimed on touchscreens,
while no dnd was available there anyways. This caused swiping
through images to only work unreliably.

Issue #176

Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/264>
2023-07-31 22:01:27 +02:00
Sophie Herold
55551ae6a2 general: Update copyright notices
Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/258>
2023-07-18 17:48:43 +00:00
Sophie Herold
cf8fa499d9 window: New way to detect own window in d+d
This is a (hopefully) cleaner way to detect if we are
dragging out of the own window to not show drag indicator
in that case.

Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/258>
2023-07-18 17:48:43 +00:00
Sophie Herold
06d688e79e src: Format let-else statements 2023-07-07 19:22:51 +00:00
FineFindus
bc9aff5068 refactor: Use is_some_and 2023-06-26 11:59:17 +00:00
Christopher Davis
439286be40 general: Use std's OnceCell where possible
Rust's standard library now provides a drop-in replacement
for `OnceCell`. It requires no API changes from `once_cell`'s
version.

This commit replaces the version from `once_cell` with the
new `std` struct where possible. We still need to use
`once_cell` for properties until
https://github.com/gtk-rs/gtk-rs-core/pull/1113
is merged. We also still need it for Lazy until that lands.

Part-of: <https://gitlab.gnome.org/GNOME/Incubator/loupe/-/merge_requests/241>
2023-06-23 18:59:09 +00:00
Sophie Herold
291fa13d1f meta: Update copyright headers 2023-06-07 23:44:20 +02:00
Huan Nguyen
735451250c imageView: Merge set_image_from_file with set_images_from_files
Also changing behavior when opening with multiple command line
arguments or when multiple images were selected from other
applications.

Old behavior: Spawn an instance of Loupe for each argument.
New behavior: One Loupe instance containing all arguments.

Closes #195
2023-05-30 12:52:59 +00:00
FineFindus
a3a0ccdf52 imageView: Replace magic values with adw::ToastPriority 2023-05-25 10:56:38 +00:00
FineFindus
32be6c8246 imageView: Check set wallpaper response
Closes #166
2023-05-24 15:34:52 +00:00
Sophie Herold
3dc9e40bcb imageView: Fix vertical minimum size in measure 2023-05-03 23:47:40 +02:00
Sophie Herold
24bbd7eae2 window: Show controls on mouse click 2023-05-03 22:22:03 +02:00
Sophie Herold
6db58463bf imageView: Skip unsupported formats when sliding
If an image with unsupported format is opened directly,
the error is shown.

Closes #92

Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/212>
2023-05-03 18:58:02 +00:00
Sophie Herold
916514604c imageView: Hide controls after mouse inactivity
Closes #25

Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/189>
2023-04-20 15:18:06 +00:00
Sophie Herold
2f9fad47a1 src: Update or add auto generated license headers
Closes #55

Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/169>
2023-04-19 20:02:01 +02:00
Philipp Kiemle
4b24628409 imageView: Add translator comment 2023-04-19 19:57:21 +02:00
Sophie Herold
ae5ca76176 printing: Add printing support
Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/165>
2023-04-18 23:52:53 +00:00
Sophie Herold
e96b9ccac9 image: More fine-grained zoom instructions
Add parameters to use zoom_to without animation or
snapping to best fit. Hopefully fixing 100%/200% snapping
to best fit when close to filling the window and
fixing high res scroll wheel bugs.

Closes #120, #134

Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/177>
2023-04-18 23:23:18 +00:00
Sophie Herold
aca49427a1 window: Support dropping multiple files
This allows to scroll through all dropped files.
No further images from directories are loaded in
this mode.

Closes #35
2023-04-18 22:29:30 +02:00
Sophie Herold
fad8bb7939 decoder: Use GFile instead of PathBuf
This allows to show images from locations that don't
have a representation with path.

This also works around not being able to read files in trash:///

Closes #56

Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/174>
2023-04-18 16:22:49 +00:00
Sophie Herold
032707a210 fileModel: Use GFile with URI as key
Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/174>
2023-04-18 16:22:49 +00:00
Sophie Herold
f8cc9f5f84 i18n: Use gettext function instead of wrapper
No need to deviate from the default here.

Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/170>
2023-04-12 12:58:40 +00:00