[Xfce4-commits] r22665 - in xfburn/trunk: . xfburn

Jean-François Wauthy pollux at xfce.org
Sat Aug 5 12:44:06 UTC 2006


Author: pollux
Date: 2006-08-05 12:44:03 +0000 (Sat, 05 Aug 2006)
New Revision: 22665

Added:
   xfburn/trunk/xfburn/xfburn-write-mode-combo-box.c
   xfburn/trunk/xfburn/xfburn-write-mode-combo-box.h
Modified:
   xfburn/trunk/NEWS
   xfburn/trunk/class diagram.zuml
   xfburn/trunk/xfburn/Makefile.am
   xfburn/trunk/xfburn/xfburn-burn-data-composition-dialog.c
   xfburn/trunk/xfburn/xfburn-burn-image-dialog.c
   xfburn/trunk/xfburn/xfburn-main-window.c
Log:
Add support of SAO mode (bug #2121)

Modified: xfburn/trunk/NEWS
===================================================================
--- xfburn/trunk/NEWS	2006-08-05 08:45:14 UTC (rev 22664)
+++ xfburn/trunk/NEWS	2006-08-05 12:44:03 UTC (rev 22665)
@@ -1,6 +1,7 @@
 xfburn 0.x
 ==========
 
+- Add support of SAO mode (bug #2121)
 - Add create directory action in data composition
 - Prevent usage of empty filename in data composition
 - Fix xfburn.desktop Categories entry as suggested by Charles A Edwards <eslrahc at bellsouth.net>

Modified: xfburn/trunk/class diagram.zuml
===================================================================
(Binary files differ)

Modified: xfburn/trunk/xfburn/Makefile.am
===================================================================
--- xfburn/trunk/xfburn/Makefile.am	2006-08-05 08:45:14 UTC (rev 22664)
+++ xfburn/trunk/xfburn/Makefile.am	2006-08-05 12:44:03 UTC (rev 22665)
@@ -34,7 +34,8 @@
 	xfburn-directory-browser.h					\
 	xfburn-preferences-dialog.h					\
 	xfburn-stock.h							\
-	xfburn-utils.h
+	xfburn-utils.h							\
+	xfburn-write-mode-combo-box.h
 	
 xfburn_SOURCES =							\
 	$(xfburn_headers)						\
@@ -63,7 +64,8 @@
 	xfburn-directory-browser.c					\
 	xfburn-preferences-dialog.c					\
 	xfburn-stock.c							\
-	xfburn-utils.c
+	xfburn-utils.c							\
+	xfburn-write-mode-combo-box.c				
 
 xfburn_CFLAGS =								\
 	$(LIBXFCEGUI4_CFLAGS)						\

Modified: xfburn/trunk/xfburn/xfburn-burn-data-composition-dialog.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-burn-data-composition-dialog.c	2006-08-05 08:45:14 UTC (rev 22664)
+++ xfburn/trunk/xfburn/xfburn-burn-data-composition-dialog.c	2006-08-05 12:44:03 UTC (rev 22665)
@@ -26,6 +26,7 @@
 #include "xfburn-settings.h"
 #include "xfburn-burn-data-composition-progress-dialog.h"
 #include "xfburn-create-iso-from-composition-progress-dialog.h"
+#include "xfburn-write-mode-combo-box.h"
 
 #include "xfburn-burn-data-composition-dialog.h"
 
@@ -184,13 +185,7 @@
   gtk_widget_show (label);
   gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, BORDER);
 
-  priv->combo_mode = gtk_combo_box_new_text ();
-  gtk_combo_box_append_text (GTK_COMBO_BOX (priv->combo_mode), _("default"));
-  gtk_combo_box_append_text (GTK_COMBO_BOX (priv->combo_mode), "tao");
-  gtk_combo_box_append_text (GTK_COMBO_BOX (priv->combo_mode), "dao");
-  gtk_combo_box_append_text (GTK_COMBO_BOX (priv->combo_mode), "raw96p");
-  gtk_combo_box_append_text (GTK_COMBO_BOX (priv->combo_mode), "raw16");
-  gtk_combo_box_set_active (GTK_COMBO_BOX (priv->combo_mode), 0);
+  priv->combo_mode = xfburn_write_mode_combo_box_new ();
   gtk_box_pack_start (GTK_BOX (hbox), priv->combo_mode, TRUE, TRUE, BORDER);
   gtk_widget_show (priv->combo_mode);
 
@@ -324,24 +319,11 @@
       
       speed = gtk_combo_box_get_active_text (GTK_COMBO_BOX (priv->combo_speed));
 
-      switch (gtk_combo_box_get_active (GTK_COMBO_BOX (priv->combo_mode))) {
-      case 2:
-        write_mode = g_strdup (" -dao");
-        break;
-      case 3:
-        write_mode = g_strdup (" -raw96p");
-        break;
-      case 4:
-        write_mode = g_strdup (" -raw16");
-        break;
-      case 0:
-      case 1:
-      default:
-        write_mode = g_strdup (" -tao");
-      }
+      write_mode = xfburn_write_mode_combo_box_get_cdrecord_param (XFBURN_WRITE_MODE_COMBO_BOX (priv->combo_mode));
 
       command = g_strconcat ("sh -c \"mkisofs -gui -graft-points -joliet -full-iso9660-filenames -iso-level 2 -volid '", volid,
-                             "' -path-list ", priv->file_list, " | cdrecord -v gracetime=2", " dev=", device->node_path, write_mode, " speed=", speed,
+                             "' -path-list ", priv->file_list, " | cdrecord -v gracetime=2", " dev=", device->node_path, 
+                             " ", write_mode, " speed=", speed,
                              gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->check_eject)) ? " -eject" : "",
                              gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->check_dummy)) ? " -dummy" : "",
                              gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->check_burnfree)) ? " driveropts=burnfree" : "",

