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/cdrecord.c


From: sylvain cresto
Subject: [Graveman-cvs] Changes to graveman/current/src/cdrecord.c
Date: Sun, 03 Apr 2005 21:37:47 -0400

Index: graveman/current/src/cdrecord.c
diff -u graveman/current/src/cdrecord.c:1.27 
graveman/current/src/cdrecord.c:1.28
--- graveman/current/src/cdrecord.c:1.27        Thu Mar 31 22:14:12 2005
+++ graveman/current/src/cdrecord.c     Mon Apr  4 01:37:42 2005
@@ -369,9 +369,10 @@
   gboolean Lstatus = FALSE;
   gboolean Leject = FALSE;
   GtkToggleButton *Ltbtn = NULL;
-  gint Lmediadetect1 = _MEDIA_CDRW;
   Tdriveinfo *Ldevice = NULL;
   gchar Lgravident[_BUF_SIZE];
+  gint Lmediadetect1 = _MEDIA_CDRW;
+
   g_snprintf(Lgravident, sizeof(Lgravident)-1, "dst%scombo", Aop);
 
   Ldevice = get_drive_info(Ag, Lgravident);
@@ -390,28 +391,41 @@
     if (Lcurcd > 1 && !Ldosimul) {
       /* copie sur un nouveau cd, on demande a l'utilisateur d'inserer le
        * nouveau cd vierge */
-      GSList *Llmediarequis = g_slist_append(NULL, GINT_TO_POINTER(_MEDIA_CDR 
+ _MEDIA_APPENDABLE));
+      GSList *Llmediarequis1 = sc_grave_get_data(Ag, "mediarequis1");
+      gint *Lmediatitle1 = sc_grave_get_data(Ag, "mediatitle1");
+      gchar *Ltxt = sc_grave_get_data(Ag, "medialabel");
       gboolean Lstatus;
+      Tgrave *Ldialoghash;
+      GtkWidget *Lconfirm;
+      gint Lrep;
 
-/*      gint Lrep;
-      GtkWidget *Lconfirm = gtk_message_dialog_new(Lwindow,
-                                              GTK_DIALOG_MODAL, 
GTK_MESSAGE_QUESTION,
-                                              GTK_BUTTONS_YES_NO,
-                 _("Now you should insert next CD-R, do you want to continue 
operation ?"));
-      Lrep = gtk_dialog_run(GTK_DIALOG(Lconfirm));
-      gtk_widget_destroy(Lconfirm);
-      if (Lrep == GTK_RESPONSE_NO) { */
-      Lstatus = waiting_for_user(_MEDIA_BLANKORAPPENDABLE, Ag, Llmediarequis, 
&Lmediadetect1, Ldevice);
-
-      g_slist_free(Llmediarequis);
+      eject_cd(DRIVE_DEV(Ldevice), NULL);
+      Lstatus = waiting_for_user(*Lmediatitle1, Ag, Llmediarequis1 , 
&Lmediadetect1, Ldevice);
           
       if (Lstatus==FALSE) {
         /* si c'est non alors on arrete */
-        *Labort = TRUE;
-        Lstatus = TRUE;
-        break;
+        *Labort = TRUE; Lstatus = TRUE; break;
+      } 
+      
+      Ldialoghash = create_dialog_confirm_operation(GTK_WIDGET(Lwindow), Ltxt,
+       DRIVE_CDRW_WRITER(Ldevice) == TRUE &&
+        ((Lmediadetect1 & _MEDIA_CDRW) && (Lmediadetect1 & _MEDIA_NOBLANK)) ?
+        _("Blank CD-RW before writing") : NULL, conf_get_boolean("autoblank"));
+
+      Lconfirm = sc_grave_get_data(Ldialoghash, "window");
+      Lrep = gtk_dialog_run(GTK_DIALOG(Lconfirm));
+
+      if (Lrep != GTK_RESPONSE_YES) {
+        /* si c'est non alors on arrete */
+        *Labort = TRUE; Lstatus = TRUE;
+      } else if (DRIVE_CDRW_WRITER(Ldevice) == TRUE) {
+        gboolean *Luseautoblank = (gboolean *) sc_grave_get_data(Ag, 
"useautoblank");
+        GtkCheckButton *Labcheck = 
GTK_CHECK_BUTTON(sc_grave_get_widget(Ldialoghash, "checkbox"));
+        *Luseautoblank = 
gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Labcheck));
       }
+      gtk_widget_destroy(Lconfirm);
 
+      if (*Labort == TRUE) break;
     }
 
     /* faut il ejecter le CD-R apres l'operation ?
@@ -676,7 +690,7 @@
     gtk_label_set_text(Ltitle, _("Fixating..."));
   } else if (strstr(Lbuffer, CDRECORD_BLANKING)) {
     /* blanking disk */
