+2008-07-06 David Zeuthen <davidz@redhat.com>
+
+ * gvolumemonitor.[ch]:
+ * gunionvolumemonitor.c: Export the eject-button signal on the
+ volume monitor class (#541794).
+
2008-07-06 Matthias Clasen <mclasen@redhat.com>
* gappinfo.c: More doc tweaks
}
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)
{
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
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
DRIVE_CONNECTED,
DRIVE_DISCONNECTED,
DRIVE_CHANGED,
+ DRIVE_EJECT_BUTTON,
LAST_SIGNAL
};
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
/* 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);
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;