Commit graph

7 commits

Author SHA1 Message Date
Christopher Davis
ae41a77521 properties_view: Move expressions to UI files
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.
2023-03-05 02:13:41 +00:00
Christopher Davis
04e8646daa properties_view: Make subtitles selectable
Closes #23
2023-02-01 16:02:08 +00:00
Christopher Davis
0d74083cf8 propertiesView: Do not propagate natural height
Propagating the height resulted in new window dimensions not
fitting to images.
Use ScrolledWindow instead of PreferencesPage to have
control over propagate-natural-height.
2023-01-31 04:29:29 +00:00
Sophie Herold
cc52f7a542 propertiesView: Move location to top of section
It just looks better with icon and it makes sense content wise imo
2022-12-19 18:44:23 +01:00
Sophie Herold
4b9c91f8df exif: Show device maker more consitently
Also, don't call it camera because it can be a scanner etc as well
2022-12-19 18:44:08 +01:00
Sophie Herold
65808f5894 propertiesView: Show basic EXIF data
Use libgweather to determine the city for EXIF GPS coordinates.
Make ImageMetadata a GObject to use it's properties in UI.
2022-12-12 11:31:27 -05:00
Christopher Davis
ba4661031f Implement Properties
Implement a properties sidebar. In order to prevent
the UI from freezing, we use futures to load and cancel
loading file information. We also make use of
`gdk_pixbuf` and `svg_metadata` in order to get the file's
metadata before the file fully loads, meaning there's
little to no delay between changing files and seeing
the metadata for large images.

The properties widget uses expressions and
properties to avoid glue code for setting each label,
allowing us to have a clean separation between UI
and data.
2022-08-02 19:31:44 -04:00