[nautilus/wip/csoriano/slot-cleanup: 15/16] files-view: don't add sidebar shortcuts for gtkfilechooser
- From: Carlos Soriano Sánchez <csoriano src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus/wip/csoriano/slot-cleanup: 15/16] files-view: don't add sidebar shortcuts for gtkfilechooser
- Date: Fri, 28 Aug 2015 20:29:46 +0000 (UTC)
commit 7ebdf7cb99af2db52df14c7133039656004c3d69
Author: Carlos Soriano <csoriano gnome org>
Date: Fri Aug 28 20:19:44 2015 +0200
files-view: don't add sidebar shortcuts for gtkfilechooser
That was used when the action "Move to..." or "Copy to..."
since it was using gtkfilechooser to choose the destination.
We were adding a sidebar shortcut folder for every slot that was
opened, that means that if we had a few tabs, the sidebar started
to look crowed. Also the sidebar is no longer consistent, since
it's diffenrent thant the state of the sidebar in the main Nautilus
window.
Designers agree that is better to make the sidebar less crowed and
don't make it incosistent, since the value of adding a shorcut for
opened locations doesn't balance the inconsistency and crowdness of
the sidebar.
src/nautilus-files-view.c | 210 ---------------------------------------------
1 files changed, 0 insertions(+), 210 deletions(-)
---
diff --git a/src/nautilus-files-view.c b/src/nautilus-files-view.c
index 2179437..a9adb3b 100644
--- a/src/nautilus-files-view.c
+++ b/src/nautilus-files-view.c
@@ -5000,198 +5000,8 @@ typedef struct _CopyCallbackData {
} CopyCallbackData;
static void
-add_bookmark_for_uri (CopyCallbackData *data,
- const char *uri)
-{
- GError *error = NULL;
- int count;
-
- count = GPOINTER_TO_INT (g_hash_table_lookup (data->locations, uri));
- if (count == 0) {
- gtk_file_chooser_add_shortcut_folder_uri (data->chooser,
- uri,
- &error);
- if (error != NULL) {
- DEBUG ("Unable to add location '%s' to file selector: %s", uri, error->message);
- g_clear_error (&error);
- }
- }
- g_hash_table_replace (data->locations, g_strdup (uri), GINT_TO_POINTER (count + 1));
-}
-
-static void
-remove_bookmark_for_uri (CopyCallbackData *data,
- const char *uri)
-{
- GError *error = NULL;
- int count;
-
- count = GPOINTER_TO_INT (g_hash_table_lookup (data->locations, uri));
- if (count == 1) {
- gtk_file_chooser_remove_shortcut_folder_uri (data->chooser,
- uri,
- &error);
- if (error != NULL) {
- DEBUG ("Unable to remove location '%s' to file selector: %s", uri, error->message);
- g_clear_error (&error);
- }
- g_hash_table_remove (data->locations, uri);
- } else {
- g_hash_table_replace (data->locations, g_strdup (uri), GINT_TO_POINTER (count - 1));
- }
-}
-
-static void
-add_bookmarks_for_window_slot (CopyCallbackData *data,
- NautilusWindowSlot *slot)
-{
- GFile *location;
- char *uri;
-
- location = nautilus_window_slot_get_location (slot);
- if (location != NULL) {
- uri = g_file_get_uri (location);
- add_bookmark_for_uri (data, uri);
- g_free (uri);
- }
-}
-
-static void
-remove_bookmarks_for_window_slot (CopyCallbackData *data,
- NautilusWindowSlot *slot)
-{
- GFile *location;
- char *uri;
-
- location = nautilus_window_slot_get_location (slot);
- if (location != NULL) {
- uri = g_file_get_uri (location);
- remove_bookmark_for_uri (data, uri);
- g_free (uri);
- }
-}
-
-static void
-on_slot_location_changed (NautilusWindowSlot *slot,
- const char *from,
- const char *to,
- CopyCallbackData *data)
-{
- if (from != NULL) {
- remove_bookmark_for_uri (data, from);
- }
-
- if (to != NULL) {
- add_bookmark_for_uri (data, to);
- }
-}
-
-static void
-on_slot_added (NautilusWindow *window,
- NautilusWindowSlot *slot,
- CopyCallbackData *data)
-{
- add_bookmarks_for_window_slot (data, slot);
- g_signal_connect (slot, "location-changed", G_CALLBACK (on_slot_location_changed), data);
-}
-
-static void
-on_slot_removed (NautilusWindow *window,
- NautilusWindowSlot *slot,
- CopyCallbackData *data)
-{
- remove_bookmarks_for_window_slot (data, slot);
- g_signal_handlers_disconnect_by_func (slot,
- G_CALLBACK (on_slot_location_changed),
- data);
-}
-
-static void
-add_bookmarks_for_window (CopyCallbackData *data,
- NautilusWindow *window)
-{
- GList *s;
- GList *slots;
-
- slots = nautilus_window_get_slots (window);
- for (s = slots; s != NULL; s = s->next) {
- NautilusWindowSlot *slot = s->data;
- add_bookmarks_for_window_slot (data, slot);
- g_signal_connect (slot, "location-changed", G_CALLBACK (on_slot_location_changed), data);
- }
- g_signal_connect (window, "slot-added", G_CALLBACK (on_slot_added), data);
- g_signal_connect (window, "slot-removed", G_CALLBACK (on_slot_removed), data);
-}
-
-static void
-remove_bookmarks_for_window (CopyCallbackData *data,
- NautilusWindow *window)
-{
- GList *s;
- GList *slots;
-
- slots = nautilus_window_get_slots (window);
- for (s = slots; s != NULL; s = s->next) {
- NautilusWindowSlot *slot = s->data;
- remove_bookmarks_for_window_slot (data, slot);
- g_signal_handlers_disconnect_by_func (slot,
- G_CALLBACK (on_slot_location_changed),
- data);
- }
- g_signal_handlers_disconnect_by_func (window,
- G_CALLBACK (on_slot_added),
- data);
- g_signal_handlers_disconnect_by_func (window,
- G_CALLBACK (on_slot_removed),
- data);
-}
-
-static void
-on_app_window_added (GtkApplication *application,
- GtkWindow *window,
- CopyCallbackData *data)
-{
- add_bookmarks_for_window (data, NAUTILUS_WINDOW (window));
-}
-
-static void
-on_app_window_removed (GtkApplication *application,
- GtkWindow *window,
- CopyCallbackData *data)
-{
- remove_bookmarks_for_window (data, NAUTILUS_WINDOW (window));
-}
-
-static void
copy_data_free (CopyCallbackData *data)
{
- NautilusApplication *application;
- GList *windows;
- GList *w;
-
- application = NAUTILUS_APPLICATION (g_application_get_default ());
- g_signal_handlers_disconnect_by_func (application,
- G_CALLBACK (on_app_window_added),
- data);
- g_signal_handlers_disconnect_by_func (application,
- G_CALLBACK (on_app_window_removed),
- data);
-
- windows = nautilus_application_get_windows (application);
- for (w = windows; w != NULL; w = w->next) {
- NautilusWindow *window = w->data;
- GList *slots;
- GList *s;
-
- slots = nautilus_window_get_slots (window);
- for (s = slots; s != NULL; s = s->next) {
- NautilusWindowSlot *slot = s->data;
- g_signal_handlers_disconnect_by_func (slot, G_CALLBACK (on_slot_location_changed),
data);
- }
- g_signal_handlers_disconnect_by_func (window, G_CALLBACK (on_slot_added), data);
- g_signal_handlers_disconnect_by_func (window, G_CALLBACK (on_slot_removed), data);
- }
-
nautilus_file_list_free (data->selection);
g_hash_table_destroy (data->locations);
g_free (data);
@@ -5299,24 +5109,6 @@ get_selected_folders (GList *selection)
}
static void
-add_window_location_bookmarks (CopyCallbackData *data)
-{
- NautilusApplication *application;
- GList *windows;
- GList *w;
-
- application = NAUTILUS_APPLICATION (g_application_get_default ());
- windows = nautilus_application_get_windows (application);
- g_signal_connect (application, "window-added", G_CALLBACK (on_app_window_added), data);
- g_signal_connect (application, "window-removed", G_CALLBACK (on_app_window_removed), data);
-
- for (w = windows; w != NULL; w = w->next) {
- NautilusWindow *window = w->data;
- add_bookmarks_for_window (data, window);
- }
-}
-
-static void
copy_or_move_selection (NautilusFilesView *view,
gboolean is_move)
{
@@ -5350,8 +5142,6 @@ copy_or_move_selection (NautilusFilesView *view,
copy_data->chooser = GTK_FILE_CHOOSER (dialog);
copy_data->locations = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
- add_window_location_bookmarks (copy_data);
-
if (selection != NULL) {
GtkFileFilter *filter;
GList *folders;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]