Commit graph

579 commits

Author SHA1 Message Date
Sophie Herold
0ed7036098 cargo: Update gtk-rs stack 2024-02-08 21:19:05 +01:00
Sophie Herold
a7116925bf debug: Add more tracing for initial operations 2024-02-08 00:57:33 +01:00
Sophie Herold
23918bf31e slidingView: Fix non-animated page changes
Add missing signal for ended animation and fix wrong index juggling.
2024-02-05 17:25:44 +01: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
e4ee49c2a1 SlidingView: Properly animate fast scrolling 2024-01-28 20:57:19 +00:00
Sophie Herold
0e44037239 ImageView: Reliably show image restored from trash
Closes #316
2024-01-28 20:57:19 +00:00
Sophie Herold
f1f8ba9a88 SlidingView: Fix animation for deleting images 2024-01-28 20:57:19 +00:00
Sophie Herold
67513dc3f5 window: Stop adding svg mime manually
This was from way back when glycin didn't support SVGs yet.
2024-01-28 20:57:19 +00:00
Sophie Herold
47cb0e0acb SlidingView: Stop using gtk_widget_get_allocation
It got deprecated. Hopefully "width" does what we need.
2024-01-28 20:57:19 +00:00
Sophie Herold
619b4f8150 cargo: Update glycin 2024-01-23 21:03:22 +01:00
Sophie Herold
c5685b5b5e decoder: Update dimension with frame info
In theory the header information doesn't has to be correct. There are no
known formats where this is the case, but just to be safe.

Closes #305
2024-01-21 14:19:33 +01:00
Sophie Herold
2f0150ade1 image/zoom: Create animation with a fake target
This avoids warnings when contructing the animation.
2024-01-20 14:44:29 +01:00
Sophie Herold
0d060f6790 image: Occupy 40% instead of 30% screen area
Closes #272
2024-01-19 15:47:16 +00:00
Sophie Herold
aa3e517a1b image/zoom: Use more trace instead of debug 2024-01-19 15:47:16 +00:00
Sophie Herold
e0df6fc725 image/rendering: Clamp natural size correctly 2024-01-19 15:47:16 +00:00
Sophie Herold
171077ffc7 window: Resize to natural on map
Only at this point we can be certain about the screen info like size an
scaling factor.
2024-01-19 15:47:16 +00:00
Sophie Herold
446ae5063a window: Limit HeaderBar to min width as nat width
Before we were doing the same with just the title in the HeaderBar. This
gave problems with correctly measuring for ADW_CENTERING_POLICY_LOOSE.
2024-01-09 20:12:02 +01:00
Sophie Herold
7ebc902838 image/rotation: Configure adj during rotation
This was missing after we stopped configuring adjustments in snapshots.

Closes #302
2024-01-09 14:19:16 +01: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
0d21222dcd meta: Release 46.alpha 2024-01-08 17:41:54 +01:00
Sophie Herold
0c53c75127 image/inputHandling: Stop kinetic after zoom
Stop kinetic scrolling after having used Ctrl + Touchpaad to zoom.

Closes #165
2024-01-04 21:50:34 +01: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
88099b1ec9 image/zoom: Make code more readable 2024-01-04 14:37:11 +01:00
Sophie Herold
56625f2309 image/zoom: Store pointer target through animation
Closes #48 #287
2024-01-04 14:37:04 +01:00
Sophie Herold
a0e4791e6b image/zoom: Functions to calculate required adj 2024-01-03 00:49:50 +01:00
Sophie Herold
fe43bc3a4c metadata: Centralize many loose ends 2024-01-01 22:43:30 +01:00
Sophie Herold
de0446bc32 print: Fix height entry having wrong upper limit
Fixes #294
2023-12-30 22:26:38 +01:00
Sophie Herold
f14cb540eb decoder: Use glycin 1.0 2023-12-29 20:10:04 +01:00
Sophie Herold
0e490f38ad print: Init preview image more cleanly 2023-12-27 00:12:44 +01:00
Sophie Herold
db6a7e7f2a image: Move most functions to imp module 2023-12-27 00:12:35 +01:00
Sophie Herold
3d5ef4038e image: Rename background_color module 2023-12-26 22:28:45 +01:00
Sophie Herold
139bd4ebb2 decoder/tiling: Make shared frame buffer a struct 2023-12-26 22:09:07 +01:00
Sophie Herold
6827a9c176 print: Use LpImage for preview 2023-12-26 21:51:39 +01:00
Sophie Herold
e387d8dc66 image: Check realized before using surface
This avoids crashes in early calls to scaling()
2023-12-26 18:36:26 +01:00
Sophie Herold
d3cd32e090 code: Drop async-std dependeny 2023-12-25 20:53:46 +00:00
Automeris naranja
4af0159341 appdata: Set developer name to "The GNOME Project"
GNOME core apps have "The GNOME Project" as the
developer name.

Closes https://gitlab.gnome.org/GNOME/loupe/-/issues/291
2023-12-24 14:46:10 -03:00
Sophie Herold
410e71141f window/controls: Keep headerbar outside fullscreen 2023-12-22 23:41:29 +01:00
Sophie Herold
4a7ef27853 window: Move overlay controlling to own module 2023-12-22 22:52:43 +01:00
Sophie Herold
2864eb7cc3 print: Only show one size input for percent 2023-12-22 21:46:41 +01:00
Sophie Herold
d138750448 print: Adjust 100% to SVG physical dimensions
Some SVGs store there size in cm or inch. With this change, the 100% in
the print dialog is calculated according to that physical size.

Closes #141
2023-12-22 21:44:36 +01:00
Automeris naranja
26abaa73e7 print: Fix indentation 2023-12-21 22:59:27 -03:00
Automeris naranja
02762a394d print: Add missing mnemonics
Closes https://gitlab.gnome.org/GNOME/loupe/-/issues/292
2023-12-21 22:59:24 -03: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
d185973815 windowTitle: Add custom window title widget
Fixes #202
2023-12-20 19:28:22 +00:00
Sophie Herold
d39bd774d5 main: Also follow glib env vars for logging
Closes #193
2023-12-19 19:42:10 +00:00
Sophie Herold
127986a8ea window: Don't reset timeout on changing images
Issue #288
2023-12-19 15:25:15 +01:00
Sophie Herold
2648295a18 code: Reformat with group_imports=StdExternalCrate 2023-12-07 20:33:19 +01:00
Matteo Nardi
81c9030288 window: fix show-properties setting bug
Fix issue in previous commit when having multiple windows.
Steps to reproduce:
- enable properties in window A and window B doesn't have them enabled
- switch an image in window B
- the properties would be shown

Co-authored-by: Sophie Herold <sophie@hemio.de>
2023-12-07 15:25:26 +00:00
Matteo Nardi
5e32cfa1df window: remember image property visibility state
Added GSettings support to Loupe. Inspiration was taken from Fractal:
LpApplication will contain `gio::Settings` and all code needing them
will reach them as a singleton by calling `g_application_get_default`.
This design makes the settings dependency less explicit than dependency
injection, but allows for shorter code when new settings will be added
across different parts of the application.

A `show-properties` setting is added for remembaring the image property
sidebar state. It's read by LpWindow when the current page changes, and
saved when toggling the sidebar. When no image is being shown, the
sidebar is always hidden, while the setting remains unchanged. The
sidebar state will be restored when a picture is opened.

Closes #147
2023-12-07 15:25:26 +00:00