Commit graph

449 commits

Author SHA1 Message Date
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
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