gnome-panel r11108 - branches/gnome-2-22/gnome-panel
- From: vuntz svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-panel r11108 - branches/gnome-2-22/gnome-panel
- Date: Fri, 16 May 2008 16:45:14 +0100 (BST)
Author: vuntz
Date: Fri May 16 15:45:13 2008
New Revision: 11108
URL: http://svn.gnome.org/viewvc/gnome-panel?rev=11108&view=rev
Log:
2008-05-16 Vincent Untz <vuntz gnome org>
* panel-menu-items.c: (activate_uri_on_screen): new, based on
activate_uri
(activate_uri): just call activate_uri_on_screen
(volume_mount_cb): open the mount after having mounted it
Fix bug #528423
Modified:
branches/gnome-2-22/gnome-panel/ChangeLog
branches/gnome-2-22/gnome-panel/panel-menu-items.c
Modified: branches/gnome-2-22/gnome-panel/panel-menu-items.c
==============================================================================
--- branches/gnome-2-22/gnome-panel/panel-menu-items.c (original)
+++ branches/gnome-2-22/gnome-panel/panel-menu-items.c Fri May 16 15:45:13 2008
@@ -97,18 +97,15 @@
};
static void
-activate_uri (GtkWidget *menuitem,
- const char *path)
+activate_uri_on_screen (const char *path,
+ GdkScreen *screen)
{
GError *error = NULL;
GFile *file;
- GdkScreen *screen;
char *escaped;
char *scheme;
char *url;
- screen = menuitem_to_screen (menuitem);
-
scheme = g_uri_parse_scheme (path);
if (scheme) {
url = g_strdup (path);
@@ -146,6 +143,13 @@
}
static void
+activate_uri (GtkWidget *menuitem,
+ const char *path)
+{
+ activate_uri_on_screen (path, menuitem_to_screen (menuitem));
+}
+
+static void
activate_home_uri (GtkWidget *menuitem,
gpointer data)
{
@@ -575,11 +579,12 @@
{
PanelVolumeMountData *mount_data = user_data;
GError *error;
- char *primary;
- char *name;
error = NULL;
if (!g_volume_mount_finish (G_VOLUME (source_object), res, &error)) {
+ char *primary;
+ char *name;
+
if (error->code != G_IO_ERROR_FAILED_HANDLED) {
name = g_volume_get_name (G_VOLUME (source_object));
primary = g_strdup_printf (_("Unable to mount %s"),
@@ -592,9 +597,19 @@
g_free (primary);
}
g_error_free (error);
+ } else {
+ GMount *mount;
+ GFile *root;
+ char *rootpath;
+
+ mount = g_volume_get_mount (G_VOLUME (source_object));
+ root = g_mount_get_root (mount);
+ rootpath = g_file_get_uri (root);
+ activate_uri_on_screen (rootpath, mount_data->screen);
+ g_object_unref (mount);
+ g_object_unref (root);
+ g_free (rootpath);
}
-
- //FIXME: should we activate the root of the new mount?
g_object_unref (mount_data->mount_op);
g_slice_free (PanelVolumeMountData, mount_data);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]