glib r7168 - trunk/gio



Author: davidz
Date: Mon Jul  7 02:23:52 2008
New Revision: 7168
URL: http://svn.gnome.org/viewvc/glib?rev=7168&view=rev

Log:
2008-07-06  David Zeuthen  <davidz redhat com>

        * gvolumemonitor.[ch]:
        * gunionvolumemonitor.c: Export the eject-button signal on the
        volume monitor class (#541794).



Modified:
   trunk/gio/ChangeLog
   trunk/gio/gunionvolumemonitor.c
   trunk/gio/gvolumemonitor.c
   trunk/gio/gvolumemonitor.h

Modified: trunk/gio/gunionvolumemonitor.c
==============================================================================
--- trunk/gio/gunionvolumemonitor.c	(original)
+++ trunk/gio/gunionvolumemonitor.c	Mon Jul  7 02:23:52 2008
@@ -344,6 +344,16 @@
 }
 
 static void
+child_drive_eject_button (GVolumeMonitor      *child_monitor,
+                          GDrive             *child_drive,
+                          GUnionVolumeMonitor *union_monitor)
+{
+  g_signal_emit_by_name (union_monitor,
+                         "drive_eject_button",
+                         child_drive);
+}
+
+static void
 g_union_volume_monitor_add_monitor (GUnionVolumeMonitor *union_monitor,
                                     GVolumeMonitor      *volume_monitor)
 {
@@ -364,6 +374,7 @@
   g_signal_connect (volume_monitor, "drive_connected", (GCallback)child_drive_connected, union_monitor);
   g_signal_connect (volume_monitor, "drive_disconnected", (GCallback)child_drive_disconnected, union_monitor);
   g_signal_connect (volume_monitor, "drive_changed", (GCallback)child_drive_changed, union_monitor);
+  g_signal_connect (volume_monitor, "drive_eject_button", (GCallback)child_drive_eject_button, union_monitor);
 }
 
 static void
@@ -388,6 +399,7 @@
   g_signal_handlers_disconnect_by_func (child_monitor, child_drive_connected, union_monitor);
   g_signal_handlers_disconnect_by_func (child_monitor, child_drive_disconnected, union_monitor);
   g_signal_handlers_disconnect_by_func (child_monitor, child_drive_changed, union_monitor);
+  g_signal_handlers_disconnect_by_func (child_monitor, child_drive_eject_button, union_monitor);
 }
 
 static GType

Modified: trunk/gio/gvolumemonitor.c
==============================================================================
--- trunk/gio/gvolumemonitor.c	(original)
+++ trunk/gio/gvolumemonitor.c	Mon Jul  7 02:23:52 2008
@@ -56,6 +56,7 @@
   DRIVE_CONNECTED,
   DRIVE_DISCONNECTED,
   DRIVE_CHANGED,
+  DRIVE_EJECT_BUTTON,
   LAST_SIGNAL
 };
 
@@ -229,6 +230,23 @@
                                          g_cclosure_marshal_VOID__OBJECT,
                                          G_TYPE_NONE, 1, G_TYPE_DRIVE);
 
+  /**
+   * GVolumeMonitor::drive-eject-button:
+   * @volume_monitor: The volume monitor emitting the signal.
+   * @drive: the drive where the eject button was pressed
+   *
+   * Emitted when the eject button is pressed on @drive.
+   *
+   * Since: 2.18
+   **/
+  signals[DRIVE_EJECT_BUTTON] = g_signal_new (I_("drive_eject_button"),
+                                              G_TYPE_VOLUME_MONITOR,
+                                              G_SIGNAL_RUN_LAST,
+                                              G_STRUCT_OFFSET (GVolumeMonitorClass, drive_eject_button),
+                                              NULL, NULL,
+                                              g_cclosure_marshal_VOID__OBJECT,
+                                              G_TYPE_NONE, 1, G_TYPE_DRIVE);
+
 }
 
 static void

Modified: trunk/gio/gvolumemonitor.h
==============================================================================
--- trunk/gio/gvolumemonitor.h	(original)
+++ trunk/gio/gvolumemonitor.h	Mon Jul  7 02:23:52 2008
@@ -110,7 +110,11 @@
   /* These arguments are unfortunately backwards by mistake (bug #520169) */
   GVolume * (*adopt_orphan_mount)   (GMount          *mount,
                                      GVolumeMonitor  *volume_monitor);
-  
+
+  /* signal added in 2.17 */
+  void (* drive_eject_button)   (GVolumeMonitor *volume_monitor,
+				 GDrive         *drive);
+
   /*< private >*/
   /* Padding for future expansion */
   void (*_g_reserved1) (void);
@@ -120,7 +124,6 @@
   void (*_g_reserved5) (void);
   void (*_g_reserved6) (void);
   void (*_g_reserved7) (void);
-  void (*_g_reserved8) (void);
 };
 
 GType g_volume_monitor_get_type (void) G_GNUC_CONST;



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