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.
Currently, the pkgconfig file for nautilus-extension is generated by
substituting variables in a template file. That is prone to mistakes and
requires manual tracking of dependencies. Using the pkgconfig module
from Meson helps automate much of the process.
This commit does the following:
* Canonicalize the style:
* Use two-space indentations.
* Un-Autotools-ify option names.
* Don’t align arguments, simply increase indentation.
* Don’t add a space before opening parenthesis in calls.
* Remove unused variables.
* Remove unused dependencies.
* Remove config.h.meson.
* Optimize dependencies.
* Use disabler functionality for libselinux dependency, to save lines.
We already included gdk/gdkkeysyms.h, which is generated from
X11/XF86keysym.h
Doing this, we can drop the ifdefs. Also, revert the build
configuration introduced in 2c5882aaff.
Support for special keyboard keys for actions such as Back,
Forward, Refresh, Go Home, etc. depends on this header.
We used to check for this header in configure.ac but
this was lost when porting from autotools to meson
(commit 857a90c2).
Restore this support by checking for this header with meson.
Fixes#134
Instead of using exif and and exempi for handling image metadata, use
gexiv2 for both.
This simplifies the code a lot and also makes it easy to add new tags
when needed.
Also cleanup a bit the currently displayed tags.
Note: gexiv2 is now a hard dependency when building nautilus.
A large number of core features require Tracker to work, and many of the
new features using Tracker don't have any fallback support, failing to
build when Tracker is not available, so make tracker a hard requirement.
https://bugzilla.gnome.org/show_bug.cgi?id=784940
As of 0.40.0, Meson has the ability to initialize subprojects that are
git submodules. This removes the need for a separate script to achieve
that.
https://bugzilla.gnome.org/show_bug.cgi?id=781653
EXIF and Exempi are currently only being detected due to an oversight.
This commit makes Meson define the preprocessor macros needed to use the
libraries.
https://bugzilla.gnome.org/show_bug.cgi?id=779879
As some users or developers might choose to install repo builds, they
would also have to compile the installed GSettings schema manually. This
commit adds a script that does that post-install.
https://bugzilla.gnome.org/show_bug.cgi?id=779669
Some build servers don’t have git installed, which makes the tarball
build fail when trying to update the libgd submodule. This commit adds a
check for the existence of the root meson.build of libgd before running
git.
https://bugzilla.gnome.org/show_bug.cgi?id=779603