| Age | Commit message (Collapse) | Author |
|
Since NautilusFileChangesQueue is called from multiple threads,
a simple NULL check can't prevent init from happening twice.
Use GOnce to make sure we only init once and gain some (tiny)
performance benefit over the NULL check.
|
|
Credit to Antonio for mentioning this.
|
|
As a follow-up to the previous commit, propagate through the
removal pipeline the contextual information that the file was
unmounted.
This is going to be used next commit.
|
|
The window slot is using a complex logic to know when the current
location is gone due to being unmounted, and it works only for the
root location of the mount. Ideally we should do the same if the
current location is anywhere in the unmounted hierarchy.
NautilusMonitor gets about unmount events for all native files,
and forwards this through this pipeline, resulting in the file
being marked as gone and the NautilusFile::changed being emitted.
-monitor -> -file-changes-queue -> -directory-notify -> -file
So, we need to additionally channel the information that the file
was unmounted through this pipeline.
As a first step, introduce a new path to queue unmount events. For
now, it just conflates then with other removals, but this lays the
ground for behavior changes next commit.
|
|
consume_all is always true
Let's take that assumption to simplify things.
|
|
It has no use since the "icons on desktop" removal.[1]
[1] commit 74dd9c9f72002d482c898a704bb5b95655e35e08
|
|
It's really annoying having to setup a local autocleanup variable in
every function we want to use the NautilusTagManager API.
Use a NautilusUndoManager-like API instead, with new() returning a
reference and get() not.
|
|
It's unused because we no longer handle icons on desktop.
Also, the type is gone in GDK4.
|
|
We don't rely on tracker-miner-fs's rename tracking for starred files
anymore, as explained in 29105fc9f6abf2eca6f986104763d21b9f22f0fb.
However, losing track of starred files, when they or their containing
folders are renamed or moved, is a major regression for this feature.
The common case is that the operation is performed using this very app,
so, we can largely restore the feature by updating URI on every rename
and move operation we perform.
Additionally, this allows us to finally close a couple of old issues.
Fixes https://gitlab.gnome.org/GNOME/nautilus/-/issues/161
and fixes https://gitlab.gnome.org/GNOME/nautilus/-/issues/169
|
|
|
|
And make the style of Nautilus the same for all files.
Hopefully we can fix all the style issues we can find in the next days,
so expect a little of movement on this.
https://bugzilla.gnome.org/show_bug.cgi?id=770564
|
|
And fix make distcheck.
Although libnautilus-private seem self contained, it was actually
depending on the files on src/ for dnd.
Not only that, but files in libnautilus-private also were depending on
dnd files, which you can guess it's wrong.
Before the desktop split, this was working because the files were
distributed, but now was a problem since we reestructured the code, and
now nautilus being a library make distcheck stop working.
First solution was try to fix this inter dependency of files, but at
some point I realized that there was no real point on splitting some of
those files, because for example, is perfectly fine for dnd to need to
access the window functions, and it's perfectly fine for the widgets
in the private library to need to access to all dnd functions.
So seems to me the private library of nautilus is somehow an artificial
split, which provides more problems than solutions.
We needed libnautilus-private to have a private library that we could
isolate from extensions, but I don't think it worth given the problems
it provides, and also, this not so good logical split.
Right now, since with the desktop split we created a libnautilus to be
used by the desktop part of nautilus, extensions have access to all
the API of nautilus. We will think in future how this can be handled if
we want.
So for now, merge the libnautilus-private into src, and let's rethink
a better logic to split the code and the private parts of nautilus than
what we had.
Thanks a lot to Rafael Fonseca for helping in get this done.
https://bugzilla.gnome.org/show_bug.cgi?id=765543
|