[Goodies-commits] r6045 - xfburn/trunk/xfburn

David Mohr squisher at xfce.org
Mon Nov 10 04:48:58 CET 2008


Author: squisher
Date: 2008-11-10 03:48:57 +0000 (Mon, 10 Nov 2008)
New Revision: 6045

Modified:
   xfburn/trunk/xfburn/xfburn-audio-disc-usage.c
   xfburn/trunk/xfburn/xfburn-data-disc-usage.c
   xfburn/trunk/xfburn/xfburn-disc-usage.c
Log:
Fixing bug where audio and data disc usage settings would mess each other up

Modified: xfburn/trunk/xfburn/xfburn-audio-disc-usage.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-audio-disc-usage.c	2008-11-09 23:27:19 UTC (rev 6044)
+++ xfburn/trunk/xfburn/xfburn-audio-disc-usage.c	2008-11-10 03:48:57 UTC (rev 6045)
@@ -35,7 +35,6 @@
 
 /* prototypes */
 static void xfburn_audio_disc_usage_class_init (XfburnAudioDiscUsageClass *);
-static void xfburn_audio_disc_usage_init (XfburnAudioDiscUsage *);
 
 static gboolean can_burn (XfburnDiscUsage *disc_usage);
 static void xfburn_audio_disc_usage_update_size (XfburnDiscUsage * disc_usage);
@@ -78,7 +77,7 @@
       NULL,
       sizeof (XfburnAudioDiscUsage),
       0,
-      (GInstanceInitFunc) xfburn_audio_disc_usage_init,
+      NULL,
       NULL
     };
 
@@ -91,30 +90,19 @@
 static void
 xfburn_audio_disc_usage_class_init (XfburnAudioDiscUsageClass * klass)
 {
-  GObjectClass *gobject_class;
   XfburnDiscUsageClass *pklass;
 
   parent_class = g_type_class_peek_parent (klass);
 
-  gobject_class = G_OBJECT_CLASS (klass);
-
   /* override virtual methods */
   pklass = XFBURN_DISC_USAGE_CLASS(klass);
   
-  pklass->labels = parent_class->labels = audiodiscsizes;
-  pklass->num_labels = parent_class->num_labels = G_N_ELEMENTS (audiodiscsizes);
-  //DBG ("labels @ %p", pklass);
-  //DBG ("num_labels @ %p = %d", &(pklass->num_labels), G_N_ELEMENTS (audiodiscsizes));
-  pklass->update_size = parent_class->update_size = xfburn_audio_disc_usage_update_size;
-  pklass->can_burn = parent_class->can_burn = can_burn;
+  pklass->labels      = audiodiscsizes;
+  pklass->num_labels  = G_N_ELEMENTS (audiodiscsizes);
+  pklass->update_size = xfburn_audio_disc_usage_update_size;
+  pklass->can_burn    = can_burn;
 }
 
-static void
-xfburn_audio_disc_usage_init (XfburnAudioDiscUsage * disc_usage)
-{
-  gtk_progress_bar_set_text (GTK_PROGRESS_BAR ( XFBURN_DISC_USAGE (disc_usage)->progress_bar), "0 B");
-}
-
 /* internals */
 static void
 xfburn_audio_disc_usage_update_size (XfburnDiscUsage * disc_usage)

Modified: xfburn/trunk/xfburn/xfburn-data-disc-usage.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-data-disc-usage.c	2008-11-09 23:27:19 UTC (rev 6044)
+++ xfburn/trunk/xfburn/xfburn-data-disc-usage.c	2008-11-10 03:48:57 UTC (rev 6045)
@@ -35,7 +35,6 @@
 
 /* prototypes */
 static void xfburn_data_disc_usage_class_init (XfburnDataDiscUsageClass *);
-static void xfburn_data_disc_usage_init (XfburnDataDiscUsage *);
 
 static gboolean can_burn (XfburnDiscUsage *disc_usage);
 static void xfburn_data_disc_usage_update_size (XfburnDiscUsage * disc_usage);
@@ -82,7 +81,7 @@
       NULL,
       sizeof (XfburnDataDiscUsage),
       0,
-      (GInstanceInitFunc) xfburn_data_disc_usage_init,
+      NULL,
       NULL
     };
 
@@ -95,28 +94,19 @@
 static void
 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);
-
   /* override virtual methods */
   pklass = XFBURN_DISC_USAGE_CLASS(klass);
   
-  pklass->labels = parent_class->labels = datadiscsizes;
-  pklass->num_labels = G_N_ELEMENTS (datadiscsizes);
-  pklass->update_size = parent_class->update_size = xfburn_data_disc_usage_update_size;
-  pklass->can_burn = parent_class->can_burn = can_burn;
+  pklass->labels      = datadiscsizes;
+  pklass->num_labels  = G_N_ELEMENTS (datadiscsizes);
+  pklass->update_size = xfburn_data_disc_usage_update_size;
+  pklass->can_burn    = can_burn;
 }
 