Modified: xfburn/trunk/xfburn/xfburn-burn-image-dialog.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-burn-image-dialog.c	2006-08-05 08:45:14 UTC (rev 22664)
+++ xfburn/trunk/xfburn/xfburn-burn-image-dialog.c	2006-08-05 12:44:03 UTC (rev 22665)
@@ -27,6 +27,7 @@
 #include "xfburn-utils.h"
 #include "xfburn-burn-image-progress-dialog.h"
 #include "xfburn-stock.h"
+#include "xfburn-write-mode-combo-box.h"
 
 #include "xfburn-burn-image-dialog.h"
 
@@ -179,13 +180,7 @@
   gtk_widget_show (label);
   gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, BORDER);
 
-  priv->combo_mode = gtk_combo_box_new_text ();
-  gtk_combo_box_append_text (GTK_COMBO_BOX (priv->combo_mode), _("default"));
-  gtk_combo_box_append_text (GTK_COMBO_BOX (priv->combo_mode), "tao");
-  gtk_combo_box_append_text (GTK_COMBO_BOX (priv->combo_mode), "dao");
-  gtk_combo_box_append_text (GTK_COMBO_BOX (priv->combo_mode), "raw96p");
-  gtk_combo_box_append_text (GTK_COMBO_BOX (priv->combo_mode), "raw16");
-  gtk_combo_box_set_active (GTK_COMBO_BOX (priv->combo_mode), 0);
+  priv->combo_mode = xfburn_write_mode_combo_box_new ();
   gtk_box_pack_start (GTK_BOX (hbox), priv->combo_mode, TRUE, TRUE, BORDER);
   gtk_widget_show (priv->combo_mode);
 
@@ -256,23 +251,9 @@
 
     speed = gtk_combo_box_get_active_text (GTK_COMBO_BOX (priv->combo_speed));
 
-    switch (gtk_combo_box_get_active (GTK_COMBO_BOX (priv->combo_mode))) {
-    case 2:
-      write_mode = g_strdup (" -dao");
-      break;
-    case 3:
-      write_mode = g_strdup (" -raw96p");
-      break;
-    case 4:
-      write_mode = g_strdup (" -raw16");
-      break;
-    case 0:
-    case 1:
-    default:
-      write_mode = g_strdup (" -tao");
-    }
+    write_mode = xfburn_write_mode_combo_box_get_cdrecord_param (XFBURN_WRITE_MODE_COMBO_BOX (priv->combo_mode));
 
