The copy-paste of libgnome-desktop's thumbnailing code is missing a
symbol that is defined by the libgnome-desktop build, which breaks
Nautilus's own build.
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 nightly flatpak builds after
ce54a25275
fail due to an unfortunate combination of compiler flags. This commit
disables the error, since it’s rather inconsistent when the warning is
spit out.
Instead of checking explicitly for some options, we allow any value as
profile and assume is a development snapshot.
This will help with having Flatpak bundles/refs of different branches
with different purposes.
_GNU_SOURCE is required to be able to use POSIX functions that are not
available on non-Linux system. Specifically, we use sys/types for
requesting user accounts with getpwent and similars.
Usually systems seems to compile with this set, however some systems
like RHEL doesn't assume it so.
Since this is more correct to set it explicitly, this commit does that
by passing an argument to meson project.
In theory, it would be possible to just drop the GAIL code and keep the
header, but, given that NautilusCanvasItem is the only remaining
consumer, the needed bits can be moved over.
This is one of prerequisite steps to take before fully switching to GTK+
4, as gnome-desktop has code, depending on GTK+ 3. Since the
thumbnailing machinery is self-contained, it can easily be just copied
over.
Selecting rows using CTRL/SHIFT with left click is different
to right click as GtkTreeView's default code does not support
SHIFT+CTRL selection.
We want consistency between the two behaviours.
We fixed this by replicating the left click behaviour in the
right click case. The GTK dependency is also bumped in order
to use GtkTreePath autocleanup.
When hacking on Nautilus, it is very inconvenient to have to close any
running instance before running the built version. This commit enables
running three different instances by changing the application ID.
Beside the default “profile” is one crafted for stable flatpak
releases and one for development. The stable flatpak profile adds an
identifying mark to the about dialog to aid collecting information in
bug reports. The development profile is that plus additional styling to
help visually identify the development instance. It also will be used
when generating Flatpak bundles with the help of CI.
Generally, the implementation is slightly hacky to allow all the
different workflows, spanning from regular installations to GNOME
Builder flatpak builds, as each comes with its own quirks.
Sometimes, while working with the files_view_get_selection function, the
freeing is not done properly. We leak a lot of objects as of this and we
need a way to fix it.
To avoid leaking, we implemented g_autoptr support for NautilusFile in order
to have at our disposal automatic, deep cleanup whenever we use the function.
In this patch, we changed all calls to use g_autolist appropriately and bumped
the glib dependency up to 2.55.1 (in order for us to use g_autolist).
Fixes https://gitlab.gnome.org/GNOME/nautilus/issues/226
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.