We already had attacks on tarballs on the original package levels with
XZ Utils. If we bundle a lot of tarballs in every of our tarballs, that
makes things even harder to trace.
Code generation messes with the actual source directory and makes it
impossible to use tools like clippy without having generated the config
via meson.
The bug that the geometry isn't returned in app pixels on wayland
without scale-monitor-framebuffer was fixed in GDK. Therefore also
require newer GTK version.
Added GSettings support to Loupe. Inspiration was taken from Fractal:
LpApplication will contain `gio::Settings` and all code needing them
will reach them as a singleton by calling `g_application_get_default`.
This design makes the settings dependency less explicit than dependency
injection, but allows for shorter code when new settings will be added
across different parts of the application.
A `show-properties` setting is added for remembaring the image property
sidebar state. It's read by LpWindow when the current page changes, and
saved when toggling the sidebar. When no image is being shown, the
sidebar is always hidden, while the setting remains unchanged. The
sidebar state will be restored when a picture is opened.
Closes#147
We don't install anything to $datadir/glib-2.0/schemas right now,
on NixOS which install packages in separate prefixes, try running
glib-compile-schemas will fail with the following:
```
Running custom install script '/nix/store/...-glib-2.77.1-dev/bin/glib-compile-schemas /nix/store/...-loupe-45.beta/share/glib-2.0/schemas'
--- stdout ---
--- stderr ---
Error opening directory “/nix/store/...-loupe-45.beta/share/glib-2.0/schemas”: No such file or directory
FAILED: install script '/nix/store/...-glib-2.77.1-dev/bin/glib-compile-schemas /nix/store/...-loupe-45.beta/share/glib-2.0/schemas' exit code 1, stopped
FAILED: meson-internal__install
/nix/store/...-meson-1.1.1/bin/meson install --no-rebuild
ninja: build stopped: subcommand failed.
error: builder for '/nix/store/...-loupe-45.beta.drv' failed with exit code 1;
```
Our help documents are unfinished, and we shouldn't ship
unfinished documentation in our initial release.
We can revert this commit when we're ready to write the
documents properly.
Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/156>
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