window: remember image property visibility state

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
This commit is contained in:
Matteo Nardi 2023-12-05 17:24:53 +01:00 • committed by Sophie Herold
parent 4c352ed86a
commit 5e32cfa1df
7 changed files with 85 additions and 4 deletions

View file

@ -1,4 +1,5 @@
data/org.gnome.Loupe.desktop.in.in
data/org.gnome.Loupe.gschema.xml.in
data/org.gnome.Loupe.metainfo.xml.in.in
data/resources/gtk/help-overlay.ui
src/about.rs