summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* pathbar: handle context menuwip/gbsneto/pathbarGeorges Basile Stavracas Neto2015-08-028-285/+259
| | | | | | | | | | | | | | | | | | | | | | 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 by no means. 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
* window: remove old hackGeorges Basile Stavracas Neto2015-07-311-21/+0
| | | | | | | | | | | | | | | 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.
* project: simplify focus chainGeorges Basile Stavracas Neto2015-07-317-27/+43
| | | | | | | | | | | | | 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.
* view: change show-hidden setting only when value differsGeorges Basile Stavracas Neto2015-07-311-3/+5
| | | | | | | | | | | | | | | | | 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.
* view: manage the floating barGeorges Basile Stavracas Neto2015-07-314-329/+261
| | | | | | | | | | | 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.
* view: manage empty statesGeorges Basile Stavracas Neto2015-07-315-69/+73
| | | | | | | | | | | | 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.
* Bump gtk_minver for GtkPlacesSidebar.populate-allAlexandre Franke2015-07-301-1/+1
|
* Updated Slovak translationDušan Kazik2015-07-271-24/+6
|
* Updated Greek translationDimitris Spingos2015-07-271-480/+658
|
* Updated Czech translationMarek Černocký2015-07-251-405/+461
|
* Updated Portuguese translationPedro Albuquerque2015-07-251-182/+228
|
* Updated Slovak translationDušan Kazik2015-07-251-242/+264
|
* window-slot: plug memory leakCarlos Soriano2015-07-241-2/+4
|
* window-slot: use allow_stop instead of busyCarlos Soriano2015-07-241-23/+11
| | | | | | 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.
* window: use official name for cursor progressCarlos Soriano2015-07-241-1/+1
|
* window: use watch cursor with pointerCarlos Soriano2015-07-241-1/+1
|
* canvas-view: don't show sort menu on searchCarlos Soriano2015-07-241-1/+14
| | | | Since it's only interesting if searched by search relevance.
* file-operations: fix plural translationsCarlos Soriano2015-07-241-15/+47
|
* window-slot: check empty states on file creating/deletionCarlos Soriano2015-07-241-0/+12
|
* window-slot: show Folder is Empty when hidden files as wellCarlos Soriano2015-07-241-0/+4
|
* window-slot: factor out empty states checkingCarlos Soriano2015-07-241-35/+42
|
* Updated Portuguese translationPedro Albuquerque2015-07-241-248/+247
|
* window-slot: clarify comment about races on done_loadingCarlos Soriano2015-07-231-0/+4
|
* release: prepare for 3.17.33.17.3Carlos Soriano2015-07-232-1/+13
|
* update POTFILESCarlos Soriano2015-07-231-0/+1
|
* window-slot: fix stopping the view if no viewCarlos Soriano2015-07-231-1/+3
| | | | | The first time we create open a location in the slot there is no view at all...
* window-slot: show a "Folder is Empty" feedbackCarlos Soriano2015-07-233-0/+68
| | | | | | | 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.
* window-slot: remove floating bar when search engine finishesCarlos Soriano2015-07-231-15/+26
| | | | | | | | | | | | 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.
* Updated Slovak translationDušan Kazik2015-07-231-370/+528
|
* Updated Hebrew translationYosef Or Boczko2015-07-231-49/+57
|
* window-slot: stop the current view loading in location changeCarlos Soriano2015-07-231-0/+3
| | | | | | | | | | | | | | 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...).
* window-slot: disconnect from model signals before stoppingCarlos Soriano2015-07-231-2/+7
| | | | | | | | | | 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).
* window-slot: don't stop the new_content load/searchCarlos Soriano2015-07-231-23/+0
| | | | | | | | | | | | | | | 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.
* window-slot: factor out connect/disconnect functionsCarlos Soriano2015-07-231-23/+43
|
* search-directory: make sure to stop the search if no clientsCarlos Soriano2015-07-232-13/+12
| | | | | | | | | | | | | | 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.
* view: don't crash on view destroy if no modelCarlos Soriano2015-07-231-11/+7
| | | | | | | | | | | 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.
* view: remove unused monitorCarlos Soriano2015-07-231-3/+0
|
* shell-search-engine: fix crashCarlos Soriano2015-07-231-2/+3
| | | | | | | 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.
* Updated POTFILES.inPiotr Drąg2015-07-231-0/+1
|
* window: don't set list view as default when searchingCarlos Soriano2015-07-221-19/+19
| | | | | | | | | | | | 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.
* Updated Hebrew translationYosef Or Boczko2015-07-221-217/+230
|
* search-directory: give a better name to search_loadedCarlos Soriano2015-07-221-6/+20
| | | | | | | 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.
* search-directory: add a function for when data is readyCarlos Soriano2015-07-221-4/+9
|
* search-directory: make clear when pending callbacks are connectedCarlos Soriano2015-07-221-3/+3
|
* search-directory: rename ensure_loadedCarlos Soriano2015-07-221-9/+5
| | | | | | | 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.
* window-slot: add no search results feedbackCarlos Soriano2015-07-223-2/+113
| | | | | | | | 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.
* search: done loading signal only if not restarting engineCarlos Soriano2015-07-2212-17/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* search-directory: fix done loading signal emissionCarlos Soriano2015-07-221-1/+1
| | | | | | | | | 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.
* search-engine-simple: don't mark as finished before cancellingCarlos Soriano2015-07-221-1/+0
| | | | | | | 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.
* search: improve debug messages and add missing debugCarlos Soriano2015-07-224-5/+35
|