Commit graph

1231 commits

Author SHA1 Message Date
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
Christopher Davis
5bcf534142 build: Add ci profile that uses --release
As we add more rust crates in performance-critical places,
we run into some performance issues with debug builds.
This makes it hard to get a good feel for the performance
of the application, as something may be slow simply because
it's not been optimized by the compiler.

This commit adds a ci profile to our meson options,
and adjusts our CI configuration to use it. Regular
builds should continue to use the development profile.

Also renames `default` to `release`
2023-03-01 13:05:19 -05:00
Automeris naranja
6857f2c921 window: Change AdwStatusPage title to "View Images"
Fixes https://gitlab.gnome.org/Incubator/Submission/-/issues/1#note_1654093
2023-02-24 19:14:44 -03:00
Lubosz Sarnecki
30136f9050 code: Fix some typos.
Fix some typos, mainly in comments with the power of
Builder's spell correction.
2023-02-21 00:19:05 +01:00
Christopher Davis
c84436b3b0 README: Add link for aarch64 bundles
Also adds a description to help users figure out when
to use which bundle.
2023-02-19 05:42:22 +00:00
Sophie Herold
449742173b image: Fix pan direction for pinch on touchscreen 2023-02-19 01:45:57 +00:00
Sophie Herold
004ebd5615 cargo: Update dependencies 2023-02-15 17:04:59 +01:00
Sophie Herold
8a46ef32c6 propertiesView: Fix opening flap on drag gesture
This only fixes opening the flap on touchscreens. Preventing
close is much harder. But hopefully wil be fixed upstream.
2023-02-14 22:42:20 +00:00
Sophie Herold
70d8d00a3d imageView: Reset zoom and rotation on page change
Keeping zoom or rotation would be inconsistent since it's
only preserved while images are cached.

Close #65
2023-02-12 20:39:40 +00:00
Sophie Herold
9c51dea6d1 image: Fix rotation gesture on touchscreens
Use angle-delta instead of total angle. Total angle is
absolute on touchscreens.
2023-02-12 20:24:28 +00:00
Sophie Herold
f87a1b7131 data: Update metadata for incubation
Also add some missing appstream information
2023-02-12 19:49:06 +00:00
Sophie Herold
526ccbaec6 ci: Add cargo deny checks 2023-02-12 19:33:06 +01:00
Sophie Herold
d14e9dca53 ci: Add cargo clippy checks 2023-02-12 19:32:22 +01:00
Sophie Herold
19c8d69dca code: Fix clippy warnings 2023-02-12 19:31:22 +01:00
Sophie Herold
1d034cd53d flatpak: Do not use builddir
This currently leads to Builder rebuilding for every branch.
With builddir=false we get incremental builds across branches.
2023-02-12 02:05:35 +00:00
Sophie Herold
75cb4ad58f slidingView: Fix swiping on touchscreens
The width of one page is measure by a unit of 1.0.
So this is the correct value
2023-02-10 21:45:34 +01:00
Sophie Herold
cf03d357a0 slidingView: Add space between images 2023-02-10 17:35:26 +00:00
Sophie Herold
6077292117 helpOverlay: Show correct gestures for RTL
Closes #38
2023-02-07 21:22:12 +00:00
Sophie Herold
caefec74b4 image: Limit rubberbanding zoom and add stiffness 2023-02-07 21:56:00 +01:00
Sophie Herold
74a067e3b8 window: Fix Left/Right button direction for RTL
This also fixes the issue with the buttons triggering
focus changes when the action is deactivated because buttons
know have their own action.

Fixes #44
Issue #38
2023-02-06 21:07:23 +01:00
Sophie Herold
69889820cd window: Add Home/End shortcuts for first/last img
This is the same as in EOG.
Also add PageUp/Down for image navigation from EOG.
Cleanup the navigation enums as well.
2023-02-06 19:14:55 +01:00
Sophie Herold
169dd454cc image: Add double click for zoom/fullscreen
Zooms on touchscreens and fullscreens otherwise.
Using the fullscreen behavior for now, since that's what
a lot of other apps do.
2023-02-06 18:40:32 +01:00
Sophie Herold
aa7a2dfd93 window: Add image deletion
Add Flatpak access to GVfs for trash:/// access for being
able to recover files (undo trash operation).

Closes #26
2023-02-02 00:45:40 +00:00
Christopher Davis
04e8646daa properties_view: Make subtitles selectable
Closes #23
2023-02-01 16:02:08 +00:00
Sophie Herold
7cf04d290a clipboard: Use same ContentProvider as for D+D
FileList is working in more cases than PNGs and has fewer drawbacks.
Also, it's the same that has been used elsewhere for a long time.

Closes #50
2023-01-31 05:17:39 +00:00
Sophie Herold
4eb8b939b3 application: Add shortcuts for paning the view
Closes #54
2023-01-31 04:56:58 +00:00
Christopher Davis
0d74083cf8 propertiesView: Do not propagate natural height
Propagating the height resulted in new window dimensions not
fitting to images.
Use ScrolledWindow instead of PreferencesPage to have
control over propagate-natural-height.
2023-01-31 04:29:29 +00:00
Sophie Herold
ce1cb0d299 slidingView: Add RTL support
Issue #38
2023-01-31 01:08:56 +00:00
Sophie Herold
d533124daa slidingView: Implement swipe gesture (AdwSwipeable) 2023-01-31 01:08:56 +00:00
Sophie Herold
74d148572f image: Fix image centering creates blur
Ensure to only move by physical pixel values
2023-01-30 04:25:01 +00:00