Commit graph

260 commits

Author SHA1 Message Date
Sophie Herold
b8d5f833f3 decoder: Cleanup and better image format detection
Closes #97

Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/140>
2023-03-14 03:59:21 +01:00
Sophie Herold
42d558d22f propertiesView: Use image dimensions from decoder
This also shows the units for SVG dimensions if not pixels.

Issue #43

Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/136>
2023-03-14 02:31:07 +00:00
Christopher Davis
490a46d7c4 flatpak: Use sparse registry protocol
Rust 1.68.0 introduces the sparse registry protocol,
which significantly reduces the amount of time cargo
takes to fetch the crates.io index. This new
protocol only downloads the information for crates we
need, rather than all crates in the registry.

See
https://blog.rust-lang.org/2023/03/09/Rust-1.68.0.html#cargos-sparse-protocol

Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/134>
2023-03-14 01:40:14 +00:00
Sophie Herold
a2a9b4134b propertiesView: Use decoder format
Use the format that we actually used when decoding.
The mime type is usually derived from the file extension
which might not always be correct.

Issue #43

Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/132>
2023-03-14 00:50:40 +00:00
Sophie Herold
f8e64d9805 trash: Use non-existing name when restoring image
We usually use the original path of the image.
For the rare case the original file name exists we create
one that is not used yet.

Closes #66

Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/130>
2023-03-14 00:07:08 +00:00
Sophie Herold
ddf4b8c2fa decoder: Load HEIC/x265 as plugin
Closes #85

Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/123>
2023-03-13 23:12:07 +00:00
Nathan Follens
670c79bc1a Add Dutch translation 2023-03-13 21:44:27 +00:00
Hugo Carvalho
86b39033d2 Add Portuguese translation 2023-03-13 00:19:12 +00:00
Anders Jonsson
d2fd4b4ab5 Add Swedish translation 2023-03-12 22:27:24 +00:00
Quentin PAGÈS
21bfe51b0e Update Occitan translation 2023-03-12 19:47:29 +00:00
Yuri Chornoivan
8b457fbbc4 Update Ukrainian translation 2023-03-12 17:26:12 +00:00
Asier Sarasua Garmendia
8541a1c55a Add Basque translation 2023-03-12 09:51:47 +00:00
Efstathios Iosifidis
fc44ee3992 Add Greek translation 2023-03-11 18:54:46 +00:00
Quentin PAGÈS
2387f0fe03 Add Occitan translation 2023-03-11 18:19:48 +00:00
Seong-ho Cho
b14da22c80 Add Korean translation 2023-03-11 16:29:18 +00:00
Martin
07303591f4 Update Slovenian translation 2023-03-11 07:46:27 +00:00
Ekaterine Papava
90c651c2f7 Update Georgian translation 2023-03-11 05:45:38 +00:00
Sabri Ünal
e0876ef6d3 application: Update copyright years
Just update copyright years.
2023-03-11 00:49:03 +00:00
Sabri Ünal
8743149cbb ui: Mark two tooltips translatable
- Copy to Clipboard
- Move to Trash
2023-03-11 00:49:03 +00:00
Sophie Herold
a0ce234946 image: Limit SVG zoom to RSVG limits
See <https://gitlab.gnome.org/GNOME/librsvg/-/issues/938>
for details about the problem.

Closes #88
2023-03-11 00:06:51 +00:00
Christopher Davis
dfebfb7470 application: Update about window
* Use team name instead of just my name
* Don't use `vec!` macro
* Add translator-credits

Closes https://gitlab.gnome.org/Incubator/loupe/-/issues/98
2023-03-10 18:31:02 -05:00
Christopher Davis
f5b027c496 po: Rename POTFILES to POTFILES.in
Our tooling looks for POTFILES.in specifically.
2023-03-10 18:14:59 -05:00
Yuri Chornoivan
884bbdff83 Update Ukrainian translation 2023-03-10 19:25:33 +00:00
Anders Jonsson
f67d354026 data: Grammar fixes in description 2023-03-10 18:53:38 +00:00
Sophie Herold
074b6b54e7 code: Fix new clippy hint 2023-03-10 19:17:22 +01:00
Martin
4704edd6cf Add Slovenian translation 2023-03-10 15:58:29 +00:00
Yuri Chornoivan
05b58b43db Add Ukrainian translation 2023-03-10 13:13:35 +00:00
Daniel Mustieles
dafdc97407 Add Spanish translation 2023-03-10 09:54:30 +00:00
Yosef Or Boczko
051428cdd4 Add Hebrew translation 2023-03-10 07:38:56 +00:00
Ekaterine Papava
d645e19e7e Add Georgian translation 2023-03-10 02:06:05 +00:00
Sophie Herold
9b532f93f3 propertiesView: Use strong file reference
This fixes issues with file info not loading.

