[nautilus] application: move handling of show-file-transfers action



commit 3e0d0040b11cccf5c2f860534497c0e3ed0da3a2
Author: Cosimo Cecchi <cosimoc gnome org>
Date:   Sat Nov 29 10:47:21 2014 -0800

    application: move handling of show-file-transfers action
    
    Move this together with all the other application actions.

 src/nautilus-application-actions.c |   13 +++++++++++++
 src/nautilus-application.c         |    7 ++++++-
 src/nautilus-application.h         |    3 +++
 src/nautilus-progress-ui-handler.c |   27 ++++++++-------------------
 src/nautilus-progress-ui-handler.h |    1 +
 5 files changed, 31 insertions(+), 20 deletions(-)
---
diff --git a/src/nautilus-application-actions.c b/src/nautilus-application-actions.c
index e346d61..9e6c3b1 100644
--- a/src/nautilus-application-actions.c
+++ b/src/nautilus-application-actions.c
@@ -233,6 +233,18 @@ action_search (GSimpleAction *action,
        g_object_unref (location);
 }
 
+static void
+action_show_file_transfers (GSimpleAction *action,
+                           GVariant *parameter,
+                           gpointer user_data)
+{
+       NautilusApplication *application = user_data;
+       NautilusProgressUIHandler *progress_handler;
+
+       progress_handler = nautilus_application_get_progress_ui_handler (application);
+       nautilus_progress_ui_handler_ensure_window (progress_handler);
+}
+
 static GActionEntry app_entries[] = {
        { "new-window", action_new_window, NULL, NULL, NULL },
        { "connect-to-server", action_connect_to_server, NULL, NULL, NULL },
@@ -246,6 +258,7 @@ static GActionEntry app_entries[] = {
        { "kill", action_kill, NULL, NULL, NULL },
        { "open-desktop", action_open_desktop, NULL, NULL, NULL },
        { "close-desktop", action_close_desktop, NULL, NULL, NULL },
+       { "show-file-transfers", action_show_file_transfers, NULL, NULL, NULL }
 };
 
 void
diff --git a/src/nautilus-application.c b/src/nautilus-application.c
index ba7489f..346fa3d 100644
--- a/src/nautilus-application.c
+++ b/src/nautilus-application.c
@@ -37,7 +37,6 @@
 #include "nautilus-freedesktop-dbus.h"
 #include "nautilus-image-properties-page.h"
 #include "nautilus-previewer.h"
-#include "nautilus-progress-ui-handler.h"
 #include "nautilus-self-check-functions.h"
 #include "nautilus-shell-search-provider.h"
 #include "nautilus-window.h"
@@ -90,6 +89,12 @@ struct _NautilusApplicationPriv {
        NautilusShellSearchProvider *search_provider;
 };
 
+NautilusProgressUIHandler *
+nautilus_application_get_progress_ui_handler (NautilusApplication *application)
+{
+       return application->priv->progress_handler;
+}
+
 NautilusBookmarkList *
 nautilus_application_get_bookmarks (NautilusApplication *application)
 {
diff --git a/src/nautilus-application.h b/src/nautilus-application.h
index 85a0020..991b143 100644
--- a/src/nautilus-application.h
+++ b/src/nautilus-application.h
@@ -27,6 +27,7 @@
 #include <gtk/gtk.h>
 
 #include "nautilus-bookmark-list.h"
+#include "nautilus-progress-ui-handler.h"
 #include "nautilus-window.h"
 
 #define NAUTILUS_DESKTOP_ICON_VIEW_IID "OAFIID:Nautilus_File_Manager_Desktop_Canvas_View"
@@ -75,4 +76,6 @@ void nautilus_application_edit_bookmarks (NautilusApplication *application,
 GtkWidget * nautilus_application_connect_server (NautilusApplication *application,
                                                 NautilusWindow      *window);
 
+NautilusProgressUIHandler * nautilus_application_get_progress_ui_handler (NautilusApplication *application);
+
 #endif /* __NAUTILUS_APPLICATION_H__ */
diff --git a/src/nautilus-progress-ui-handler.c b/src/nautilus-progress-ui-handler.c
index 645a0f0..52af62a 100644
--- a/src/nautilus-progress-ui-handler.c
+++ b/src/nautilus-progress-ui-handler.c
@@ -74,15 +74,6 @@ status_icon_activate_cb (GtkStatusIcon *icon,
 }
 
 static void
-notification_show_details_cb (GSimpleAction *action,
-                             GVariant      *parameter,
-                             gpointer       user_data)
-{
-       NautilusProgressUIHandler *self = user_data;
-       gtk_window_present (GTK_WINDOW (self->priv->progress_window));
-}
-
-static void
 progress_ui_handler_ensure_status_icon (NautilusProgressUIHandler *self)
 {
        GIcon *icon;
@@ -112,7 +103,7 @@ progress_ui_handler_update_notification (NautilusProgressUIHandler *self)
 
         notification = g_notification_new (_("File Operations"));
         g_notification_add_button (notification, _("Show Details"),
-                                   "app.show-progress-window");
+                                   "app.show-file-transfers");
 
        body = g_strdup_printf (ngettext ("%'d file operation active",
                                          "%'d file operations active",
@@ -431,18 +422,9 @@ server_has_persistence (void)
 static void
 nautilus_progress_ui_handler_init (NautilusProgressUIHandler *self)
 {
-        GSimpleAction *show_details_action;
-
        self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, NAUTILUS_TYPE_PROGRESS_UI_HANDLER,
                                                  NautilusProgressUIHandlerPriv);
 
-        show_details_action = g_simple_action_new ("show-progress-window", NULL);
-        g_action_map_add_action (G_ACTION_MAP (g_application_get_default ()),
-                                 G_ACTION (show_details_action));
-        g_signal_connect (show_details_action, "activate",
-                          G_CALLBACK (notification_show_details_cb), self);
-        g_object_unref (show_details_action);
-
        self->priv->manager = nautilus_progress_info_manager_new ();
        g_signal_connect (self->priv->manager, "new-progress-info",
                          G_CALLBACK (new_progress_info_cb), self);
@@ -464,3 +446,10 @@ nautilus_progress_ui_handler_new (void)
 {
        return g_object_new (NAUTILUS_TYPE_PROGRESS_UI_HANDLER, NULL);
 }
+
+void
+nautilus_progress_ui_handler_ensure_window (NautilusProgressUIHandler *self)
+{
+       if (self->priv->active_infos > 0)
+               gtk_window_present (GTK_WINDOW (self->priv->progress_window));
+}
diff --git a/src/nautilus-progress-ui-handler.h b/src/nautilus-progress-ui-handler.h
index 35f22e4..4109b68 100644
--- a/src/nautilus-progress-ui-handler.h
+++ b/src/nautilus-progress-ui-handler.h
@@ -57,6 +57,7 @@ typedef struct {
 GType nautilus_progress_ui_handler_get_type (void);
 
 NautilusProgressUIHandler * nautilus_progress_ui_handler_new (void);
+void nautilus_progress_ui_handler_ensure_window (NautilusProgressUIHandler *self);
 
 G_END_DECLS
 


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