-    command = g_strconcat ("cdrecord -v gracetime=2", " dev=", device->node_path, write_mode, " speed=", speed,
+    command = g_strconcat ("cdrecord -v gracetime=2", " dev=", device->node_path, " ", write_mode, " speed=", speed,
                            gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->check_eject)) ? " -eject" : "",
                            gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->check_dummy)) ? " -dummy" : "",
                            gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->check_burnfree)) ? " driveropts=burnfree"

Modified: xfburn/trunk/xfburn/xfburn-main-window.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-main-window.c	2006-08-05 08:45:14 UTC (rev 22664)
+++ xfburn/trunk/xfburn/xfburn-main-window.c	2006-08-05 12:44:03 UTC (rev 22665)
@@ -61,25 +61,25 @@
 static gboolean cb_delete_main_window (XfburnMainWindow *, GdkEvent *, XfburnMainWindowPrivate *);
 static void cb_edit_toolbars_view (ExoToolbarsView *, gpointer);
 
-static void xfburn_window_action_about (GtkAction *, XfburnMainWindow *);
-static void xfburn_window_action_preferences (GtkAction *, XfburnMainWindow *);
+static void action_about (GtkAction *, XfburnMainWindow *);
+static void action_preferences (GtkAction *, XfburnMainWindow *);
 
-static void xfburn_window_action_new_data_composition (GtkAction *, XfburnMainWindow *);
-static void xfburn_window_action_new_audio_composition (GtkAction *, XfburnMainWindow *);
+static void action_new_data_composition (GtkAction *, XfburnMainWindow *);
+static void action_new_audio_composition (GtkAction *, XfburnMainWindow *);
 
-static void xfburn_window_action_load (GtkAction *, XfburnMainWindow *);
-static void xfburn_window_action_save (GtkAction *, XfburnMainWindow *);
-static void xfburn_window_action_save_as (GtkAction *, XfburnMainWindow *);
-static void xfburn_window_action_close (GtkAction *, XfburnMainWindow *);
-static void xfburn_window_action_quit (GtkAction *, XfburnMainWindow *);
+static void action_load (GtkAction *, XfburnMainWindow *);
+static void action_save (GtkAction *, XfburnMainWindow *);
+static void action_save_as (GtkAction *, XfburnMainWindow *);
+static void action_close (GtkAction *, XfburnMainWindow *);
+static void action_quit (GtkAction *, XfburnMainWindow *);
 
-static void xfburn_window_action_blank_cd (GtkAction *, XfburnMainWindow *);
-static void xfburn_window_action_copy_cd (GtkAction *, XfburnMainWindow *);
-static void xfburn_window_action_burn_image (GtkAction *, XfburnMainWindow *);
+static void action_blank_cd (GtkAction *, XfburnMainWindow *);
+static void action_copy_cd (GtkAction *, XfburnMainWindow *);
+static void action_burn_image (GtkAction *, XfburnMainWindow *);
 
-static void xfburn_window_action_refresh_directorybrowser (GtkAction *, XfburnMainWindow *);
-static void xfburn_window_action_show_filebrowser (GtkToggleAction *, XfburnMainWindow *);
-static void xfburn_window_action_show_toolbar (GtkToggleAction * action, XfburnMainWindow * window);
+static void action_refresh_directorybrowser (GtkAction *, XfburnMainWindow *);
+static void action_show_filebrowser (GtkToggleAction *, XfburnMainWindow *);
+static void action_show_toolbar (GtkToggleAction * action, XfburnMainWindow * window);
 
 /* globals */
 static GtkWindowClass *parent_class = NULL;
