[nautilus/wip/neilh/toolbar-reorg: 14/16] files-view: close menu when new folder prompt appears



commit 6a2ab4f08e7563f854b19654c23c9a07306db6c1
Author: Neil Herald <neil herald gmail com>
Date:   Sat Jun 18 09:49:26 2016 +0100

    files-view: close menu when new folder prompt appears
    
    The menu previously remained open when the New Folder prompt appeared,
    if New Folder was selected from the menu. This change closes the menu
    when New Folder is selected.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=764632

 src/nautilus-files-view.c |    5 +++++
 src/nautilus-window.c     |   11 +++++++++++
 src/nautilus-window.h     |    1 +
 3 files changed, 17 insertions(+), 0 deletions(-)
---
diff --git a/src/nautilus-files-view.c b/src/nautilus-files-view.c
index 74f08f3..b5e03d3 100644
--- a/src/nautilus-files-view.c
+++ b/src/nautilus-files-view.c
@@ -2255,8 +2255,13 @@ action_new_folder (GSimpleAction *action,
                    GVariant      *state,
                    gpointer       user_data)
 {
+        NautilusWindow *window;
+
         g_assert (NAUTILUS_IS_FILES_VIEW (user_data));
 
+        window = nautilus_files_view_get_window (NAUTILUS_FILES_VIEW (user_data));
+        nautilus_window_hide_view_menu (window);
+
         nautilus_files_view_new_folder (NAUTILUS_FILES_VIEW (user_data), FALSE);
 }
 
diff --git a/src/nautilus-window.c b/src/nautilus-window.c
index 5137e71..edfc4f8 100644
--- a/src/nautilus-window.c
+++ b/src/nautilus-window.c
@@ -773,6 +773,17 @@ update_cursor (NautilusWindow *window)
 }
 
 void
+nautilus_window_hide_view_menu (NautilusWindow *window)
+{
+        GActionGroup *action_group;
+        GAction *menu_action;
+
+        action_group = gtk_widget_get_action_group (GTK_WIDGET (window), "win");
+        menu_action = g_action_map_lookup_action (G_ACTION_MAP (action_group), "view-menu");
+        g_action_change_state (menu_action, g_variant_new_boolean (FALSE));
+}
+
+void
 nautilus_window_reset_menus (NautilusWindow *window)
 {
        nautilus_window_sync_allow_stop (window, nautilus_window_get_active_slot (window));
diff --git a/src/nautilus-window.h b/src/nautilus-window.h
index b2108db..b6095f5 100644
--- a/src/nautilus-window.h
+++ b/src/nautilus-window.h
@@ -127,6 +127,7 @@ void     nautilus_window_back_or_forward      (NautilusWindow *window,
                                                gboolean        back,
                                                guint           distance,
                                                NautilusWindowOpenFlags flags);
+void nautilus_window_hide_view_menu (NautilusWindow *window);
 void nautilus_window_reset_menus (NautilusWindow *window);
 
 GtkWidget *         nautilus_window_get_notebook (NautilusWindow *window);


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