A message catalog can have at most a single string with a given msgid,
in this case having a branch with gettext and another with ngettext
would result in two strings with " (Edited)" as their msgid.
This can be checked via:
$ meson compile loupe-pot
INFO: autodetecting backend as ninja
INFO: calculating backend command to run: /usr/bin/ninja loupe-pot
[0/1] Running external command loupe-pot
/usr/bin/xgettext: warning: msgid ' (Edited)' is used without plural and with plural.
src/widgets/edit_window.rs:197: Here is the occurrence without plural.
src/widgets/edit_window.rs:200: Here is the occurrence with plural.
Workaround: If the msgid is a sentence, change the wording of the sentence; otherwise, use contexts for disambiguation.
Part-of: <https://gitlab.gnome.org/GNOME/loupe/-/merge_requests/578>
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
Why:
When a camera ships EXIF information that lacks any type of
offset and/or timezone information, any kind of information that
would help make a decision regarding the timezone is absent.
Forcing UTC means that most users of such cameras will end up
with datetimes reported that have nothing to do with the ones
they expect. The only assumption that holds some water, is to
assume that the picture was taken in the same timezone as the
device running Loupe and hope that's true. If it is not, it is
undetectable programmatically, and the user will have to mentally
compensate for it
What:
Switch from using from_unix_local() and parsing the timestamp of
the naive datetime as UTC to using from_local() and passing the
arguments needed
Saves the width prior to applying fill space. This saved width is reapplied when fill space is disabled directly through the toggle.
Fill space may be disabled indirectly (by changing the width/height). In those cases, the saved width is discarded.
Fixes#297
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