graveman-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Graveman-cvs] Changes to graveman/current/src/callbacks.c


From: sylvain cresto
Subject: [Graveman-cvs] Changes to graveman/current/src/callbacks.c
Date: Sun, 20 Feb 2005 20:25:40 -0500

Index: graveman/current/src/callbacks.c
diff -u graveman/current/src/callbacks.c:1.20 
graveman/current/src/callbacks.c:1.21
--- graveman/current/src/callbacks.c:1.20       Sun Feb 20 17:45:02 2005
+++ graveman/current/src/callbacks.c    Mon Feb 21 01:25:28 2005
@@ -1049,7 +1049,12 @@
     }
 
     if (Loperation == WRITE_CD) {
-      Ltxt = _("Do you really want to create a data cd ?");
+      if 
(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(sc_grave_get_widget(Lg, 
"datamulti")))) {
+        Loperation = WRITE_CD_MULTI;
+        Ltxt = _("Do you really want to start or continue a multi session data 
cd ?");
+      } else {
+        Ltxt = _("Do you really want to create a data cd ?");
+      }
       Ltitle = _("Writing data cd in progress...");
       Ldevice = sc_grave_get_widget(Lg, "dstdatacombo");
     } else {
@@ -1065,11 +1070,13 @@
  
   /* confirmation debut de l'operation */ 
 
-  if (Loperation == WRITE_CD) {
-    /* on affiche l'option "effacer le CDRW que lorsque c'est un graveur qui 
le permet .. */
+  if (Loperation != WRITE_DVD) {
+    /* on affiche l'option "effacer le CDRW que lorsque c'est un graveur qui 
le permet et que l'on
+     * ne continue pas un cd multi session .. */
     Lwritercdrw = DRIVE_CDRW_WRITER(get_drive_cmb(GTK_COMBO_BOX(Ldevice))) ? 
TRUE : FALSE;
     Ldialoghash = create_dialog_confirm_operation(Lwindow1, Ltxt,
-       Lwritercdrw == TRUE ? _("Blank CD-RW before writing") : NULL, 
conf_get_boolean("autoblank"));
+       Loperation != WRITE_CD_MULTI && Lwritercdrw == TRUE ?
+        _("Blank CD-RW before writing") : NULL, conf_get_boolean("autoblank"));
   } else {
     /* confirmation gravure dvd */
     Ldialoghash = create_dialog_select_dvdoperation(Lwindow1);
@@ -1080,7 +1087,7 @@
 
   if (Lrep == GTK_RESPONSE_YES) {
     /* ok go ! */
-    if (Loperation == WRITE_CD) {
+    if (Loperation != WRITE_DVD) {
       GtkCheckButton *Labcheck = 
GTK_CHECK_BUTTON(sc_grave_get_widget(Ldialoghash, "checkbox"));
 
       g_assert(GTK_IS_WIDGET(Labcheck));
@@ -1098,7 +1105,7 @@
 
     show_graverwindow(Lg, (gchar *)Lname, Ltitle);
 
-    if (Loperation == WRITE_CD) {
+    if (Loperation != WRITE_DVD) {
       sc_grave_del_data(Lg, "useautoblank");
     } else {
       sc_grave_del_data(Lg, "typeburn");
@@ -1364,7 +1371,7 @@
   Tgrave *Lg = (Tgrave *)Adata;
   GtkProgressBar *Lprog = GTK_PROGRESS_BAR(sc_grave_get_data(Lg, "progress"));
   gint *Lcont = (gint *)sc_grave_get_data(Lg, "cont");
-
+printf("toto ici\n");
   gtk_progress_bar_pulse(Lprog);
 
   if ((*Lcont) == 1) (*Lcont) = 0;
@@ -1406,6 +1413,7 @@
   gchar *Ltxt;
   GSList *Lcur;
   Tdriveinfo *Ldrive;
+  guint Ltimeout;
   
   Lwin = sc_grave_get_widget(Lg, "window_inprogress"); 
 
@@ -1416,7 +1424,7 @@
   g_signal_connect(G_OBJECT(sc_grave_get_widget(Lg, "cancelbt")), "clicked", 
G_CALLBACK(abort_encours), (GtkWidget *)Lg);
 
   gtk_widget_show(Lwin);
-  g_timeout_add(500, encours_callback, Lg);
+  Ltimeout = g_timeout_add(500, encours_callback, Lg);
 
   scan_for_drives(Lg, NULL);
 
@@ -1434,8 +1442,7 @@
   }
 
   /* on attend la fin d'execution de la popup d'attente */
-  Lcont = 1;
-  while (Lcont > 0) { while(gtk_events_pending()) gtk_main_iteration(); }
+  g_source_remove(Ltimeout);
 
   gtk_widget_destroy(Lwin);
   if (GTK_IS_WIDGET(Aobj) && Labort == FALSE) {
@@ -1792,6 +1799,17 @@
   g_free(Lname);
 }
 
+/* lorsque l'on coche/decoche "continuer un cd multi session" */
+void change_datamulti(GtkWidget *Amulti, gpointer Adata)
+{
+  Tgrave *Lg = (Tgrave *)Adata;
+  gboolean Lact = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Amulti));
+  GtkSpinButton *Lspin = GTK_SPIN_BUTTON(sc_grave_get_widget(Lg, "nbrcddata"));
+
+  if (Lact) gtk_spin_button_set_value(Lspin, 1);
+  gtk_widget_set_sensitive(GTK_WIDGET(Lspin), ! Lact);
+}
+
 /* definir/enlever l'image de boot */
 #if 0
 void gtk_def_imageboot(GtkWidget *Abtn, gpointer Adata)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]