Previously, detecting unsaved changes relied on whether there are any
changes that happened in the editing view. This would mean, that after
using "Save as" unsaved changes were still assumed.
Zoom out for 16px or smaller images is usually blocked. But allow it for
zoom menu as we allow 50% via zoom menu in other situations where it is
blocked otherwise. Also, this is probably much less complex
implementation wise.
Closes#544
The best-fit calculation would consider levels >=1 for best-fit. This
seems fundamentally wrong since that should be reserved for LargeFit.
This caused zoom-in to fail since best-fit was considered instead. But
that best-fit was computed with BestFit mode since the mode changed in
between in zoom_to_full.
Fixes#556
Don't query for the actual GFile in the list, because we already have
the information from the iterator. Cache the other path segments since
they are likely to be repeated.
On a local SMB share folder with 10,000 images and 4 path segments, this
reduces the loading time from 30 seconds to 1 second.
Fixes#534
Only use a reliable mime-type. This requires that we load images earlier
in the pipe.
This also fixes warnings about mime types not being available on network
drives like SMB.
Fixes#513
Issue #534
Editing does not work correctly if PNGs or JPEGs are already rotated via
an Exif orientation entry before editing. This needs the glycin-image-rs
1.2.1 loader to work correctly.
Closes#481
On some systems, to_node -> render_texture generates empty or garbled
textures since GTK 4.18 GNOME/gtk#7464. This does not happen when using the cairo
renderer.
Closes#488
This fixes a single case of root being access from the control hide
animation. Apparently it's possible that the widget is unparented from
the window and unmaped but not yet unrefed?
Fixes#473