| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
NautilusView directly access NautilusWindow to make sure
the window is shown when the view starts loading, and not
before this.
Since we're restricting communication between NautilusView
and other widgets, the view shouldn't ask the window directly.
Fixed by making NautilusWindowSlot handle the visibility of the
window on NautilusView::begin-loading signal. Also, this patch
gets rid of an old code that updates the title of supposedly
hidden slots that were present or created before showing the
window. which is something doesn't happen anyomore.
https://bugzilla.gnome.org/show_bug.cgi?id=753356
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
NautilusView is an abstract class that manages
various context menus, depending on the view's
location, the clicked point and the implementation
details.
While this in theory provides a good isolation
from other classes, in practice NautilusView
manages the pathbar context menu, which is not
necessary, as it doesn't depend on the current
view anymore after the GAction rework.
Fix that by making NautilusPathBar manage the
context menu by itself instead of the view. To
cleanly implement that, add a new signal that
matches GtkPlacesSidebar::open-location signature,
and adapt NautilusWindow to reuse the existing
methods to handle pathbar's new signal.
https://bugzilla.gnome.org/show_bug.cgi?id=753158
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
NautilusWindow immediately displays the newly opened
tab or window and, for that to happen correctly, an
old hack is present.
This hack, however, added some unecessary complexity to
NautilusWindow code, and is completely obsolete nowadays.
It was needed to fix bug 679640, but seems like the real
cause of the bug was fixed and this hack does nothing,
appearently.
Remove the old hack and lets see if will continue to behave
properly.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Nautilus classes add custom methods to grab the focus
differently according to the class.
The problem with this approach, however, is that we end
up with more code coupling, since it's necessary to include
more headers to use the custom grab methods.
To fix that, make classes override GtkWidget::grab_focus
method and remove the custom methods, so widgets can simply
call gtk_widget_grab_focus.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit 2e1ac98 introduced the new behavior of persistently
storing the show-hidden setting whenever it changes.
This, however, caused an update cycle where NautilusDirectory
tracked the show-hidden change and invalidates the mime types
of the files, sending the apropriate ::file-changed signals.
When NautilusView receives the signals, it unconditionally
updates the action states, which sets the show-hidden action
again, causing another change on the setting and re-triggering
the NautilusDirectory signals, which are detected by NautilusView
and perpetuating the cycle.
Fix that by only storing the show-hidden setting when it
differs from the current one.
|
|
|
|
|
|
|
|
|
|
|
| |
NautilusWindowSlot currently manages the floating bar,
requiring access to the underlying model of NautilusView
and making the code even more coupled and adding more
complexity to the codebase.
Fix that by delegating the management of the floating
bar to NautilusView itself, and turn NautilusView a
GtkOverlay subclass in order to facilitate the transition.
|
|
|
|
|
|
|
|
|
|
|
|
| |
NautilusWindowSlot is the class responsible for managing
the empty views, causing even more code coupling and
blurring the lines of functionality of each class. Also,
it requires that the slot access the underlying model
behind NautilusView, something we're avoiding in order
to get Nautilus ready for future modifications.
Fix that by delegating to NautilusView the responsability
to manage the empty views, and not NautilusWindowSlot.
|
| |
|
|
|
|
|
|
| |
I put a new attribute, but allow_stop is actually meaning the
view is busy. So use that attribute and adjust its behaviour
a little to fix some corner cases.
|
| |
|
| |
|
|
|
|
| |
Since it's only interesting if searched by search relevance.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The first time we create open a location in the slot there
is no view at all...
|
|
|
|
|
|
|
| |
When the folder the user opens is empty we were providing no
feedback, which cause confusion.
Show an icon with a label for that case, similar to the feedback
we provide when no search results are available.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now that we are sure that every time the search directory done-loading
signal is emitted only when the search engine finished successfully,
we can make the floating bar act appropriately, and not hide it
just when the view was done loading new files, but instead when the
search engine actually finishes.
Also, we were hiding the spinner always that we set a file selection,
and selection is necesary to press enter to open the
first search result. Now that we can track if the view is actually busy,
don't hide the spinner even with a selection set.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
So the current view don't keep polling files info while we try
to actually change the location.
This was causing nautilus to be slow like hell on some situations,
since the new location waits until it has it's files info ready
to actually change the view, but the old view was also polling files info.
Given that the priority of both actions are the same, even if they are
in different threads, one of those could cope the other one.
So just avoid this situation (although there is similar issues like this
with the current code...).
|
|
|
|
|
|
|
|
|
|
| |
Now that stopping the view also stops the model search,
make sure we disconnect from its signals before, so we don't
show the no search results because we got a done-loading
with an empty directory because we stopped the search.
We want to let the view with it's current items, even if the
directory stopped to search and it cleared its files (and therefore
it reports 0 files).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We were stopping the loading and searching of the view when location
changed or when location change was canceled, etc.
Before it was fine because stopping the view was not making the
actual directory behind stop.
In previous commits we now make the model stop loading/searching
if the view stops as well, so now that this has a different meaning,
we don't want to stop the new directory, since it could be the one
that will become the current directory.
So just don't stop the current view for simple location changes.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Until now we were not stopping the search if no callbacks from clients
were present. That happened when the user canceled the search while the
search directory was waiting for its files metadata, since that async
call was not canceled.
This was actually making nautilus freeze on situations where the search
was so expensive that other threads couldn't cope with it.
To fix it, make sure we stop the search if no clients are present as
callbacks, and make sure we stop the load of the view when we cancel the
async call in the stop_loadin handler of the view.
|
|
|
|
|
|
|
|
|
|
|
| |
We stop loading the view on destroy, and we add a check on
done_loading to not do some things if we are on destroy.
But the check was checking for the slot not having a window,
which actually has if the view is being destroyed while the slot
is not, like when switching views.
To avoid this crash, mark the model as NULL before all the checking,
and check for the model, not for a window in the slot.
|
| |
|
|
|
|
|
|
|
| |
With latests commits we changed the finished signal to report
also the search engine status.
I forgot to change it for the shell-search-provider as well,
which was making nautilus crash when searching on shell.
|
|
|
|
|
|
|
|
|
|
|
|
| |
We recently made a change that the view switchs automatically
to list view if it is searching.
But we introduced a bug, we were setting as default list view in
that case, and therefore if nautilus was closed while searching
the default view mode changed to list view.
Fix that and only set as default list view if we are not searching
and "switch to list view on search" setting is set.
|
|
|
|
|
|
|
|
| |
Until now the user was not receiving feedback whether the search
finished or not when there were no results, resulting in an empty view.
To provide a better search experience, provide feedback to the user
in form of a icon + label in the view whether the search finished with
no results.
|
|
|
|
|
|
|
|
|
|
|
| |
GtkMisc is deprecated since 3.14 release, being replaced
by GtkWidget's halign & valign, and GtkLabel's xalign &
yalign.
Nautilus, however, did not updated its codebase to match
the new deprecations.
Remove any reminescent gtk_misc* calls from the codebase.
|
|
|
|
|
|
|
|
|
|
|
|
| |
In 3.16 release gdk_cursor_new was deprecated in
favor of gdk_cursor_new_for_display.
Nautilus, however, did not updated to use the
proposed function, and is still using the deprecated
method.
Fix that by using the proposed gdk_cursor_new_for_display
method.
|
|
|
|
|
|
|
|
|
|
|
| |
NautilusView is the abstract class that
concrete views such as icon or list view
inherit.
In its header, there was a method that was
used nowhere throughout the code.
Remove this unused method.
|
|
|
|
|
| |
Now we put the relative path, and we don't show the path if
the current location is the same as the target file.
|
|
|
|
|
|
|
|
|
|
| |
When searching, list view is a better view given that we can see
more attributes of the files, for instance, the location is
a important part for discerning files in the current folder or
in nested folders.
For that, switch to list view while searching, and disable this behavior
if the user changes the view mode while searching.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Since we don't longer show it in Recent, the only places
where we were showing it.
|
|
|
|
|
| |
Since we always want to order by recent...
This matchs with latests changes on gtk+ file chooser.
|
| |
|
|
|
|
|
| |
Now GtkPlacesSidebar uses GMenu, so the API for the populate-popup
signal changed. Update acordingly to make context menus work again.
|
|
|
|
|
|
|
|
| |
In the operation notification we show a "Open X" button to
open the destination folder of a operation.
But it's not useful if the current location in the view is
the destination folder itself.
So don't show the open button in that case.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the operations popover is not visible, we have to give
feedback to the user about if an operation finished.
For that, show a in-app notification in case the operation popover
is closed and a operation finishes. Also, to link the notification
with the operation button, make the button pulse for a second.
The code interaction between nautilus-file-operations and nautilus-progress-info
start to get crowed. At some point, the best we can do is delegate all the
progress UI part to nautilus-progress-info, providing all the needed information
like the CommonJob, TransferInfo and SourceInfo; so we avoid the current
odd interaction between them. This is a future work.
|
|
|
|
|
|
|
|
|
|
|
|
| |
We want to not hide the operations and the operations button
in the toolbar if the popover is open. For that, we need to
allow operations widgets to remain alive even when the operation
is finished.
For that we need to add a new status state to copying/moving/trashing,
like copied/moved/trashed.
On the way, improve the wording of file-operations to match the mockups,
and also make the report operations code more consistent to each other.
|
|
|
|
|
|
|
|
|
| |
Now operations reside in the toolbar, in form of a button with
a popover. In this way we avoid to have a nautilus window hanging
around for it.
When no nautilus window is open, the persistence handlers of nautilus
are enough. This use a notification if the server supports it or
a systray icon in case it doesn't.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We changed to only show access time for sorting in the sort menu
in 3.16 to avoid having both sorting options always present.
But for folders like Downloads, the most useful sorting criteria is
actually modified time, since it orders the files in downloading order.
Actually modified time is more useful than access time is all cases
except in "Recent", which what we actually want is the most recent
accessed or modified file.
For that, show only Modified Time sorting menu item in all places
except in "Recent", where we will show only Access Time.
https://bugzilla.gnome.org/show_bug.cgi?id=748185
|
|
|
|
| |
Following previous decision for others preferences.
|
|
|
|
|
|
| |
So we can remove it from "Preferences" and don't confuse the
user with a temporary preference (the one in the toolbar) and
permanent preference (the one in "Preferences")
|
|
|
|
|
|
|
|
|
|
| |
--no-desktop is an option to allow for running Nautilus under other desktop
environments as well as GNOME without clobbering the foreign desktop
environment's desktop.
https://bugzilla.gnome.org/show_bug.cgi?id=750528
Signed-off-by: Chow Loong Jin <hyperair@debian.org>
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=738692
|