[nautilus/autorun-cleanup: 10/12] autorun: move nautilus_launch_application_for_mount ()



commit 9281506c5b264e81a4610a4f6a20f2a42eab207b
Author: Cosimo Cecchi <cosimoc gnome org>
Date:   Thu Nov 25 12:26:07 2010 +0100

    autorun: move nautilus_launch_application_for_mount ()
    
    Also add the parent window parameter to it, so that we get startup
    notification.

 libnautilus-private/nautilus-autorun.c          |   19 -------------------
 libnautilus-private/nautilus-autorun.h          |    2 --
 libnautilus-private/nautilus-program-choosing.c |   21 +++++++++++++++++++++
 libnautilus-private/nautilus-program-choosing.h |    3 +++
 src/nautilus-x-content-bar.c                    |    5 +++--
 5 files changed, 27 insertions(+), 23 deletions(-)
---
diff --git a/libnautilus-private/nautilus-autorun.c b/libnautilus-private/nautilus-autorun.c
index 5c64b93..6d0eb9e 100644
--- a/libnautilus-private/nautilus-autorun.c
+++ b/libnautilus-private/nautilus-autorun.c
@@ -29,27 +29,8 @@
 #include <gtk/gtk.h>
 
 #include "nautilus-autorun.h"
-#include "nautilus-program-choosing.h"
 
 
-void
-nautilus_autorun_launch_for_mount (GMount *mount, GAppInfo *app_info)
-{
-	GFile *root;
-	NautilusFile *file;
-	GList *files;
-	
-	root = g_mount_get_root (mount);
-	file = nautilus_file_get (root);
-	g_object_unref (root);
-	files = g_list_append (NULL, file);
-	nautilus_launch_application (app_info,
-				     files,
-				     NULL); /* TODO: what to set here? */
-	g_object_unref (file);
-	g_list_free (files);
-}
-
 typedef struct {
 	NautilusAutorunGetContent callback;
 	gpointer user_data;
diff --git a/libnautilus-private/nautilus-autorun.h b/libnautilus-private/nautilus-autorun.h
index e34c846..9b4f4f0 100644
--- a/libnautilus-private/nautilus-autorun.h
+++ b/libnautilus-private/nautilus-autorun.h
@@ -47,6 +47,4 @@ void nautilus_autorun_get_x_content_types_for_mount_async (GMount *mount,
 							   GCancellable *cancellable,
 							   gpointer user_data);
 
-void nautilus_autorun_launch_for_mount (GMount *mount, GAppInfo *app_info);
-
 #endif /* NAUTILUS_AUTORUN_H */
diff --git a/libnautilus-private/nautilus-program-choosing.c b/libnautilus-private/nautilus-program-choosing.c
index 6ed9b90..c3640a5 100644
--- a/libnautilus-private/nautilus-program-choosing.c
+++ b/libnautilus-private/nautilus-program-choosing.c
@@ -128,6 +128,27 @@ application_cannot_open_location (GAppInfo *application,
 #endif
 }
 
+void
+nautilus_launch_application_for_mount (GAppInfo *app_info,
+				       GMount *mount,
+				       GtkWindow *parent_window)
+{
+	GFile *root;
+	NautilusFile *file;
+	GList *files;
+
+	root = g_mount_get_root (mount);
+	file = nautilus_file_get (root);
+	g_object_unref (root);
+
+	files = g_list_append (NULL, file);
+	nautilus_launch_application (app_info,
+				     files,
+				     parent_window);
+
+	g_list_free_full (files, (GDestroyNotify) nautilus_file_unref);
+}
+
 /**
  * nautilus_launch_application:
  * 
diff --git a/libnautilus-private/nautilus-program-choosing.h b/libnautilus-private/nautilus-program-choosing.h
index 3e99ac5..f90ac05 100644
--- a/libnautilus-private/nautilus-program-choosing.h
+++ b/libnautilus-private/nautilus-program-choosing.h
@@ -39,6 +39,9 @@ void nautilus_launch_application                 (GAppInfo
 void nautilus_launch_application_by_uri          (GAppInfo                          *application,
 						  GList                             *uris,
 						  GtkWindow                         *parent_window);
+void nautilus_launch_application_for_mount       (GAppInfo                          *app_info,
+						  GMount                            *mount,
+						  GtkWindow                         *parent_window);
 void nautilus_launch_application_from_command    (GdkScreen                         *screen,
 						  const char                        *name,
 						  const char                        *command_string,
diff --git a/src/nautilus-x-content-bar.c b/src/nautilus-x-content-bar.c
index f70d818..d51d6e1 100644
--- a/src/nautilus-x-content-bar.c
+++ b/src/nautilus-x-content-bar.c
@@ -29,8 +29,8 @@
 #include <string.h>
 
 #include "nautilus-x-content-bar.h"
-#include <libnautilus-private/nautilus-autorun.h>
 #include <libnautilus-private/nautilus-icon-info.h>
+#include <libnautilus-private/nautilus-program-choosing.h>
 
 #define NAUTILUS_X_CONTENT_BAR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NAUTILUS_TYPE_X_CONTENT_BAR, NautilusXContentBarPrivate))
 
@@ -256,7 +256,8 @@ button_clicked_callback (GtkWidget *button, NautilusXContentBar *bar)
 
  	default_app = g_app_info_get_default_for_type (bar->priv->x_content_type, FALSE);
 	if (default_app != NULL) {
-		nautilus_autorun_launch_for_mount (bar->priv->mount, default_app);
+		nautilus_launch_application_for_mount (default_app, bar->priv->mount,
+						       GTK_WINDOW (gtk_widget_get_toplevel (button)));
 		g_object_unref (default_app);
 	}
 }



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