Closes #96
2023-03-09 23:46:04 +01:00
Sophie Herold
5217d39cd3 tiling: Revert using append_scaled_texture
It slows down zoom and pan and has no use yet.
2023-03-08 03:00:26 +00:00
Sophie Herold
6a4ee11c76 imageView: Add only viewed images to recently used
Only adding images expclicitly opened via file browser
or drag and drop. Do not add images while browsing
SlidingView to avoid spamming recently used files.

Closes #53
2023-03-08 02:24:27 +00:00
Sophie Herold
05ef429b86 image: Add newly designed thumbnail for DnD
The old method stopped working with the new decoder setup.

The new design features a frame for contrast and rotates
images based on EXIF information.

Closes #89
2023-03-08 01:48:34 +00:00
Sophie Herold
88efb9e5fd cargo: Update dependencies get rid of ignored CVE 2023-03-08 01:08:52 +01:00
Sophie Herold
f12ff1ea4d widgets: Add some widget descriptions 2023-03-06 22:59:40 +01:00
Automeris naranja
9535b33b11 help_overlay: Rename "Primary Menu" to "Main Menu"
"Main Menu" is correct name.

https://developer.gnome.org/hig/patterns/controls/menus.html#primary-menus
2023-03-05 17:05:21 +00:00
Automeris naranja
d65bbc11f1 help_overlay: Show missing actions
This change adds the following actions to the help overlay:
- Copy image to clipboard
- Move image to trash
2023-03-05 17:05:21 +00:00
Christopher Davis
42f044c3c6 cargo: Update libgweather dep 2023-03-05 11:16:35 -05:00
Automeris naranja
5d3f74b1df window: Add mnemonic to the "Open File" button 2023-03-05 13:59:54 +00:00
Automeris naranja
e1d81fe57b window: Set Main Menu button as primary
By setting the Main Menu button as primary,
the F10 key is automatically assigned to this button.
Setting a shortcut with GtkShortcutController is no longer necessary.
2023-03-05 07:29:10 -03:00
Sophie Herold
f80ec7db56 decoder: Use image-rs, libheif-rs, librsvg
This adds proper support for a lot of image formats including SVGs.
It will be the basis for many features to come. The technical core
is an asynchronous renderer that can arrange textures in smaller tiles
which might be generated on demand.

Closes #34, #40, #41, #49

Basis for fixing the following issues #7, #27, #36, #43, #68, #71
2023-03-04 21:48:51 -05:00
Christopher Davis
4d4bc4bb38 application: Stop using expressions
This commit moves the logic from the expressions to the
window via GSignalGroup.
2023-03-05 02:13:41 +00:00
Christopher Davis
3d445f25fe window: Use GSignalGroup to watch zoom levels
This allows us to git rid of more expression code.
2023-03-05 02:13:41 +00:00
Christopher Davis
aab50af31a image_view: Switch from expressions to signal groups
Expressions have the leak issue mentioned in the previous
commit, but we were using them in a few scenarios where
they couldn't be used in UI files.

Since these expressions don't set a property but instead
trigger behavior, the appropriate API to use is GSignalGroup.
This commit switches the expressions on the image to use
GSignalGroup instead.
2023-03-05 02:13:41 +00:00
Christopher Davis
ae41a77521 properties_view: Move expressions to UI files
Currently Loupe leaks expressions created in-code. This
is because expressions need to be unwatched in order to be
dropped. Since we'd need to hold a reference to the watch
ourselves and unwatch them in dispose, our code would
become more cumbersome if we were to try to handle this properly.

This commit moves the expressions on LpPropertiesView to the
UI file, as GTK handles cleaning up the expressions it creates,
without any extra consideration on the app side.
2023-03-05 02:13:41 +00:00
Christopher Davis
34b3fb12de sliding_view: Unparent all children on dispose
This is something all GtkWidget subclasses are supposed to do
with all direct children.
2023-03-05 02:13:41 +00:00
Christopher Davis
d6fc93df6c cargo: Update tempfile dependency
Fixes a RUSTSEC advisory caused by `remove_dir_all`
2023-03-04 20:06:45 -05:00
Christopher Davis
038d9cb5c0 flatpak: Remove duplicate build options
The duplicates happened when adding support for the mold linker,
and were never removed.
2023-03-01 22:30:26 +00:00
Sophie Herold
257d154f08 image: Fix high-res mouse wheel zoom
High res scrolling is reported as wheel deltas < 1. Use a
formula that works for all delta values.

Closes #63
2023-03-01 20:31:56 +01:00