[Top][All Lists]
[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);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Graveman-cvs] Changes to graveman/current/src/cdrecord.c,
sylvain cresto <=