static void brasero_medium_selection_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { BraseroMediumSelectionPrivate *priv; g_return_if_fail (BRASERO_IS_MEDIUM_SELECTION (object)); priv = BRASERO_MEDIUM_SELECTION_PRIVATE (object); switch (prop_id) { case PROP_MEDIA_TYPE: g_value_set_uint (value, priv->type); break; case PROP_MEDIUM: g_value_set_object (value, brasero_medium_selection_get_active (BRASERO_MEDIUM_SELECTION (object))); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } }
BraseroMedium * brasero_tool_dialog_get_medium (BraseroToolDialog *self) { BraseroToolDialogPrivate *priv; priv = BRASERO_TOOL_DIALOG_PRIVATE (self); return brasero_medium_selection_get_active (BRASERO_MEDIUM_SELECTION (priv->selector)); }
static void brasero_drive_selection_set_tooltip (BraseroMediumSelection *self) { BraseroMedium *medium; gchar *tooltip; medium = brasero_medium_selection_get_active (self); if (medium) { tooltip = brasero_medium_get_tooltip (medium); g_object_unref (medium); } else tooltip = NULL; gtk_widget_set_tooltip_text (GTK_WIDGET (self), tooltip); g_free (tooltip); }
static gboolean brasero_tool_dialog_run (BraseroToolDialog *self) { BraseroToolDialogPrivate *priv; BraseroToolDialogClass *klass; gboolean close = FALSE; BraseroMedium *medium; BraseroMedia media; GdkCursor *cursor; GdkWindow *window; priv = BRASERO_TOOL_DIALOG_PRIVATE (self); medium = brasero_medium_selection_get_active (BRASERO_MEDIUM_SELECTION (priv->selector)); /* set up */ gtk_widget_set_sensitive (priv->upper_box, FALSE); gtk_widget_set_sensitive (priv->lower_box, TRUE); gtk_widget_set_sensitive (GTK_WIDGET (priv->button), FALSE); cursor = gdk_cursor_new (GDK_WATCH); window = gtk_widget_get_window (GTK_WIDGET (self)); gdk_window_set_cursor (window, cursor); g_object_unref (cursor); gtk_button_set_label (GTK_BUTTON (priv->cancel), GTK_STOCK_CANCEL); /* check the contents of the drive */ media = brasero_medium_get_status (medium); if (media == BRASERO_MEDIUM_NONE) { brasero_tool_dialog_no_media (self); gtk_widget_set_sensitive (GTK_WIDGET (priv->button), TRUE); goto end; } else if (media == BRASERO_MEDIUM_UNSUPPORTED) { /* error out */ gtk_widget_set_sensitive (GTK_WIDGET (priv->button), TRUE); brasero_tool_dialog_media_error (self); goto end; } else if (media == BRASERO_MEDIUM_BUSY) { gtk_widget_set_sensitive (GTK_WIDGET (priv->button), TRUE); brasero_tool_dialog_media_busy (self); goto end; } priv->running = TRUE; klass = BRASERO_TOOL_DIALOG_GET_CLASS (self); if (klass->activate) close = klass->activate (self, medium); priv->running = FALSE; if (medium) g_object_unref (medium); if (close) return TRUE; end: gdk_window_set_cursor (window, NULL); gtk_button_set_label (GTK_BUTTON (priv->cancel), GTK_STOCK_CLOSE); gtk_widget_set_sensitive (priv->upper_box, TRUE); gtk_widget_set_sensitive (priv->lower_box, FALSE); brasero_burn_progress_reset (BRASERO_BURN_PROGRESS (priv->progress)); return FALSE; }