-static void
-xfburn_data_disc_usage_init (XfburnDataDiscUsage * disc_usage)
-{
-  gtk_progress_bar_set_text (GTK_PROGRESS_BAR ( XFBURN_DISC_USAGE (disc_usage)->progress_bar), "0 B");
-}
-
 /* internals */
 static void
 xfburn_data_disc_usage_update_size (XfburnDiscUsage * disc_usage)

Modified: xfburn/trunk/xfburn/xfburn-disc-usage.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-disc-usage.c	2008-11-09 23:27:19 UTC (rev 6044)
+++ xfburn/trunk/xfburn/xfburn-disc-usage.c	2008-11-10 03:48:57 UTC (rev 6045)
@@ -1,6 +1,7 @@
 /* $Id$ */
 /*
  * Copyright (c) 2005-2006 Jean-François Wauthy (pollux at xfce.org)
+ * Copyright (c) 2008      David Mohr <david at mcbf.net>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -17,6 +18,13 @@
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  */
 
+/* 
+ * This is an instantiable base class for the disc usage.
+ *
+ * Every composition type should extend it, but for testing it can be used
+ * as is.
+ */
+
 #ifdef	HAVE_CONFIG_H
 #include <config.h>
 #endif /* !HAVE_CONFIG_H */
@@ -35,7 +43,8 @@
 
 /* prototypes */
 static void xfburn_disc_usage_class_init (XfburnDiscUsageClass *);
-static void xfburn_disc_usage_init (XfburnDiscUsage *);
+//static void xfburn_disc_usage_init (XfburnDiscUsage *);
+static GObject * xfburn_disc_usage_constructor (GType type, guint n_construct_properties, GObjectConstructParam *construct_properties);
 
 static void update_size_default (XfburnDiscUsage *du);
 static gboolean can_burn_default (XfburnDiscUsage *du);
@@ -48,21 +57,22 @@
 #define DEFAULT_DISK_SIZE_LABEL 2
 #define LAST_CD_LABEL 4
 
+/* the sizes here are pretty arbitrary and are only for testing */
 XfburnDiscLabels testdiscsizes[] = {
   {
-  1, "200MB CD"},
+  1, "size 1"},
   {
-  100, "650MB CD"},
+  100, "size 100"},
   {
-  10000, "700MB CD"},
+  10000, "size 10000"},
   {
-  1000000, "800MB CD"},
+  1000000, "size 1m"},
   {
-  100000000, "900MB CD"},
+  100000000, "size 100m"},
   {
-  G_GINT64_CONSTANT (10000000000), "4.3GB DVD"},
+  G_GINT64_CONSTANT (10000000000), "10^10"},
   {
-  G_GINT64_CONSTANT (1000000000000), "7.9GB DVD"},
+  G_GINT64_CONSTANT (1000000000000), "10^12"},
 };
 
 /* signals */
@@ -94,7 +104,7 @@
       NULL,
       sizeof (XfburnDiscUsage),
       0,
-      (GInstanceInitFunc) xfburn_disc_usage_init,
+      NULL, //(GInstanceInitFunc) xfburn_disc_usage_init,
       NULL
     };
 
@@ -112,6 +122,7 @@
   parent_class = g_type_class_peek_parent (klass);
 
   gobject_class = G_OBJECT_CLASS (klass);
+  gobject_class->constructor = xfburn_disc_usage_constructor;
 
   signals[BEGIN_BURN] = g_signal_new ("begin-burn", G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_ACTION,
                                       G_STRUCT_OFFSET (XfburnDiscUsageClass, begin_burn),
@@ -124,12 +135,18 @@
   klass->num_labels = G_N_ELEMENTS (testdiscsizes);
 }
 
-static void
-xfburn_disc_usage_init (XfburnDiscUsage * disc_usage)
+static GObject *
+xfburn_disc_usage_constructor (GType type, guint n_construct_properties, GObjectConstructParam *construct_properties)
 {
-  XfburnDiscUsageClass *class = XFBURN_DISC_USAGE_GET_CLASS (disc_usage);
+  GObject *gobj;
+  XfburnDiscUsage *disc_usage;
+  XfburnDiscUsageClass *class;
   int i;
 
+  gobj = G_OBJECT_CLASS (parent_class)->constructor (type, n_construct_properties, construct_properties);
+  disc_usage = XFBURN_DISC_USAGE (gobj);
+  class = XFBURN_DISC_USAGE_GET_CLASS (disc_usage);
+
   disc_usage->size = 0;
 
   disc_usage->progress_bar = gtk_progress_bar_new ();
@@ -153,6 +170,9 @@
   
   g_signal_connect (G_OBJECT (disc_usage->combo), "changed", G_CALLBACK (cb_combo_changed), disc_usage);
 
+  class->update_size (disc_usage);
+
+  return gobj;
 }
 
 /* internals */




More information about the Goodies-commits mailing list