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

David Mohr squisher at xfce.org
Tue Apr 29 05:50:56 CEST 2008


Author: squisher
Date: 2008-04-29 03:50:55 +0000 (Tue, 29 Apr 2008)
New Revision: 4683

Modified:
   xfburn/trunk/xfburn/xfburn-burn-data-composition-base-dialog.c
   xfburn/trunk/xfburn/xfburn-data-composition.c
   xfburn/trunk/xfburn/xfburn-global.h
Log:
Ask for compilation name again in the burn dialog if it was left as the default

Modified: xfburn/trunk/xfburn/xfburn-burn-data-composition-base-dialog.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-burn-data-composition-base-dialog.c	2008-04-29 02:56:12 UTC (rev 4682)
+++ xfburn/trunk/xfburn/xfburn-burn-data-composition-base-dialog.c	2008-04-29 03:50:55 UTC (rev 4683)
@@ -51,6 +51,7 @@
   GtkWidget *device_box;
   GtkWidget *combo_mode;
 
+  GtkWidget *entry;
   GtkWidget *check_eject;
   GtkWidget *check_burnfree;
   GtkWidget *check_only_iso;
@@ -67,7 +68,7 @@
 
 /* prototypes */
 static void xfburn_burn_data_composition_base_dialog_class_init (XfburnBurnDataCompositionBaseDialogClass * klass);
-static void xfburn_burn_data_composition_base_dialog_init (XfburnBurnDataCompositionBaseDialog * obj);
+static GObject * xfburn_burn_data_composition_base_dialog_constructor (GType type, guint n_construct_properties, GObjectConstructParam *construct_properties);
 static void xfburn_burn_data_composition_base_dialog_finalize (GObject * object);
 
 static void xfburn_burn_data_composition_base_dialog_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec);
@@ -97,7 +98,7 @@
       NULL,
       sizeof (XfburnBurnDataCompositionBaseDialog),
       0,
-      (GInstanceInitFunc) xfburn_burn_data_composition_base_dialog_init,
+      NULL,
     };
 
     type = g_type_register_static (XFCE_TYPE_TITLED_DIALOG, "XfburnBurnDataCompositionBaseDialog", &our_info, 0);
@@ -114,6 +115,7 @@
   parent_class = g_type_class_peek_parent (klass);
   g_type_class_add_private (klass, sizeof (XfburnBurnDataCompositionBaseDialogPrivate));
   
+  object_class->constructor = xfburn_burn_data_composition_base_dialog_constructor;
   object_class->finalize = xfburn_burn_data_composition_base_dialog_finalize;
   object_class->get_property = xfburn_burn_data_composition_base_dialog_get_property;
   object_class->set_property = xfburn_burn_data_composition_base_dialog_set_property;
@@ -123,13 +125,15 @@
 				   g_param_spec_pointer ("image", "Image", "Image", G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE));
 }
 