-    gtk_label_set_text(Ltitle, _("Blanking..."));
+    gtk_label_set_text(Ltitle, _("Blanking CD-RW..."));
   } else if ((f=strstr(Lbuffer, CDRECORD_STATUS))) {
     gboolean *Lstatus = (gboolean *) sc_grave_get_data(Lg, "operationstatus");
 /* bug 11803
@@ -784,26 +798,41 @@
     if (Lcurcd > 1 && !Ldosimul) {
       /* copie sur un nouveau cd, on demande a l'utilisateur d'inserer le
        * nouveau cd vierge */
-      GSList *Llmediarequis = g_slist_append(NULL, GINT_TO_POINTER(_MEDIA_CDR 
+ _MEDIA_APPENDABLE));
+      GSList *Llmediarequis1 = sc_grave_get_data(Ag, "mediarequis1");
+      gint *Lmediatitle1 = sc_grave_get_data(Ag, "mediatitle1");
+      gchar *Ltxt = sc_grave_get_data(Ag, "medialabel");
       gboolean Lstatus;
-/*      gint Lrep;
-      GtkWidget *Lconfirm = gtk_message_dialog_new(Lwindow,
-                                              GTK_DIALOG_MODAL, 
GTK_MESSAGE_QUESTION,
-                                              GTK_BUTTONS_YES_NO,
-                 _("Now you should insert next CD-R, do you want to continue 
operation ?"));
-      Lrep = gtk_dialog_run(GTK_DIALOG(Lconfirm));
-      gtk_widget_destroy(Lconfirm);
-      if (Lrep == GTK_RESPONSE_NO) {*/
-      Lstatus = waiting_for_user(_MEDIA_BLANKORAPPENDABLE, Ag, Llmediarequis , 
&Lmediadetect1, Ldevice);
+      Tgrave *Ldialoghash;
+      GtkWidget *Lconfirm;
+      gint Lrep;
 
-      g_slist_free(Llmediarequis);
+      eject_cd(DRIVE_DEV(Ldevice), NULL);
+      Lstatus = waiting_for_user(*Lmediatitle1, Ag, Llmediarequis1 , 
&Lmediadetect1, Ldevice);
           
       if (Lstatus==FALSE) {
         /* si c'est non alors on arrete */
-        *Labort = TRUE;
-        Lstatus = TRUE;
+        *Labort = TRUE; Lstatus = TRUE; break;
+      } 
+      
+      Ldialoghash = create_dialog_confirm_operation(GTK_WIDGET(Lwindow), Ltxt,
+       DRIVE_CDRW_WRITER(Ldevice) == TRUE &&
+        ((Lmediadetect1 & _MEDIA_CDRW) && (Lmediadetect1 & _MEDIA_NOBLANK)) ?
+        _("Blank CD-RW before writing") : NULL, conf_get_boolean("autoblank"));
+
+      Lconfirm = sc_grave_get_data(Ldialoghash, "window");
+      Lrep = gtk_dialog_run(GTK_DIALOG(Lconfirm));
+
+      if (Lrep != GTK_RESPONSE_YES) {
+        /* si c'est non alors on arrete */
+        *Labort = TRUE; Lstatus = TRUE;
+      } else if (DRIVE_CDRW_WRITER(Ldevice) == TRUE) {
+        gboolean *Luseautoblank = (gboolean *) sc_grave_get_data(Ag, 
"useautoblank");
+        GtkCheckButton *Labcheck = 
GTK_CHECK_BUTTON(sc_grave_get_widget(Ldialoghash, "checkbox"));
+        *Luseautoblank = 
gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(Labcheck));
       }
+      gtk_widget_destroy(Lconfirm);
 
+      if (*Labort == TRUE) break;
     }
 
     Lbuftitle = get_title(Lnbrgravure, Lcurcd, Ldosimul);
@@ -1163,7 +1192,7 @@
 
 /* retourne les informations sur le disque courant pour par exemple
  * continuer une gravure multi session */
-gchar *cdrecord_get_mediainfo(Tgrave *Ag, gchar *Adevice, GError **Aerror)
+gchar *cdrecord_get_mediainfo(Tgrave *Ag, Tdriveinfo *Adevice, GError **Aerror)
 {
   gchar **Lcmd;
   gchar *Lcommandline;
@@ -1182,7 +1211,7 @@
 
   sc_grave_set_data(Ag, &Lmsinfo, "msinfo");
   
-  Lcommandline = g_strdup_printf("%s dev=%s -msinfo", 
conf_get_string("cdrecord"), Adevice);
+  Lcommandline = g_strdup_printf("%s dev=%s -msinfo", 
conf_get_string("cdrecord"), DRIVE_DEV(Adevice));
 _DEB("1execution [%s]", Lcommandline);
   Lstatus = g_shell_parse_argv(Lcommandline, &Lnbrarg, &Lcmd, Aerror);
   g_free(Lcommandline);




reply via email to

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