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
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
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.
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
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.
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.
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`
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