-static void
-xfburn_burn_data_composition_base_dialog_init (XfburnBurnDataCompositionBaseDialog * obj)
+static GObject *
+xfburn_burn_data_composition_base_dialog_constructor (GType type, guint n_construct_properties, GObjectConstructParam *construct_properties)
 {
-  XfburnBurnDataCompositionBaseDialogPrivate *priv = XFBURN_BURN_DATA_COMPOSITION_BASE_DIALOG_GET_PRIVATE (obj);
+  GObject *gobj;
+  XfburnBurnDataCompositionBaseDialog *obj;
+  XfburnBurnDataCompositionBaseDialogPrivate *priv;
   
   GdkPixbuf *icon = NULL;
-  GtkBox *box = GTK_BOX (GTK_DIALOG (obj)->vbox);
+  GtkBox *box;
   GtkWidget *img;
   GtkWidget *frame;
   GtkWidget *vbox;
@@ -137,7 +141,13 @@
   GtkWidget *button;
   gchar *default_path;
   gchar *tmp_dir;
+  const char *comp_name;
 
+  gobj = G_OBJECT_CLASS (parent_class)->constructor (type, n_construct_properties, construct_properties);
+  obj = XFBURN_BURN_DATA_COMPOSITION_BASE_DIALOG (gobj);
+  priv = XFBURN_BURN_DATA_COMPOSITION_BASE_DIALOG_GET_PRIVATE (obj);
+  box = GTK_BOX (GTK_DIALOG (obj)->vbox);
+
   gtk_window_set_title (GTK_WINDOW (obj), _("Burn Composition"));
   gtk_window_set_destroy_with_parent (GTK_WINDOW (obj), TRUE);
   icon = gtk_widget_render_icon (GTK_WIDGET (obj), XFBURN_STOCK_BURN_CD, GTK_ICON_SIZE_DIALOG, NULL);
@@ -153,6 +163,30 @@
   gtk_widget_show (priv->frame_device);
   gtk_box_pack_start (box, priv->frame_device, FALSE, FALSE, BORDER);
 
+  /* composition name */
+  comp_name = iso_image_get_volume_id (priv->image);
+  if (strcmp (comp_name, _(DATA_COMPOSITION_DEFAULT_NAME)) == 0) {
+    GtkWidget *label;
+    vbox = gtk_vbox_new (FALSE, 0);
+    gtk_widget_show (vbox);
+
+    frame = xfce_create_framebox_with_content (_("Composition name"), vbox);
+    gtk_widget_show (frame);
+    gtk_box_pack_start (box, frame, FALSE, FALSE, BORDER);
+
+    label = gtk_label_new (NULL);
+    gtk_label_set_markup (GTK_LABEL (label), _("<small>Would you like to change the default composition name?</small>"));
+    gtk_widget_show (label);
+    gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, BORDER/2);
+
+    priv->entry = gtk_entry_new ();
+    gtk_entry_set_text (GTK_ENTRY (priv->entry), comp_name);
+    gtk_box_pack_start (GTK_BOX (vbox), priv->entry, FALSE, FALSE, BORDER);
+    gtk_widget_show (priv->entry);
+  } else {
+    priv->entry = NULL;
+  }
+
   /* options */
   vbox = gtk_vbox_new (FALSE, 0);
   gtk_widget_show (vbox);
@@ -222,6 +256,8 @@
 
   cb_disc_refreshed (priv->device_box, xfburn_device_box_get_selected_device (XFBURN_DEVICE_BOX (priv->device_box)), obj);
   g_signal_connect (G_OBJECT (obj), "response", G_CALLBACK (cb_dialog_response), priv);
+
+  return gobj;
 }
 
 static void
@@ -482,6 +518,13 @@
     struct burn_source * src = NULL;
     IsoWriteOpts *write_opts;
 
+    /* If the name was the default, update the image volume id and volset id */
+    if (priv->entry != NULL) {
+      const gchar * comp_name = gtk_entry_get_text (GTK_ENTRY (priv->entry));
+      iso_image_set_volume_id (priv->image, comp_name);
+      iso_image_set_volset_id (priv->image, comp_name);
+    }
+
     /* Sets profile 2 [distribution] */
     iso_write_opts_new (&write_opts, 2);
 

Modified: xfburn/trunk/xfburn/xfburn-data-composition.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-data-composition.c	2008-04-29 02:56:12 UTC (rev 4682)
+++ xfburn/trunk/xfburn/xfburn-data-composition.c	2008-04-29 03:50:55 UTC (rev 4683)
@@ -46,6 +46,7 @@
 #include <libisofs.h>
 
 #include "xfburn-data-composition.h"
+#include "xfburn-global.h"
 
 #if 0
 #include "xfburn-adding-progress.h"
@@ -302,7 +303,7 @@
   gtk_widget_show (label);
   
   priv->entry_volume_name = gtk_entry_new ();
-  gtk_entry_set_text (GTK_ENTRY (priv->entry_volume_name), _("Data composition"));
+  gtk_entry_set_text (GTK_ENTRY (priv->entry_volume_name), _(DATA_COMPOSITION_DEFAULT_NAME));
   gtk_box_pack_start (GTK_BOX (hbox), priv->entry_volume_name, FALSE, FALSE, 0);
   gtk_widget_show (priv->entry_volume_name);
   

Modified: xfburn/trunk/xfburn/xfburn-global.h
===================================================================
--- xfburn/trunk/xfburn/xfburn-global.h	2008-04-29 02:56:12 UTC (rev 4682)
+++ xfburn/trunk/xfburn/xfburn-global.h	2008-04-29 03:50:55 UTC (rev 4683)
@@ -40,4 +40,5 @@
 #define CDR_1X_SPEED 176
 #define DVD_1X_SPEED 1385
 
+#define DATA_COMPOSITION_DEFAULT_NAME "Data composition"
 #endif




More information about the Goodies-commits mailing list