Commit graph

359 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
Sophie Herold
14ba64f687 print: Let margins and sizes interact properly
Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/240>
2023-08-06 02:28:54 +00:00
Sophie Herold
f5071fb630 print: Make units translatable
Closes #142

Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/240>
2023-08-06 02:28:54 +00:00
Sophie Herold
3dbcce8375 print: Add height and fill-space options
Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/240>
2023-08-06 02:28:54 +00:00
Sophie Herold
d7a77ec498 print: Split unit selection for margins and size
Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/240>
2023-08-06 02:28:54 +00:00
Sophie Herold
e6646bdbe3 print: Make preview size adaptive
Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/240>
2023-08-06 02:28:54 +00:00
Sophie Herold
65af818567 print: Show filename and printer in title
Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/240>
2023-08-06 02:28:54 +00:00
Sophie Herold
9bfa9f7294 print: Use AdwSpinRow
Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/240>
2023-08-06 02:28:54 +00:00
Sophie Herold
ae23db6967 print: Add libadwaita-rs features missing upstream
This should be reverted when porting to new release that
supports those features.

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
c4d8145dd3 image: Deny drag gesture for touchscreens
ScrolledWindow can handle the panning in images
better than we can.

This fixes an issue where zoomed in images can't
be zoomed or rotated on touchscreens.

Issue #176

Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/264>
2023-07-31 21:08:58 +02:00
Alice Mikhaylenko
0d267e5219 slidingView: Enable overshoot
Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/261>
2023-07-27 20:30:24 +00: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
08a9c3e450 window: Remove default drop target style
The default does not fit well with our new custom one.

This also removes a bunch of code which was not used.

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
FineFindus
78b16518e5 window: Use custom overlay visual for drop target
Closes #59

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
abu_shawarib
33b4928c72 Revert "imagePage: Correctly align right-click menu"
This reverts commit 0ddecefe01.

Part-of: <https://gitlab.gnome.org/GNOME/Incubator/loupe/-/merge_requests/247>
2023-07-02 12:13:22 +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
cc1c8a3da5 image: Use contains in modifier type flag checks
This, for example, allows to also pan the image
with Ctrl+Shift+Scroll like in EOG.

Closes #175

Part-of: <https://gitlab.gnome.org/GNOME/Incubator/loupe/-/merge_requests/237>
2023-06-20 20:42:14 +00:00
Sophie Herold
0c2bdbd736 image: Do not guess bg color for opaque images
In theory this feature made sense to see a black square
but in practice it seems mostly confusing.

Closes #186

Part-of: <https://gitlab.gnome.org/GNOME/Incubator/loupe/-/merge_requests/235>
2023-06-20 20:02:18 +00:00
Sophie Herold
c1422cf728 image: Notify when setting file property
This fixes new file names not being shown in HeaderBar
after renames.
2023-06-20 16:54:38 +02:00
Sophie Herold
2faef84321 image: Also set zoom target when not animating
This currently only seems to affect HighRes scrolling
where SVGs are not rendered for the zoom level.

Closes #185
2023-06-20 13:23:21 +00:00
Sophie Herold
291fa13d1f meta: Update copyright headers 2023-06-07 23:44:20 +02:00
Sophie Herold
1b2dde79b6 decoder: Use glycin for image loading expect SVG
This gives us sandboxed image decoding and others the
option to extend Loupe with other image formats.
2023-06-07 20:21:28 +00:00