@@ -87,45 +87,45 @@
   {"file-menu", NULL, N_("_File"), NULL,},
   /*{"new-composition", GTK_STOCK_NEW, N_("_New composition"), "", N_("Create a new composition"),},*/
   {"new-composition", GTK_STOCK_NEW, N_("_New composition"), NULL, N_("Create a new composition"), 
-    G_CALLBACK (xfburn_window_action_new_data_composition),},
+    G_CALLBACK (action_new_data_composition),},
   /*{"new-data-composition", GTK_STOCK_HARDDISK, N_("New data composition"), "<Control><Alt>e", N_("New data composition"),
-    G_CALLBACK (xfburn_window_action_new_data_composition),},
+    G_CALLBACK (action_new_data_composition),},
   {"new-audio-composition", "audio-x-generic", N_("New audio composition"), "<Control><Alt>A", N_("New audio composition"),
-    G_CALLBACK (xfburn_window_action_new_audio_composition),},*/
+    G_CALLBACK (action_new_audio_composition),},*/
   /*{"load-composition", GTK_STOCK_OPEN, N_("Load composition"), NULL, N_("Load composition"),
-   G_CALLBACK (xfburn_window_action_load),},
+   G_CALLBACK (action_load),},
   {"save-composition", GTK_STOCK_SAVE, N_("Save composition"), NULL, N_("Save composition"), 
-   G_CALLBACK (xfburn_window_action_save),},
+   G_CALLBACK (action_save),},
   {"save-composition-as", GTK_STOCK_SAVE_AS, N_("Save composition as..."), NULL, N_("Save composition as"), 
-   G_CALLBACK (xfburn_window_action_save_as),},*/
+   G_CALLBACK (action_save_as),},*/
   {"close-composition", GTK_STOCK_CLOSE, N_("Close composition"), NULL, N_("Close composition"), 
-   G_CALLBACK (xfburn_window_action_close),},
-  {"quit", GTK_STOCK_QUIT, N_("_Quit"), NULL, N_("Quit Xfburn"), G_CALLBACK (xfburn_window_action_quit),},
+   G_CALLBACK (action_close),},
+  {"quit", GTK_STOCK_QUIT, N_("_Quit"), NULL, N_("Quit Xfburn"), G_CALLBACK (action_quit),},
   {"edit-menu", NULL, N_("_Edit"), NULL,},
   {"preferences", GTK_STOCK_PREFERENCES, N_("Prefere_nces"), NULL, N_("Show preferences dialog"),
-   G_CALLBACK (xfburn_window_action_preferences),},
+   G_CALLBACK (action_preferences),},
   {"action-menu", NULL, N_("_Actions"), NULL,},
   {"view-menu", NULL, N_("_View"), NULL,},
   {"refresh", GTK_STOCK_REFRESH, N_("Refresh"), NULL, N_("Refresh file list"),
-   G_CALLBACK (xfburn_window_action_refresh_directorybrowser),},
+   G_CALLBACK (action_refresh_directorybrowser),},
   {"help-menu", NULL, N_("_Help"), NULL,},
   {"about", GTK_STOCK_ABOUT, N_("_About"), NULL, N_("Display information about Xfburn"),
-   G_CALLBACK (xfburn_window_action_about),},
+   G_CALLBACK (action_about),},
   {"blank-cd", "xfburn-blank-cdrw", N_("Blank CD-RW"), NULL, N_("Blank CD-RW"),
-   G_CALLBACK (xfburn_window_action_blank_cd),},
+   G_CALLBACK (action_blank_cd),},
   {"format-dvd", "xfburn-blank-dvdrw", N_("Format DVD-RW"), NULL, N_("Format DVD-RW"),},
   {"copy-data", "xfburn-data-copy", N_("Copy Data CD"), NULL, N_("Copy Data CD"),
-   G_CALLBACK (xfburn_window_action_copy_cd),},
+   G_CALLBACK (action_copy_cd),},
   {"copy-audio", "xfburn-audio-copy", N_("Copy Audio CD"), NULL, N_("Copy Audio CD"),},
   {"burn-cd", "xfburn-burn-cd", N_("Burn CD Image"), NULL, N_("Burn CD Image"),
-   G_CALLBACK (xfburn_window_action_burn_image),},
+   G_CALLBACK (action_burn_image),},
 };
 
 static const GtkToggleActionEntry toggle_action_entries[] = {
   {"show-filebrowser", NULL, N_("Show file browser"), NULL, N_("Show/hide the file browser"),
-   G_CALLBACK (xfburn_window_action_show_filebrowser), TRUE,},
+   G_CALLBACK (action_show_filebrowser), TRUE,},
   {"show-toolbar", NULL, N_("Show toolbar"), NULL, N_("Show/hide the toolbar"),
-   G_CALLBACK (xfburn_window_action_show_toolbar), TRUE,},
+   G_CALLBACK (action_show_toolbar), TRUE,},
 };
 
 static const gchar *toolbar_actions[] = {
@@ -353,7 +353,7 @@
 
 /* actions */
 static void
-xfburn_window_action_blank_cd (GtkAction * action, XfburnMainWindow * window)
+action_blank_cd (GtkAction * action, XfburnMainWindow * window)
 {
   GtkWidget *dialog;
   
@@ -363,7 +363,7 @@
   gtk_widget_destroy (dialog);
 }
 
-static void xfburn_window_action_copy_cd (GtkAction *action, XfburnMainWindow *window)
+static void action_copy_cd (GtkAction *action, XfburnMainWindow *window)
 {
   GtkWidget *dialog;
   
@@ -374,7 +374,7 @@
 }
 
 static void
-xfburn_window_action_burn_image (GtkAction * action, XfburnMainWindow * window)
+action_burn_image (GtkAction * action, XfburnMainWindow * window)
 {
   GtkWidget *dialog;
   
@@ -385,7 +385,7 @@
 }
 
 static void
-xfburn_window_action_load (GtkAction *action, XfburnMainWindow * window)
+action_load (GtkAction *action, XfburnMainWindow * window)
 {
   XfburnMainWindowPrivate *priv = XFBURN_MAIN_WINDOW_GET_PRIVATE (window);
   
@@ -393,7 +393,7 @@
 }
 
 static void
-xfburn_window_action_save (GtkAction *action, XfburnMainWindow * window)
+action_save (GtkAction *action, XfburnMainWindow * window)
 {
   XfburnMainWindowPrivate *priv = XFBURN_MAIN_WINDOW_GET_PRIVATE (window);
   
@@ -401,14 +401,14 @@
 }
 
 static void
-xfburn_window_action_save_as (GtkAction *action, XfburnMainWindow * window)
+action_save_as (GtkAction *action, XfburnMainWindow * window)
 {
   XfburnMainWindowPrivate *priv = XFBURN_MAIN_WINDOW_GET_PRIVATE (window);
   
 }
 
 static void
-xfburn_window_action_close (GtkAction *action, XfburnMainWindow * window)
+action_close (GtkAction *action, XfburnMainWindow * window)
 {
   XfburnMainWindowPrivate *priv = XFBURN_MAIN_WINDOW_GET_PRIVATE (window);
   
@@ -416,7 +416,7 @@
 }
 
 static void
-xfburn_window_action_new_data_composition (GtkAction *action, XfburnMainWindow * window)
+action_new_data_composition (GtkAction *action, XfburnMainWindow * window)
 {
   XfburnMainWindowPrivate *priv = XFBURN_MAIN_WINDOW_GET_PRIVATE (window);
  
@@ -424,21 +424,21 @@
 }
 
 static void
-xfburn_window_action_new_audio_composition (GtkAction *action, XfburnMainWindow * window)
+action_new_audio_composition (GtkAction *action, XfburnMainWindow * window)
 {
   XfburnMainWindowPrivate *priv = XFBURN_MAIN_WINDOW_GET_PRIVATE (window);
  
 }
 
 static void
-xfburn_window_action_quit (GtkAction * action, XfburnMainWindow * window)
+action_quit (GtkAction * action, XfburnMainWindow * window)
 {
   if (xfce_confirm (_("Are sure you want to quit?"), GTK_STOCK_QUIT, _("_Quit")))
     gtk_main_quit ();
 }
 
 static void
-xfburn_window_action_about (GtkAction * action, XfburnMainWindow * window)
+action_about (GtkAction * action, XfburnMainWindow * window)
 {
   XfceAboutInfo *info;
   GtkWidget *dialog;
@@ -495,7 +495,7 @@
 }
 
 static void
-xfburn_window_action_preferences (GtkAction * action, XfburnMainWindow * window)
+action_preferences (GtkAction * action, XfburnMainWindow * window)
 {
   GtkWidget *dialog;
 
@@ -507,7 +507,7 @@
 }
 
 static void
-xfburn_window_action_refresh_directorybrowser (GtkAction * action, XfburnMainWindow * window)
+action_refresh_directorybrowser (GtkAction * action, XfburnMainWindow * window)
 {
   XfburnMainWindowPrivate *priv = XFBURN_MAIN_WINDOW_GET_PRIVATE (window);
   
@@ -515,7 +515,7 @@
 }
 
 static void
-xfburn_window_action_show_filebrowser (GtkToggleAction * action, XfburnMainWindow * window)
+action_show_filebrowser (GtkToggleAction * action, XfburnMainWindow * window)
 {
   XfburnMainWindowPrivate *priv = XFBURN_MAIN_WINDOW_GET_PRIVATE (window);
   
@@ -530,7 +530,7 @@
 }
 
 static void
-xfburn_window_action_show_toolbar (GtkToggleAction * action, XfburnMainWindow * window)
+action_show_toolbar (GtkToggleAction * action, XfburnMainWindow * window)
 {
   XfburnMainWindowPrivate *priv = XFBURN_MAIN_WINDOW_GET_PRIVATE (window);
   

Added: xfburn/trunk/xfburn/xfburn-write-mode-combo-box.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-write-mode-combo-box.c	                        (rev 0)
+++ xfburn/trunk/xfburn/xfburn-write-mode-combo-box.c	2006-08-05 12:44:03 UTC (rev 22665)
@@ -0,0 +1,124 @@
+/* $Id$ */
+/*
+ *  Copyright (c) 2005-2006 Jean-François Wauthy (pollux at xfce.org)
+ *
+ *  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
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Library General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifdef	HAVE_CONFIG_H
+#include <config.h>
+#endif /* !HAVE_CONFIG_H */
+
+#include <gtk/gtk.h>
+
+#include <libxfce4util/libxfce4util.h>
+
+#include "xfburn-write-mode-combo-box.h"
+
+/* global */
+typedef struct _Setting Setting;
+  
+static void xfburn_write_mode_combo_box_class_init (XfburnWriteModeComboBoxClass * klass);
+static void xfburn_write_mode_combo_box_init (XfburnWriteModeComboBox * combo);
+
+/* private */
+static struct
+{
+  gchar *write_mode, *param;
+} write_modes[] = { 
+  {N_("Default"), "-tao"},
+  {"TAO", "-tao"},
+  {"SAO", "-sao"},
+  {"DAO", "-dao"},
+  {"RAW96P", "-raw96p"},
+  {"RAW16", "-raw16"},
+};
+
+/**********************/
+/* object declaration */
+/**********************/
+static GtkComboBoxClass *parent_class = NULL;
+
+GType
+xfburn_write_mode_combo_box_get_type ()
+{
+  static GType type = 0;
+
+  if (type == 0) {
+    static const GTypeInfo our_info = {
+      sizeof (XfburnWriteModeComboBoxClass),
+      NULL,
+      NULL,
+      (GClassInitFunc) xfburn_write_mode_combo_box_class_init,
+      NULL,
+      NULL,
+      sizeof (XfburnWriteModeComboBox),
+      0,
+      (GInstanceInitFunc) xfburn_write_mode_combo_box_init,
+    };
+
+    type = g_type_register_static (GTK_TYPE_COMBO_BOX, "XfburnWriteModeComboBox", &our_info, 0);
+  }
+
+  return type;
+}
+
+static void
+xfburn_write_mode_combo_box_class_init (XfburnWriteModeComboBoxClass * klass)
+{ 
+  parent_class = g_type_class_peek_parent (klass);
+}
+
+static void
+xfburn_write_mode_combo_box_init (XfburnWriteModeComboBox *combo)
+{
+  GtkCellRenderer *cell;
+  GtkListStore *store;
+
+  guint n;
+
+  store = gtk_list_store_new (1, G_TYPE_STRING); 
+  gtk_combo_box_set_model (GTK_COMBO_BOX (combo), GTK_TREE_MODEL (store));
+  g_object_unref (store);
+
+  cell = gtk_cell_renderer_text_new ();
+  gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), cell, TRUE);
+  gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo), cell, "text", 0, NULL);
+ 
+  for (n = 0; n < G_N_ELEMENTS (write_modes); ++n) {
+    gtk_combo_box_append_text (GTK_COMBO_BOX (combo), _(write_modes[n].write_mode));
+  }
+  
+  gtk_combo_box_set_active (GTK_COMBO_BOX (combo), 0);
+}
+
+/******************/
+/* public methods */
+/******************/
+GtkWidget *
+xfburn_write_mode_combo_box_new ()
+{
+  return GTK_WIDGET (g_object_new (XFBURN_TYPE_WRITE_MODE_COMBO_BOX, NULL));
+}
+
+gchar *
+xfburn_write_mode_combo_box_get_cdrecord_param (XfburnWriteModeComboBox *combo)
+{
+  gchar *param = NULL;
+  
+  param = write_modes[gtk_combo_box_get_active (GTK_COMBO_BOX (combo))].param;
+  
+  return g_strdup (param);
+}


