summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCosimo Cecchi <cosimoc@gnome.org>2010-11-25 12:26:07 +0100
committerCosimo Cecchi <cosimoc@gnome.org>2010-11-25 12:26:07 +0100
commit9281506c5b264e81a4610a4f6a20f2a42eab207b (patch)
treedd356bd4bfb601309e6e95bbe3a730d5e091b60b
parent7c71b7f383ece8ad9be39fcb28b9377364a35cb3 (diff)
downloadnautilus-9281506c5b264e81a4610a4f6a20f2a42eab207b.tar.gz
autorun: move nautilus_launch_application_for_mount ()
Also add the parent window parameter to it, so that we get startup notification.
-rw-r--r--libnautilus-private/nautilus-autorun.c19
-rw-r--r--libnautilus-private/nautilus-autorun.h2
-rw-r--r--libnautilus-private/nautilus-program-choosing.c21
-rw-r--r--libnautilus-private/nautilus-program-choosing.h3
-rw-r--r--src/nautilus-x-content-bar.c5
5 files changed, 27 insertions, 23 deletions
diff --git a/libnautilus-private/nautilus-autorun.c b/libnautilus-private/nautilus-autorun.c
index 5c64b9399..6d0eb9ef1 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 e34c846e2..9b4f4f026 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 6ed9b90e1..c3640a5a4 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 3e99ac5c0..f90ac056a 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 f70d8181d..d51d6e175 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);
}
}