[nautilus] window: move toggle-search to slot



commit 6d8d63c6bc38b96d57038ab939a790e1e5487624
Author: Carlos Soriano <csoriano gnome org>
Date:   Sun Aug 23 22:01:44 2015 +0200

    window: move toggle-search to slot
    
    last action that belongs to the slot instead of the window.

 src/nautilus-desktop-window.c |    5 -----
 src/nautilus-toolbar-ui.xml   |    2 +-
 src/nautilus-window-slot.c    |   25 ++++++++++++++++++++++---
 src/nautilus-window.c         |   15 ---------------
 4 files changed, 23 insertions(+), 24 deletions(-)
---
diff --git a/src/nautilus-desktop-window.c b/src/nautilus-desktop-window.c
index 30197aa..e04d40d 100644
--- a/src/nautilus-desktop-window.c
+++ b/src/nautilus-desktop-window.c
@@ -85,11 +85,6 @@ nautilus_desktop_window_init_actions (NautilusDesktopWindow *window)
        action = g_action_map_lookup_action (G_ACTION_MAP (window),
                                             "new-tab");
        g_simple_action_set_enabled (G_SIMPLE_ACTION (action), FALSE);
-
-       /* Don't allow search on desktop */
-       action = g_action_map_lookup_action (G_ACTION_MAP (window),
-                                            "toggle-search");
-       g_simple_action_set_enabled (G_SIMPLE_ACTION (action), FALSE);
 }
 
 static void
diff --git a/src/nautilus-toolbar-ui.xml b/src/nautilus-toolbar-ui.xml
index 52d5d63..861e0ca 100644
--- a/src/nautilus-toolbar-ui.xml
+++ b/src/nautilus-toolbar-ui.xml
@@ -125,7 +125,7 @@
       <object class="GtkToggleButton" id="search_button">
         <property name="visible">True</property>
         <property name="sensitive">True</property>
-        <property name="action_name">win.toggle-search</property>
+        <property name="action_name">slot.toggle-search</property>
         <style>
           <class name="image-button"/>
         </style>
diff --git a/src/nautilus-window-slot.c b/src/nautilus-window-slot.c
index 64a1180..c28c63f 100644
--- a/src/nautilus-window-slot.c
+++ b/src/nautilus-window-slot.c
@@ -263,10 +263,13 @@ nautilus_window_slot_sync_actions (NautilusWindowSlot *slot)
        }
 
         /* Search */
-        action =  g_action_map_lookup_action (G_ACTION_MAP (slot->details->window), "toggle-search");
+        action =  g_action_map_lookup_action (G_ACTION_MAP (slot->details->slot_action_group),
+                                              "toggle-search");
+        /* Don't allow search on desktop */
+        g_simple_action_set_enabled (G_SIMPLE_ACTION (action),
+                                      !NAUTILUS_IS_DESKTOP_CANVAS_VIEW 
(nautilus_window_slot_get_current_view (slot)));
 
-        /* By setting the toggle-search action state, NautilusWindow will call 
nautilus_window_slot_set_search_visible() */
-        g_simple_action_set_state (G_SIMPLE_ACTION (action), g_variant_new_boolean (show_search));
+        g_action_change_state (action, g_variant_new_boolean (show_search));
 
         /* Files view mode */
         action =  g_action_map_lookup_action (G_ACTION_MAP (slot->details->slot_action_group), 
"files-view-mode");
@@ -587,6 +590,20 @@ nautilus_window_slot_constructed (GObject *object)
 
        slot->details->title = g_strdup (_("Loading…"));
 }
+
+static void
+action_toggle_search (GSimpleAction *action,
+                      GVariant      *state,
+                      gpointer       user_data)
+{
+        NautilusWindowSlot *slot;
+
+        slot = NAUTILUS_WINDOW_SLOT (user_data);
+        nautilus_window_slot_set_search_visible (slot, g_variant_get_boolean (state));
+
+        g_simple_action_set_state (action, state);
+}
+
 static void
 action_files_view_mode (GSimpleAction *action,
                        GVariant      *value,
@@ -631,6 +648,7 @@ action_files_view_mode (GSimpleAction *action,
 
 const GActionEntry slot_entries[] = {
         { "files-view-mode", NULL, "s", "''", action_files_view_mode },
+        { "toggle-search", NULL, NULL, "false", action_toggle_search },
 };
 
 static void
@@ -653,6 +671,7 @@ nautilus_window_slot_init (NautilusWindowSlot *slot)
                                         G_ACTION_GROUP (slot->details->slot_action_group));
         nautilus_application_add_accelerator (app, "slot.files-view-mode('list')", "<control>1");
         nautilus_application_add_accelerator (app, "slot.files-view-mode('grid')", "<control>2");
+        nautilus_application_add_accelerator (app, "slot.toggle-search", "<control>f");
 }
 
 #define DEBUG_FLAG NAUTILUS_DEBUG_WINDOW
diff --git a/src/nautilus-window.c b/src/nautilus-window.c
index 0aa0a2f..50db396 100644
--- a/src/nautilus-window.c
+++ b/src/nautilus-window.c
@@ -360,19 +360,6 @@ action_go_to_tab (GSimpleAction *action,
 }
 
 static void
-action_toggle_search (GSimpleAction *action,
-                     GVariant      *state,
-                     gpointer       user_data)
-{
-       NautilusWindowSlot *slot;
-
-       slot = nautilus_window_get_active_slot (NAUTILUS_WINDOW (user_data));
-       nautilus_window_slot_set_search_visible (slot, g_variant_get_boolean (state));
-
-       g_simple_action_set_state (action, state);
-}
-
-static void
 action_prompt_for_location_root (GSimpleAction *action,
                                 GVariant      *state,
                                 gpointer       user_data)
@@ -1890,7 +1877,6 @@ const GActionEntry win_entries[] = {
        { "new-tab", action_new_tab },
        { "enter-location", action_enter_location },
        { "bookmark-current-location", action_bookmark_current_location },
-       { "toggle-search", NULL, NULL, "false", action_toggle_search },
        { "undo", action_undo },
        { "redo", action_redo },
        /* Only accesible by shorcuts */
@@ -1932,7 +1918,6 @@ nautilus_window_initialize_actions (NautilusWindow *window)
        nautilus_application_add_accelerator (app, "win.forward", "<alt>Right");
        nautilus_application_add_accelerator (app, "win.enter-location", "<control>l");
        nautilus_application_add_accelerator (app, "win.new-tab", "<control>t");
-       nautilus_application_add_accelerator (app, "win.toggle-search", "<control>f");
        nautilus_application_add_accelerator (app, "win.close-current-view", "<control>w");
 
         /* Special case reload, since users are used to use two shortcuts instead of one */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]