While the code is imported, indentions on the current files are a mess.
This makes it more difficult for contributors to get things right, so
incude these files in the uncrustify script and format them.
This changes the way sampling rate units get displayed, it will now append 'kHz' for values larger than 999Hz.
Additionally, this also includes a thousands separator for kHz for better presentation.
Fixes#3237
Calling refresh_extension_model_pages() might cancel a pending
IO operation and free the ImagesPropertiesModel. Bailout after
being cancelled instead of using a freed data.
We ask to append a failure message with NULL value, and then don't
actually append it because of the value being NULL. This makes no
sense, so fix it.
Despite that, in order to improve visuals, move the failure message
to the value and use an existing generic error string as title.
The properties extension no longer creates a widget, so it's no
longer a simple task of packing that widget into a window.
We never use that test program anyway; manual testing can and
should be performed in the main application.
gtk4-builder-tool tries to port uses of `can_focus` to `focusable`,
but in real code you generally don't need to set `focusable` - the
defaults are always sensible, and removing the explicit property
means less code without any behavior change.
Now that gtk4 code is in place, enable build of audio-video-properties
again. Previously disabled in 9f8d4c9e11
However, we must still disable tests for the time being, until we port
them away from gtk_main(), together with other tests already disabled
due to gtk4 by commit 388b2cbb09
Use new functions and syntax. Minor code cleanup in order to
make debugging easier. GTK4 doesn't use border width, use margins
consistent with main properties page.
The new major version of the toolkit is a requirement to fix old issues and enable future enhancements.
Update symbols and adapt logic to API changes.
Update and simplify UI definitions.
Update local copy of places sidebar and places view.
Replace dependencies with their GTK4-compatible successors.
Make a minimum changes required to build and run, with known
regressions to be fixed in future commits.
For a detailed breakup of the changes, see the 36 commits-deep
log leading to d5763facb1e5045251171ed1273dca0859f3542f.
This is the main part of https://gitlab.gnome.org/GNOME/nautilus/-/issues/276
GTK discourages subclassing widgets.
The only reason we are subclassing here is to add struct fields. But we
don't need to subclass a widget for that. We don't even need to subclass
GObject. A plain data struct is enough.
Build log contains deprecation warnings for gexiv2 functions.
Replaced `gexiv2_metadata_has_tag()` with
`gexiv2_metadata_try_has_tag()` and `gexiv2_metadata_get_orientation()`
with `gexiv2_metadata_try_get_orientation()`
Closes: #2033
The build log contains warnings about deprecated gexiv2 functions. Let's
port to the new API, unpin exiv3 and gexiv2 dependencies in flatpak manifests
and bump the build dependency accordingly to get rid of the warnings.
Images with EXIF metadata can contain an orientation tag, which indicates the
image should be rotated. In the Image tab of the Properties dialog, swap the
width and height if the image is rotated by 90 or 270 degrees.
Fixes#1590.
"Frames per second" string in audio-video-properties tab was unavailable for translation.
To fix this, handle the string with g_dngettext() and allow for both singular and plural translation.
Closes https://gitlab.gnome.org/GNOME/nautilus/issues/990
‘framerate’ and ‘bitrate’ aren’t dictionary words; add a space to make
them ‘frame rate’ and ‘bit rate’ instead.
This makes them match the ‘sample rate’ string also in that file.
Signed-off-by: Philip Withnall <withnall@endlessm.com>
The code is quite stable and this is basic functionality which is going to be
better in Nautilus rather than relying on extensions, given the quite bad
extension system Nautilus has.
This will also help with the port to gtk4, so we rely in yet another important
extension providing properties pages (which in turn export gtk3 widgets).
The traditional include guards are not as easy to handle
and require extra thought into the names.
Pragma once is an easier, more contributor friendly approach.
Closes https://gitlab.gnome.org/GNOME/nautilus/issues/294
general: Remove include guards in favor of pragma once
The traditional include guards are not as easy to handle
and require extra thought into the names.
Pragma once is an easier, more contributor friendly approach.
Closes https://gitlab.gnome.org/GNOME/nautilus/issues/294
Now that the image property page is an extension, both extensions can be
held under the same subdirectory. This commit also makes the image
property extension optional.
The image property page is already implemented using the extension API,
but it’s not an extension and relies on a library that is not essential
to Nautilus. This commit builds the image properties as an extension and
introduces some minor refactoring to the code.