summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCosimo Cecchi <cosimoc@gnome.org>2014-11-29 10:47:21 -0800
committerCosimo Cecchi <cosimoc@gnome.org>2014-11-29 11:08:02 -0800
commit3e0d0040b11cccf5c2f860534497c0e3ed0da3a2 (patch)
tree8a81d00f002e486582e2b6cfa8e687618becfc03
parenta9a7ef99530273d3f99fc1a76c70a27318c7d1b5 (diff)
downloadnautilus-3e0d0040b11cccf5c2f860534497c0e3ed0da3a2.tar.gz
application: move handling of show-file-transfers action
Move this together with all the other application actions.
-rw-r--r--src/nautilus-application-actions.c13
-rw-r--r--src/nautilus-application.c7
-rw-r--r--src/nautilus-application.h3
-rw-r--r--src/nautilus-progress-ui-handler.c27
-rw-r--r--src/nautilus-progress-ui-handler.h1
5 files changed, 31 insertions, 20 deletions
diff --git a/src/nautilus-application-actions.c b/src/nautilus-application-actions.c
index e346d61c9..9e6c3b172 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 ba7489fcd..346fa3d82 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 85a0020b0..991b14333 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 645a0f0f5..52af62aa4 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 35f22e41f..4109b68b2 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