[Goodies-commits] r5262 - xfburn/trunk/xfburn
David Mohr
squisher at xfce.org
Sun Aug 17 06:56:07 CEST 2008
Author: squisher
Date: 2008-08-17 04:56:07 +0000 (Sun, 17 Aug 2008)
New Revision: 5262
Modified:
xfburn/trunk/xfburn/xfburn-data-composition.c
xfburn/trunk/xfburn/xfburn-data-disc-usage.c
xfburn/trunk/xfburn/xfburn-data-disc-usage.h
xfburn/trunk/xfburn/xfburn-disc-usage.c
xfburn/trunk/xfburn/xfburn-disc-usage.h
Log:
Adding base class for disc sizes, data disc size now subclasses it
Modified: xfburn/trunk/xfburn/xfburn-data-composition.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-data-composition.c 2008-08-16 23:34:49 UTC (rev 5261)
+++ xfburn/trunk/xfburn/xfburn-data-composition.c 2008-08-17 04:56:07 UTC (rev 5262)
@@ -483,7 +483,7 @@
image = generate_iso_image (XFBURN_DATA_COMPOSITION (dc));
- switch (xfburn_data_disc_usage_get_disc_type (du)) {
+ switch (xfburn_disc_usage_get_disc_type (XFBURN_DISC_USAGE (du))) {
case CD_DISC:
dialog = xfburn_burn_data_cd_composition_dialog_new (image);
break;
@@ -792,7 +792,7 @@
g_free (directory_text);
g_free (humansize);
- xfburn_data_disc_usage_add_size (XFBURN_DATA_DISC_USAGE (priv->disc_usage), 4);
+ xfburn_disc_usage_add_size (XFBURN_DISC_USAGE (priv->disc_usage), 4);
gtk_widget_realize (priv->content);
@@ -822,7 +822,7 @@
guint64 size = 0;
gtk_tree_model_get (model, &iter, DATA_COMPOSITION_COLUMN_SIZE, &size, -1);
- xfburn_data_disc_usage_sub_size (XFBURN_DATA_DISC_USAGE (priv->disc_usage), size);
+ xfburn_disc_usage_sub_size (XFBURN_DISC_USAGE (priv->disc_usage), size);
iter_temp = iter;
while (gtk_tree_model_iter_parent (model, &parent, &iter_temp)) {
@@ -941,7 +941,7 @@
gtk_entry_set_text (GTK_ENTRY (priv->entry_volume_name), _(DATA_COMPOSITION_DEFAULT_NAME));
- xfburn_data_disc_usage_set_size (XFBURN_DATA_DISC_USAGE (priv->disc_usage), 0);
+ xfburn_disc_usage_set_size (XFBURN_DISC_USAGE (priv->disc_usage), 0);
}
static void
@@ -1099,7 +1099,7 @@
DATA_COMPOSITION_COLUMN_CONTENT, name,
DATA_COMPOSITION_COLUMN_TYPE, DATA_COMPOSITION_TYPE_DIRECTORY,
DATA_COMPOSITION_COLUMN_SIZE, (guint64) 4, -1);
- xfburn_data_disc_usage_add_size (XFBURN_DATA_DISC_USAGE (priv->disc_usage), (guint64) 4);
+ xfburn_disc_usage_add_size (XFBURN_DISC_USAGE (priv->disc_usage), (guint64) 4);
gdk_threads_leave ();
while ((filename = g_dir_read_name (dir))) {
@@ -1172,7 +1172,7 @@
DATA_COMPOSITION_COLUMN_TYPE, DATA_COMPOSITION_TYPE_FILE, -1);
#endif
- xfburn_data_disc_usage_add_size (XFBURN_DATA_DISC_USAGE (priv->disc_usage), s.st_size);
+ xfburn_disc_usage_add_size (XFBURN_DISC_USAGE (priv->disc_usage), s.st_size);
#ifdef HAVE_THUNAR_VFS
if (G_LIKELY (G_IS_OBJECT (mime_icon)))
g_object_unref (mime_icon);
@@ -1561,7 +1561,7 @@
gtk_tree_store_remove (GTK_TREE_STORE (model), &iter_src);
} else {
- xfburn_data_disc_usage_add_size (XFBURN_DATA_DISC_USAGE (priv->disc_usage), size);
+ xfburn_disc_usage_add_size (XFBURN_DISC_USAGE (priv->disc_usage), size);
}
gtk_tree_path_free (path_parent);
Modified: xfburn/trunk/xfburn/xfburn-data-disc-usage.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-data-disc-usage.c 2008-08-16 23:34:49 UTC (rev 5261)
+++ xfburn/trunk/xfburn/xfburn-data-disc-usage.c 2008-08-17 04:56:07 UTC (rev 5262)
@@ -25,6 +25,7 @@
#include <libxfce4util/libxfce4util.h>
#include <libxfcegui4/libxfcegui4.h>
+#include "xfburn-disc-usage.h"
#include "xfburn-data-disc-usage.h"
#include "xfburn-global.h"
#include "xfburn-settings.h"
@@ -36,21 +37,17 @@
static void xfburn_data_disc_usage_class_init (XfburnDataDiscUsageClass *);
static void xfburn_data_disc_usage_init (XfburnDataDiscUsage *);
-static void cb_button_clicked (GtkButton *, XfburnDataDiscUsage *);
-static void cb_combo_changed (GtkComboBox *, XfburnDataDiscUsage *);
+static gboolean can_burn (XfburnDiscUsage *disc_usage);
+static void xfburn_data_disc_usage_update_size (XfburnDiscUsage * disc_usage);
/* globals */
-static GtkHBoxClass *parent_class = NULL;
+static XfburnDiscUsageClass *parent_class = NULL;
#define DEFAULT_DISK_SIZE_LABEL 2
#define LAST_CD_LABEL 4
#define NUM_LABELS 7
-struct
-{
- guint64 size;
- gchar *label;
-} datadisksizes[] = {
+XfburnDiscLabels datadiscsizes[] = {
{
200 *1024 * 1024, "200MB CD"},
{
@@ -67,14 +64,6 @@
G_GINT64_CONSTANT(0x1fd3e0000), "7.9GB DVD"}, /* 8 543 666 176 */
};
-enum
-{
- BEGIN_BURN,
- LAST_SIGNAL,
-};
-
-static guint signals[LAST_SIGNAL];
-
/*******************************/
/* XfburnDataComposition class */
/*******************************/
@@ -96,7 +85,7 @@
(GInstanceInitFunc) xfburn_data_disc_usage_init
};
- disc_usage_type = g_type_register_static (GTK_TYPE_HBOX, "XfburnDataDiscUsage", &disc_usage_info, 0);
+ disc_usage_type = g_type_register_static (XFBURN_TYPE_DISC_USAGE, "XfburnDataDiscUsage", &disc_usage_info, 0);
}
return disc_usage_type;
@@ -106,55 +95,33 @@
xfburn_data_disc_usage_class_init (XfburnDataDiscUsageClass * klass)
{
GObjectClass *gobject_class;
+ XfburnDiscUsageClass *pklass;
parent_class = g_type_class_peek_parent (klass);
gobject_class = G_OBJECT_CLASS (klass);
- signals[BEGIN_BURN] = g_signal_new ("begin-burn", G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_ACTION,
- G_STRUCT_OFFSET (XfburnDataDiscUsageClass, begin_burn),
- NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
+ /* override virtual methods */
+ pklass = XFBURN_DISC_USAGE_CLASS(klass);
+
+ pklass->labels = parent_class->labels = datadiscsizes;
+ pklass->update_size = parent_class->update_size = xfburn_data_disc_usage_update_size;
+ pklass->can_burn = parent_class->can_burn = can_burn;
}
static void
xfburn_data_disc_usage_init (XfburnDataDiscUsage * disc_usage)
{
- int i;
-
- disc_usage->size = 0;
-
- disc_usage->progress_bar = gtk_progress_bar_new ();
- gtk_progress_bar_set_text (GTK_PROGRESS_BAR (disc_usage->progress_bar), "0 B");
- gtk_box_pack_start (GTK_BOX (disc_usage), disc_usage->progress_bar, TRUE, TRUE, BORDER);
- gtk_widget_show (disc_usage->progress_bar);
-
- disc_usage->combo = gtk_combo_box_new_text ();
- for (i = 0; i < G_N_ELEMENTS (datadisksizes); i++)
- gtk_combo_box_append_text (GTK_COMBO_BOX (disc_usage->combo), datadisksizes[i].label);
- gtk_combo_box_set_active (GTK_COMBO_BOX (disc_usage->combo), DEFAULT_DISK_SIZE_LABEL);
- gtk_box_pack_start (GTK_BOX (disc_usage), disc_usage->combo, FALSE, FALSE, BORDER);
- gtk_widget_show (disc_usage->combo);
-
- disc_usage->button = xfce_create_mixed_button (XFBURN_STOCK_BURN_CD, _("Proceed to Burn"));
- gtk_box_pack_start (GTK_BOX (disc_usage), disc_usage->button, FALSE, FALSE, BORDER);
- gtk_widget_set_sensitive (disc_usage->button, FALSE);
- gtk_widget_show (disc_usage->button);
- g_signal_connect (G_OBJECT (disc_usage->button), "clicked", G_CALLBACK (cb_button_clicked), disc_usage);
-
- g_signal_connect (G_OBJECT (disc_usage->combo), "changed", G_CALLBACK (cb_combo_changed), disc_usage);
- /* Disabling burn composition doesn't work when this is enabled */
- /*gtk_widget_set_sensitive (disc_usage->button, xfburn_main_window_support_cdr (xfburn_main_window_get_instance ()));*/
}
/* internals */
static void
-xfburn_data_disc_usage_update_size (XfburnDataDiscUsage * disc_usage, gboolean manual)
+xfburn_data_disc_usage_update_size (XfburnDiscUsage * disc_usage)
{
gfloat fraction;
gchar *size;
- int i;
- fraction = disc_usage->size / datadisksizes[gtk_combo_box_get_active (GTK_COMBO_BOX (disc_usage->combo))].size;
+ fraction = disc_usage->size / datadiscsizes[gtk_combo_box_get_active (GTK_COMBO_BOX (disc_usage->combo))].size;
if (fraction > 1.0)
fraction = 1.0;
if (fraction < 0.0)
@@ -169,75 +136,17 @@
gtk_progress_bar_set_text (GTK_PROGRESS_BAR (disc_usage->progress_bar), size);
- if (!manual) {
- i = 0;
- while (i < NUM_LABELS && disc_usage->size > datadisksizes[i].size) {
- i++;
- }
- gtk_combo_box_set_active (GTK_COMBO_BOX (disc_usage->combo), (i<NUM_LABELS ? i: i-1));
- }
-
- if (disc_usage->size == 0 ||
- disc_usage->size > datadisksizes[gtk_combo_box_get_active (GTK_COMBO_BOX (disc_usage->combo))].size)
- gtk_widget_set_sensitive (disc_usage->button, FALSE);
- else
- gtk_widget_set_sensitive (disc_usage->button, TRUE);
-
-
g_free (size);
}
-static void
-cb_button_clicked (GtkButton *button, XfburnDataDiscUsage *du)
+static gboolean
+can_burn (XfburnDiscUsage *disc_usage)
{
- if (du->size <= datadisksizes[gtk_combo_box_get_active (GTK_COMBO_BOX (du->combo))].size) {
- g_signal_emit (G_OBJECT (du), signals[BEGIN_BURN], 0);
- } else {
- xfce_err (_("You are trying to burn more data than the disk can contain !"));
- }
-}
-
-static void
-cb_combo_changed (GtkComboBox * combo, XfburnDataDiscUsage * usage)
-{
- xfburn_data_disc_usage_update_size (usage, TRUE);
-}
-
-/* public methods */
-gdouble
-xfburn_data_disc_usage_get_size (XfburnDataDiscUsage * disc_usage)
-{
- return disc_usage->size;
-}
-
-void
-xfburn_data_disc_usage_set_size (XfburnDataDiscUsage * disc_usage, gdouble size)
-{
- disc_usage->size = size;
- xfburn_data_disc_usage_update_size (disc_usage, FALSE);
-}
-
-void
-xfburn_data_disc_usage_add_size (XfburnDataDiscUsage * disc_usage, gdouble size)
-{
- disc_usage->size = disc_usage->size + size;
- xfburn_data_disc_usage_update_size (disc_usage, FALSE);
-}
-
-void
-xfburn_data_disc_usage_sub_size (XfburnDataDiscUsage * disc_usage, gdouble size)
-{
- disc_usage->size = disc_usage->size - size;
- xfburn_data_disc_usage_update_size (disc_usage, FALSE);
-}
-
-XfburnDataDiscType
-xfburn_data_disc_usage_get_disc_type (XfburnDataDiscUsage * disc_usage)
-{
- if (gtk_combo_box_get_active (GTK_COMBO_BOX (disc_usage->combo)) > LAST_CD_LABEL)
- return DVD_DISC;
+ if (disc_usage->size == 0 ||
+ disc_usage->size > datadiscsizes[gtk_combo_box_get_active (GTK_COMBO_BOX (disc_usage->combo))].size)
+ return FALSE;
else
- return CD_DISC;
+ return TRUE;
}
GtkWidget *
Modified: xfburn/trunk/xfburn/xfburn-data-disc-usage.h
===================================================================
--- xfburn/trunk/xfburn/xfburn-data-disc-usage.h 2008-08-16 23:34:49 UTC (rev 5261)
+++ xfburn/trunk/xfburn/xfburn-data-disc-usage.h 2008-08-17 04:56:07 UTC (rev 5262)
@@ -25,6 +25,7 @@
#endif
#include <gtk/gtk.h>
+#include "xfburn-disc-usage.h"
G_BEGIN_DECLS
@@ -37,38 +38,17 @@
typedef struct
{
- GtkVBox hbox;
-
- GtkWidget *progress_bar;
- GtkWidget *combo;
- GtkWidget *button;
-
- gdouble size;
+ XfburnDiscUsage disc_usage;
} XfburnDataDiscUsage;
typedef struct
{
- GtkHBoxClass parent_class;
-
- void (*begin_burn) (XfburnDataDiscUsage *du);
+ XfburnDiscUsageClass parent_class;
} XfburnDataDiscUsageClass;
-typedef enum
-{
- CD_DISC,
- DVD_DISC,
-} XfburnDataDiscType;
-
GtkType xfburn_data_disc_usage_get_type (void);
GtkWidget *xfburn_data_disc_usage_new (void);
-gdouble xfburn_data_disc_usage_get_size (XfburnDataDiscUsage *);
-void xfburn_data_disc_usage_set_size (XfburnDataDiscUsage *, gdouble);
-void xfburn_data_disc_usage_add_size (XfburnDataDiscUsage *, gdouble);
-void xfburn_data_disc_usage_sub_size (XfburnDataDiscUsage *, gdouble);
-
-XfburnDataDiscType xfburn_data_disc_usage_get_disc_type (XfburnDataDiscUsage *);
-
G_END_DECLS
#endif
Modified: xfburn/trunk/xfburn/xfburn-disc-usage.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-disc-usage.c 2008-08-16 23:34:49 UTC (rev 5261)
+++ xfburn/trunk/xfburn/xfburn-disc-usage.c 2008-08-17 04:56:07 UTC (rev 5262)
@@ -25,19 +25,22 @@
#include <libxfce4util/libxfce4util.h>
#include <libxfcegui4/libxfcegui4.h>
-#include "xfburn-data-disc-usage.h"
+#include "xfburn-disc-usage.h"
#include "xfburn-global.h"
#include "xfburn-settings.h"
#include "xfburn-utils.h"
#include "xfburn-stock.h"
#include "xfburn-main-window.h"
+
/* prototypes */
-static void xfburn_data_disc_usage_class_init (XfburnDataDiscUsageClass *);
-static void xfburn_data_disc_usage_init (XfburnDataDiscUsage *);
+static void xfburn_disc_usage_class_init (XfburnDiscUsageClass *);
+static void xfburn_disc_usage_init (XfburnDiscUsage *);
-static void cb_button_clicked (GtkButton *, XfburnDataDiscUsage *);
-static void cb_combo_changed (GtkComboBox *, XfburnDataDiscUsage *);
+static void update_size_default (XfburnDiscUsage *du);
+static gboolean can_burn_default (XfburnDiscUsage *du);
+static void cb_button_clicked (GtkButton *, XfburnDiscUsage *);
+static void cb_combo_changed (GtkComboBox *, XfburnDiscUsage *);
/* globals */
static GtkHBoxClass *parent_class = NULL;
@@ -46,27 +49,24 @@
#define LAST_CD_LABEL 4
#define NUM_LABELS 7
-struct
-{
- guint64 size;
- gchar *label;
-} datadisksizes[] = {
+XfburnDiscLabels testdiscsizes[] = {
{
- 200 *1024 * 1024, "200MB CD"},
+ 1, "200MB CD"},
{
- 681984000, "650MB CD"},
+ 10, "650MB CD"},
{
- 737280000, "700MB CD"},
+ 100, "700MB CD"},
{
- 829440000, "800MB CD"},
+ 1000, "800MB CD"},
{
- 912384000, "900MB CD"},
+ 10000, "900MB CD"},
{
- G_GINT64_CONSTANT(0x1182a0000), "4.3GB DVD"}, /* 4 700 372 992 */
+ 100000, "4.3GB DVD"},
{
- G_GINT64_CONSTANT(0x1fd3e0000), "7.9GB DVD"}, /* 8 543 666 176 */
+ 1000000, "7.9GB DVD"},
};
+/* signals */
enum
{
BEGIN_BURN,
@@ -76,34 +76,36 @@
static guint signals[LAST_SIGNAL];
/*******************************/
-/* XfburnDataComposition class */
+/* XfburnDiscUsage class */
/*******************************/
+static guint signals[LAST_SIGNAL];
+
GtkType
-xfburn_data_disc_usage_get_type (void)
+xfburn_disc_usage_get_type (void)
{
static GtkType disc_usage_type = 0;
if (!disc_usage_type) {
static const GTypeInfo disc_usage_info = {
- sizeof (XfburnDataDiscUsageClass),
+ sizeof (XfburnDiscUsageClass),
NULL,
NULL,
- (GClassInitFunc) xfburn_data_disc_usage_class_init,
+ (GClassInitFunc) xfburn_disc_usage_class_init,
NULL,
NULL,
- sizeof (XfburnDataDiscUsage),
+ sizeof (XfburnDiscUsage),
0,
- (GInstanceInitFunc) xfburn_data_disc_usage_init
+ (GInstanceInitFunc) xfburn_disc_usage_init
};
- disc_usage_type = g_type_register_static (GTK_TYPE_HBOX, "XfburnDataDiscUsage", &disc_usage_info, 0);
+ disc_usage_type = g_type_register_static (GTK_TYPE_HBOX, "XfburnDiscUsage", &disc_usage_info, 0);
}
return disc_usage_type;
}
static void
-xfburn_data_disc_usage_class_init (XfburnDataDiscUsageClass * klass)
+xfburn_disc_usage_class_init (XfburnDiscUsageClass * klass)
{
GObjectClass *gobject_class;
@@ -112,13 +114,19 @@
gobject_class = G_OBJECT_CLASS (klass);
signals[BEGIN_BURN] = g_signal_new ("begin-burn", G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_ACTION,
- G_STRUCT_OFFSET (XfburnDataDiscUsageClass, begin_burn),
+ G_STRUCT_OFFSET (XfburnDiscUsageClass, begin_burn),
NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
+
+ /* install default values */
+ klass->update_size = update_size_default;
+ klass->can_burn = can_burn_default;
+ klass->labels = testdiscsizes;
}
static void
-xfburn_data_disc_usage_init (XfburnDataDiscUsage * disc_usage)
+xfburn_disc_usage_init (XfburnDiscUsage * disc_usage)
{
+ XfburnDiscUsageClass *class = XFBURN_DISC_USAGE_GET_CLASS (disc_usage);
int i;
disc_usage->size = 0;
@@ -129,8 +137,8 @@
gtk_widget_show (disc_usage->progress_bar);
disc_usage->combo = gtk_combo_box_new_text ();
- for (i = 0; i < G_N_ELEMENTS (datadisksizes); i++)
- gtk_combo_box_append_text (GTK_COMBO_BOX (disc_usage->combo), datadisksizes[i].label);
+ for (i = 0; i < NUM_LABELS; i++)
+ gtk_combo_box_append_text (GTK_COMBO_BOX (disc_usage->combo), class->labels[i].label);
gtk_combo_box_set_active (GTK_COMBO_BOX (disc_usage->combo), DEFAULT_DISK_SIZE_LABEL);
gtk_box_pack_start (GTK_BOX (disc_usage), disc_usage->combo, FALSE, FALSE, BORDER);
gtk_widget_show (disc_usage->combo);
@@ -142,97 +150,95 @@
g_signal_connect (G_OBJECT (disc_usage->button), "clicked", G_CALLBACK (cb_button_clicked), disc_usage);
g_signal_connect (G_OBJECT (disc_usage->combo), "changed", G_CALLBACK (cb_combo_changed), disc_usage);
- /* Disabling burn composition doesn't work when this is enabled */
- /*gtk_widget_set_sensitive (disc_usage->button, xfburn_main_window_support_cdr (xfburn_main_window_get_instance ()));*/
+
}
/* internals */
-static void
-xfburn_data_disc_usage_update_size (XfburnDataDiscUsage * disc_usage, gboolean manual)
+static void
+update_size_default (XfburnDiscUsage *du)
{
- gfloat fraction;
gchar *size;
- int i;
- fraction = disc_usage->size / datadisksizes[gtk_combo_box_get_active (GTK_COMBO_BOX (disc_usage->combo))].size;
- if (fraction > 1.0)
- fraction = 1.0;
- if (fraction < 0.0)
- fraction = 0.0;
+ size = g_strdup_printf ("%.0lf", du->size);
- gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (disc_usage->progress_bar), fraction > 1.0 ? 1.0 : fraction);
+ gtk_progress_bar_set_text (GTK_PROGRESS_BAR (du->progress_bar), size);
- if (xfburn_settings_get_boolean ("human-readable-units", TRUE))
- size = xfburn_humanreadable_filesize ((guint64) disc_usage->size);
- else
- size = g_strdup_printf ("%.0lf B", disc_usage->size);
+ g_free (size);
+}
- gtk_progress_bar_set_text (GTK_PROGRESS_BAR (disc_usage->progress_bar), size);
+static gboolean
+can_burn_default (XfburnDiscUsage *du)
+{
+ return TRUE;
+}
+static void
+cb_button_clicked (GtkButton *button, XfburnDiscUsage *du)
+{
+ XfburnDiscUsageClass *class = XFBURN_DISC_USAGE_GET_CLASS (du);
+
+ if (du->size <= class->labels[gtk_combo_box_get_active (GTK_COMBO_BOX (du->combo))].size) {
+ g_signal_emit (G_OBJECT (du), signals[BEGIN_BURN], 0);
+ } else {
+ xfce_err (_("You are trying to burn more data than the disc can contain !"));
+ }
+}
+
+static void
+update_size (XfburnDiscUsage * disc_usage, gboolean manual)
+{
+ XfburnDiscUsageClass *class = XFBURN_DISC_USAGE_GET_CLASS (disc_usage);
+ int i;
+
+ class->update_size (disc_usage);
+
if (!manual) {
i = 0;
- while (i < NUM_LABELS && disc_usage->size > datadisksizes[i].size) {
+ while (i < NUM_LABELS && disc_usage->size > class->labels[i].size) {
i++;
}
gtk_combo_box_set_active (GTK_COMBO_BOX (disc_usage->combo), (i<NUM_LABELS ? i: i-1));
}
- if (disc_usage->size == 0 ||
- disc_usage->size > datadisksizes[gtk_combo_box_get_active (GTK_COMBO_BOX (disc_usage->combo))].size)
- gtk_widget_set_sensitive (disc_usage->button, FALSE);
- else
- gtk_widget_set_sensitive (disc_usage->button, TRUE);
-
-
- g_free (size);
+ gtk_widget_set_sensitive (disc_usage->button, class->can_burn (disc_usage));
}
-static void
-cb_button_clicked (GtkButton *button, XfburnDataDiscUsage *du)
-{
- if (du->size <= datadisksizes[gtk_combo_box_get_active (GTK_COMBO_BOX (du->combo))].size) {
- g_signal_emit (G_OBJECT (du), signals[BEGIN_BURN], 0);
- } else {
- xfce_err (_("You are trying to burn more data than the disk can contain !"));
- }
-}
-
static void
-cb_combo_changed (GtkComboBox * combo, XfburnDataDiscUsage * usage)
+cb_combo_changed (GtkComboBox * combo, XfburnDiscUsage * usage)
{
- xfburn_data_disc_usage_update_size (usage, TRUE);
+ update_size (usage, TRUE);
}
/* public methods */
gdouble
-xfburn_data_disc_usage_get_size (XfburnDataDiscUsage * disc_usage)
+xfburn_disc_usage_get_size (XfburnDiscUsage * disc_usage)
{
return disc_usage->size;
}
void
-xfburn_data_disc_usage_set_size (XfburnDataDiscUsage * disc_usage, gdouble size)
+xfburn_disc_usage_set_size (XfburnDiscUsage * disc_usage, gdouble size)
{
disc_usage->size = size;
- xfburn_data_disc_usage_update_size (disc_usage, FALSE);
+ update_size (disc_usage, FALSE);
}
void
-xfburn_data_disc_usage_add_size (XfburnDataDiscUsage * disc_usage, gdouble size)
+xfburn_disc_usage_add_size (XfburnDiscUsage * disc_usage, gdouble size)
{
disc_usage->size = disc_usage->size + size;
- xfburn_data_disc_usage_update_size (disc_usage, FALSE);
+ update_size (disc_usage, FALSE);
}
void
-xfburn_data_disc_usage_sub_size (XfburnDataDiscUsage * disc_usage, gdouble size)
+xfburn_disc_usage_sub_size (XfburnDiscUsage * disc_usage, gdouble size)
{
disc_usage->size = disc_usage->size - size;
- xfburn_data_disc_usage_update_size (disc_usage, FALSE);
+ update_size (disc_usage, FALSE);
}
-XfburnDataDiscType
-xfburn_data_disc_usage_get_disc_type (XfburnDataDiscUsage * disc_usage)
+XfburnDiscType
+xfburn_disc_usage_get_disc_type (XfburnDiscUsage * disc_usage)
{
if (gtk_combo_box_get_active (GTK_COMBO_BOX (disc_usage->combo)) > LAST_CD_LABEL)
return DVD_DISC;
@@ -241,8 +247,8 @@
}
GtkWidget *
-xfburn_data_disc_usage_new (void)
+xfburn_disc_usage_new (void)
{
- return g_object_new (xfburn_data_disc_usage_get_type (), NULL);
+ return g_object_new (xfburn_disc_usage_get_type (), NULL);
}
Modified: xfburn/trunk/xfburn/xfburn-disc-usage.h
===================================================================
--- xfburn/trunk/xfburn/xfburn-disc-usage.h 2008-08-16 23:34:49 UTC (rev 5261)
+++ xfburn/trunk/xfburn/xfburn-disc-usage.h 2008-08-17 04:56:07 UTC (rev 5262)
@@ -17,8 +17,8 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#ifndef __XFBURN_DATA_DISC_USAGE_H__
-#define __XFBURN_DATA_DISC_USAGE_H__
+#ifndef __XFBURN_DISC_USAGE_H__
+#define __XFBURN_DISC_USAGE_H__
#ifdef HAVE_CONFIG_H
#include <config.h>
@@ -28,12 +28,12 @@
G_BEGIN_DECLS
-#define XFBURN_TYPE_DATA_DISC_USAGE (xfburn_data_disc_usage_get_type ())
-#define XFBURN_DATA_DISC_USAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XFBURN_TYPE_DATA_DISC_USAGE, XfburnDataDiscUsage))
-#define XFBURN_DATA_DISC_USAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), XFBURN_TYPE_DATA_DISC_USAGE, XfburnDataDiscUsageClass))
-#define XFBURN_IS_DATA_DISC_USAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XFBURN_TYPE_DATA_DISC_USAGE))
-#define XFBURN_IS_DATA_DISC_USAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), XFBURN_TYPE_DATA_DISC_USAGE))
-#define XFBURN_DATA_DISC_USAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), XFBURN_TYPE_DATA_DISC_USAGE, XfburnDataDiscUsageClass))
+#define XFBURN_TYPE_DISC_USAGE (xfburn_disc_usage_get_type ())
+#define XFBURN_DISC_USAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XFBURN_TYPE_DISC_USAGE, XfburnDiscUsage))
+#define XFBURN_DISC_USAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), XFBURN_TYPE_DISC_USAGE, XfburnDiscUsageClass))
+#define XFBURN_IS_DISC_USAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XFBURN_TYPE_DISC_USAGE))
+#define XFBURN_IS_DISC_USAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), XFBURN_TYPE_DISC_USAGE))
+#define XFBURN_DISC_USAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), XFBURN_TYPE_DISC_USAGE, XfburnDiscUsageClass))
typedef struct
{
@@ -44,31 +44,44 @@
GtkWidget *button;
gdouble size;
-} XfburnDataDiscUsage;
+} XfburnDiscUsage;
typedef struct
{
+ guint64 size;
+ gchar *label;
+} XfburnDiscLabels;
+
+typedef struct
+{
GtkHBoxClass parent_class;
+ XfburnDiscLabels *labels;
- void (*begin_burn) (XfburnDataDiscUsage *du);
-} XfburnDataDiscUsageClass;
+ /* signals */
+ void (*begin_burn) (XfburnDiscUsage *du);
+ /* virtual functions */
+ void (*update_size) (XfburnDiscUsage *du);
+ gboolean (*can_burn) (XfburnDiscUsage *du);
+} XfburnDiscUsageClass;
+
typedef enum
{
CD_DISC,
DVD_DISC,
-} XfburnDataDiscType;
+} XfburnDiscType;
-GtkType xfburn_data_disc_usage_get_type (void);
-GtkWidget *xfburn_data_disc_usage_new (void);
-gdouble xfburn_data_disc_usage_get_size (XfburnDataDiscUsage *);
-void xfburn_data_disc_usage_set_size (XfburnDataDiscUsage *, gdouble);
-void xfburn_data_disc_usage_add_size (XfburnDataDiscUsage *, gdouble);
-void xfburn_data_disc_usage_sub_size (XfburnDataDiscUsage *, gdouble);
+GtkType xfburn_disc_usage_get_type (void);
+GtkWidget *xfburn_disc_usage_new (void);
-XfburnDataDiscType xfburn_data_disc_usage_get_disc_type (XfburnDataDiscUsage *);
+gdouble xfburn_disc_usage_get_size (XfburnDiscUsage *);
+void xfburn_disc_usage_set_size (XfburnDiscUsage *, gdouble);
+void xfburn_disc_usage_add_size (XfburnDiscUsage *, gdouble);
+void xfburn_disc_usage_sub_size (XfburnDiscUsage *, gdouble);
+XfburnDiscType xfburn_disc_usage_get_disc_type (XfburnDiscUsage *);
+
G_END_DECLS
#endif
More information about the Goodies-commits
mailing list