[Xfce4-commits] [apps/xfburn] 01/01: Display progress bar correctly, don't close dialog before being done.

noreply at xfce.org noreply at xfce.org
Sun Mar 30 23:57:11 CEST 2014


This is an automated email from the git hooks/post-receive script.

squisher pushed a commit to branch master
in repository apps/xfburn.

commit cbde975d369d1c85d3834dd6769e3c2489aff771
Author: David Mohr <david at mcbf.net>
Date:   Sun Mar 30 15:51:45 2014 -0600

    Display progress bar correctly, don't close dialog before being done.
---
 xfburn/xfburn-perform-burn.c    |   14 ++++++++++----
 xfburn/xfburn-progress-dialog.c |    8 +++-----
 2 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/xfburn/xfburn-perform-burn.c b/xfburn/xfburn-perform-burn.c
index 59a7bd3..addb7ee 100644
--- a/xfburn/xfburn-perform-burn.c
+++ b/xfburn/xfburn-perform-burn.c
@@ -122,7 +122,6 @@ xfburn_auto_format(GtkWidget *dialog_progress, struct burn_drive *drive)
 
     if (stop && !stopping) {
       DBG ("cancelling...");
-      burn_drive_cancel (drive);
       stopping = TRUE;
       xfburn_progress_dialog_set_status (XFBURN_PROGRESS_DIALOG (dialog_progress), XFBURN_PROGRESS_DIALOG_STATUS_STOPPING);
     }
@@ -132,6 +131,11 @@ xfburn_auto_format(GtkWidget *dialog_progress, struct burn_drive *drive)
  
     usleep (500000);
   }
+
+  if (stopping) {
+    xfburn_progress_dialog_set_status (XFBURN_PROGRESS_DIALOG (dialog_progress), XFBURN_PROGRESS_DIALOG_STATUS_CANCELLED);
+    return 0;
+  }
  
   /* Check for success */
   if (burn_drive_wrote_well (drive)) {
@@ -481,11 +485,13 @@ xfburn_perform_burn_write (GtkWidget *dialog_progress,
     final_message = g_strdup (_("Done"));
     final_status = XFBURN_PROGRESS_DIALOG_STATUS_COMPLETED;
   } else {
-    if (stopping)
+    if (stopping) {
       final_status_text  = _("User Aborted");
-    else
+      final_status = XFBURN_PROGRESS_DIALOG_STATUS_CANCELLED;
+    } else {
       final_status_text  = _("Failure");
-    final_status = XFBURN_PROGRESS_DIALOG_STATUS_FAILED;
+      final_status = XFBURN_PROGRESS_DIALOG_STATUS_FAILED;
+    }
     if (msg_text[0] != '\0')
       final_message = g_strdup_printf ("%s: %s", final_status_text, msg_text);
     else
diff --git a/xfburn/xfburn-progress-dialog.c b/xfburn/xfburn-progress-dialog.c
index 9a07542..7141237 100644
--- a/xfburn/xfburn-progress-dialog.c
+++ b/xfburn/xfburn-progress-dialog.c
@@ -585,9 +585,8 @@ xfburn_progress_dialog_set_progress_bar_fraction (XfburnProgressDialog * dialog,
     fraction = 0.0;
     text = g_strdup ("0%");
   }
-  else if ((priv->status == XFBURN_PROGRESS_DIALOG_STATUS_RUNNING ||
-            priv->status == XFBURN_PROGRESS_DIALOG_STATUS_FORMATTING) &&
-            fraction >= cur_fraction) {
+  else if (priv->status < XFBURN_PROGRESS_DIALOG_STATUS_META_DONE &&
+           fraction >= cur_fraction) {
     if (priv->animate) {
       text = g_strdup_printf ("%2d%% %c", (int) (fraction), animation[priv->ani_index]);
       priv->ani_index = (priv->ani_index + 1) % 4;
@@ -618,8 +617,7 @@ xfburn_progress_dialog_set_status (XfburnProgressDialog * dialog, XfburnProgress
     gdk_threads_enter ();
     set_action_text (dialog, status, _("Aborting..."));
     gdk_threads_leave ();
-  } else if (status != XFBURN_PROGRESS_DIALOG_STATUS_RUNNING ||
-             status != XFBURN_PROGRESS_DIALOG_STATUS_FORMATTING) {
+  } else if (status > XFBURN_PROGRESS_DIALOG_STATUS_META_DONE) {
     gdk_threads_enter ();
     gtk_widget_set_sensitive (priv->button_stop, FALSE);
     gtk_widget_set_sensitive (priv->button_close, TRUE);

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list