Revision: 1683
          http://gtkpod.svn.sourceforge.net/gtkpod/?rev=1683&view=rev
Author:   jcsjcs
Date:     2007-08-17 23:36:56 -0700 (Fri, 17 Aug 2007)

Log Message:
-----------
        * src/file_itunesdb.c (set_progressbar): only update window if
          a change occured.

Modified Paths:
--------------
    gtkpod/trunk/ChangeLog_detailed
    gtkpod/trunk/src/file_itunesdb.c

Modified: gtkpod/trunk/ChangeLog_detailed
===================================================================
--- gtkpod/trunk/ChangeLog_detailed     2007-08-18 06:31:24 UTC (rev 1682)
+++ gtkpod/trunk/ChangeLog_detailed     2007-08-18 06:36:56 UTC (rev 1683)
@@ -3,6 +3,9 @@
        * src/autodetection.c (ad_timeout_cb): avoid crash when
           iTunesDB could not be read successfully.
 
+       * src/file_itunesdb.c (set_progressbar): only update window if
+          a change occured.
+
 2007-08-09 Jorg Schuler <jcsjcs at users.sourceforge.net>
 
        * src/file_convert.c (conversion_log_append): don't append

Modified: gtkpod/trunk/src/file_itunesdb.c
===================================================================
--- gtkpod/trunk/src/file_itunesdb.c    2007-08-18 06:31:24 UTC (rev 1682)
+++ gtkpod/trunk/src/file_itunesdb.c    2007-08-18 06:36:56 UTC (rev 1683)
@@ -1342,7 +1342,8 @@
                             time_t start, gint n, gint count, gint init_count)
 {
     gchar *progtext;
-    gdouble fraction;
+    const gchar *progtext_old;
+    gdouble fraction, fraction_old;
 
     g_return_if_fail (progressbar);
 
@@ -1375,8 +1376,18 @@
            (gint)(fraction*100), count, n, (gint)hrs, (gint)mins, (gint)secs);
     }
 
-    gtk_progress_bar_set_fraction(progressbar, fraction);
-    gtk_progress_bar_set_text(progressbar, progtext);
+    progtext_old = gtk_progress_bar_get_text (progressbar);
+    if (!progtext_old || (strcmp (progtext_old, progtext) != 0))
+    {   /* only update progressbar text if it has changed */
+       gtk_progress_bar_set_text(progressbar, progtext);
+    }
+
+    fraction_old = gtk_progress_bar_get_fraction (progressbar);
+    if (fraction_old != fraction)
+    {   /* only update progressbar fraction if it has changed */
+       gtk_progress_bar_set_fraction(progressbar, fraction);
+    }
+
     g_free (progtext);
 }
 
@@ -1651,6 +1662,7 @@
     do
     {
        gchar *buf;
+       const gchar *buf_old;
 
        status = file_transfer_get_status (itdb,
                                           &to_convert_num, &converting_num,
@@ -1682,7 +1694,11 @@
                                 "Transferred: %d. Failed: %d"),
                               status, to_convert_num, to_transfer_num,
                               transferred_num, failed_num);*/
-       gtk_label_set_text (GTK_LABEL(td->textlabel), buf);
+       buf_old = gtk_label_get_text (GTK_LABEL(td->textlabel));
+       if (!buf_old || (strcmp (buf_old, buf) != 0))
+       {   /* only set label if it has changed */
+           gtk_label_set_text (GTK_LABEL(td->textlabel), buf);
+       }
        g_free (buf);
 
        if ((to_convert_num != 0) && (converting_num == 0))


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
gtkpod-cvs2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2

Reply via email to