[Xfce4-commits] <midori:master> Improve transfer statusbar/ clear visibility/ sensitivity

Christian Dywan noreply at xfce.org
Fri Apr 26 19:42:03 CEST 2013


Updating branch refs/heads/master
         to 3c9af53553fce48422db34ee5e4809e030398413 (commit)
       from e5aba6e10f0e5482878be919cc9354f695d2c3f4 (commit)

commit 3c9af53553fce48422db34ee5e4809e030398413
Author: Christian Dywan <christian at twotoasts.de>
Date:   Fri Apr 26 19:39:08 2013 +0200

    Improve transfer statusbar/ clear visibility/ sensitivity

 extensions/transfers.vala |   26 +++++++++++++++-----------
 1 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/extensions/transfers.vala b/extensions/transfers.vala
index a4fcd4b..d836a51 100644
--- a/extensions/transfers.vala
+++ b/extensions/transfers.vala
@@ -74,6 +74,15 @@ namespace Transfers {
         }
     }
 
+    static bool pending_transfers (Katze.Array array) {
+        foreach (GLib.Object item in array.get_items ()) {
+            var transfer = item as Transfer;
+            if (!transfer.finished)
+                return true;
+        }
+        return false;
+    }
+
     private class Sidebar : Gtk.VBox, Midori.Viewable {
         Gtk.Toolbar? toolbar = null;
         Gtk.ToolButton clear;
@@ -367,7 +376,8 @@ namespace Transfers {
             clear.clicked.connect (clear_clicked);
             clear.sensitive = !array.is_empty ();
             insert (clear, -1);
-            show_all ();
+            clear.show ();
+            clear.sensitive = false;
 
             this.array = array;
             array.add_item.connect (transfer_added);
@@ -380,6 +390,7 @@ namespace Transfers {
             var transfer = item as Transfer;
             insert (new TransferButton (transfer), -1);
             clear.sensitive = true;
+            show ();
 
             Gtk.Requisition req;
             Gtk.widget_size_request (parent, out req);
@@ -391,8 +402,9 @@ namespace Transfers {
         }
 
         void transfer_removed (GLib.Object item) {
+            clear.sensitive = pending_transfers (array);
             if (array.is_empty ())
-                clear.sensitive = false;
+                hide ();
         }
     }
 
@@ -445,15 +457,7 @@ namespace Transfers {
         bool browser_closed (Gtk.Widget widget, Gdk.Event event) {
 #endif
             var browser = widget as Midori.Browser;
-            bool pending_downloads = false;
-            foreach (GLib.Object item in array.get_items ()) {
-                var transfer = item as Transfer;
-                if (!transfer.finished) {
-                    pending_downloads = true;
-                    break;
-                }
-            }
-            if (pending_downloads) {
+            if (pending_transfers (array)) {
                 var dialog = new Gtk.MessageDialog (browser,
                     Gtk.DialogFlags.DESTROY_WITH_PARENT,
                     Gtk.MessageType.WARNING, Gtk.ButtonsType.NONE,


More information about the Xfce4-commits mailing list