Property changes on: xfburn/trunk/xfburn/xfburn-write-mode-combo-box.c
___________________________________________________________________
Name: svn:keywords
   + Id

Added: xfburn/trunk/xfburn/xfburn-write-mode-combo-box.h
===================================================================
--- xfburn/trunk/xfburn/xfburn-write-mode-combo-box.h	                        (rev 0)
+++ xfburn/trunk/xfburn/xfburn-write-mode-combo-box.h	2006-08-05 12:44:03 UTC (rev 22665)
@@ -0,0 +1,55 @@
+/* $Id$ */
+/*
+ *  Copyright (c) 2006 Jean-François Wauthy (pollux at xfce.org)
+ *
+ *  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
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Library General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __XFBURN_WRITE_MODE_COMBO_BOX_H__
+#define __XFBURN_WRITE_MODE_COMBO_BOX_H__
+
+#ifdef	HAVE_CONFIG_H
+#include <config.h>
+#endif /* !HAVE_CONFIG_H */
+
+#include <gtk/gtk.h>
+
+G_BEGIN_DECLS
+
+#define XFBURN_TYPE_WRITE_MODE_COMBO_BOX         (xfburn_write_mode_combo_box_get_type ())
+#define XFBURN_WRITE_MODE_COMBO_BOX(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), XFBURN_TYPE_WRITE_MODE_COMBO_BOX, XfburnWriteModeComboBox))
+#define XFBURN_WRITE_MODE_COMBO_BOX_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), XFBURN_TYPE_WRITE_MODE_COMBO_BOX, XfburnWriteModeComboBoxClass))
+#define XFBURN_IS_WRITE_MODE_COMBO_BOX(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), XFBURN_TYPE_WRITE_MODE_COMBO_BOX))
+#define XFBURN_IS_WRITE_MODE_COMBO_BOX_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), XFBURN_TYPE_WRITE_MODE_COMBO_BOX))
+#define XFBURN_WRITE_MODE_COMBO_BOX_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), XFBURN_TYPE_WRITE_MODE_COMBO_BOX, XfburnWriteModeComboBoxClass))
+
+typedef struct
+{
+  GtkComboBox parent;
+} XfburnWriteModeComboBox;
+
+typedef struct
+{
+  GtkComboBoxClass parent_class;
+} XfburnWriteModeComboBoxClass;
+
+GType xfburn_write_mode_combo_box_get_type ();
+
+GtkWidget *xfburn_write_mode_combo_box_new ();
+
+gchar * xfburn_write_mode_combo_box_get_cdrecord_param (XfburnWriteModeComboBox *combo);
+
+G_END_DECLS
+#endif


Property changes on: xfburn/trunk/xfburn/xfburn-write-mode-combo-box.h
___________________________________________________________________
Name: svn:keywords
   + Id



More information about the Xfce4-commits mailing list