[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