| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
It actually means that there is some data from search engine,
and that is valid and that is ready to be read.
Also add an explanation about why we need this property and
how it works.
|
| |
|
| |
|
|
|
|
|
|
|
| |
It is confusing with all the finished/done-loading signals
all around. This actually what it does is mark the directory as
ready to read from. Also, it connects the pending clients callbacks.
So also factor out it to make sure the difference of those actions.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It was working as:
- Search directory starts a new search
- Search engine starts all search providers, each one in its
own thread.
- User changes query
- Search engine stops all search providers
- Searchs providers, since they are in its own thread, cancel
in a unknown time.
- Search directory starts a new search, even before all providers
are finished.
- Search engine is marked as need to restart.
- Search providers finished.
- Search engine emits finished signal, since all search providers
now are stopped.
- Clients doesn't have a way to know if the engine
actually finished searching the current search, or the previous
search that the client asked to stop. That might confuse clients
if they ask for results.
- Search engine restart the search providers without noticing the
client, that thinks that the latest search it started was finished
already.
So to fix this confusion, only report that the engine actually finished
if the engine is not going to restart the search providers.
In this way a client can start a batch of consecutive searches without
the risk of getting search finished signals from previous searches.
Clients now will always get the search-finished signal of the
latest search they started.
|
|
|
|
|
|
|
|
|
| |
We were emitting the done loading signal everytime the search
directory were ensure loading. But we were ensuring loading in more
cases than it actually done loading.
We are done loading when the search engine finishes. So only emit
the done loading signal at that moment.
|
|
|
|
|
|
|
| |
We were marking as search finished before the search thread actually
finished the operation.
Wait to mark as finished when the search thread actually reach
its cancel.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|