diff --git a/deluge/ui/gtkui/glade/main_window.glade b/deluge/ui/gtkui/glade/main_window.glade
index 8b39328aa..6856970d0 100644
--- a/deluge/ui/gtkui/glade/main_window.glade
+++ b/deluge/ui/gtkui/glade/main_window.glade
@@ -148,6 +148,7 @@
False
+ False
3
@@ -664,284 +666,137 @@
-
- True
-
-
- 5
- 6
- 3
- 4
- GTK_FILL
-
-
-
-
- True
- 0
- <b>Auto Managed:</b>
- True
-
-
- 4
- 5
- 3
- 4
- GTK_FILL
-
-
-
-
- True
-
-
- 7
- 8
- 2
- 3
- GTK_FILL
-
-
-
-
- True
-
-
- 7
- 8
- 1
- 2
- GTK_FILL
-
-
-
-
- True
- 0
- <b>Seed Rank:</b>
- True
-
-
- 6
- 7
- 2
- 3
- GTK_FILL
-
-
-
-
- True
- 0
- <b>Seeding Time:</b>
- True
-
-
- 6
- 7
- 1
- 2
- GTK_FILL
-
-
-
-
- True
-
-
- 7
- 8
- GTK_FILL
-
-
-
-
- True
- 0
- <b>Active Time:</b>
- True
-
-
- 6
- 7
- GTK_FILL
-
-
-
-
- True
- 0
- True
-
-
- 1
- 2
- 3
- 4
- GTK_FILL
-
-
-
-
- True
- 0
-
-
- 3
- 4
- 3
- 4
- GTK_FILL
-
-
-
-
- True
- 0
- PANGO_WRAP_CHAR
-
-
- 1
- 6
- 4
- 5
- GTK_FILL
-
-
-
-
- True
- 0
- <b>Tracker Status:</b>
- True
-
-
- 4
- 5
- GTK_FILL
-
-
-
-
-
- True
- 0
- True
- PANGO_WRAP_WORD_CHAR
-
-
- 5
- 6
- 2
- 3
- GTK_FILL
-
-
-
-
-
- True
- 0
- 1
- <b>Availability:</b>
- True
-
-
- 4
- 5
- 2
- 3
- GTK_FILL
-
-
-
-
- True
- 0
-
-
- 3
- 4
- 2
- 3
- GTK_FILL
-
-
-
-
+
True
0
1
2
+ GTK_FILL
+
+
+
+
+ True
+ 0
+
+
+ 3
+ 4
+ GTK_FILL
+
+
+
+
+ True
+ 0
+
+
+ 1
+ 2
+ 1
+ 2
+ GTK_FILL
+
+
+
+
+ True
+ 0
+
+
+ 3
+ 4
+ 1
+ 2
+ GTK_FILL
+
+
+
+
+ True
+ 5
+
+
+ True
+ 0
+ <b>Downloaded:</b>
+ True
+
+
+
+
+ GTK_FILL
+
+
+
+
+ True
+ 5
+
+
+ True
+ 0
+ <b>Uploaded:</b>
+ True
+
+
+
+
+ 1
+ 2
+ GTK_FILL
+
+
+
+
+ True
+ 5
+
+
+ True
+ 0
+ <b>Share Ratio:</b>
+ True
+
+
+
+
2
3
GTK_FILL
-
+
True
- 0
+ 5
+
+
+ True
+ 0
+ <b>Next Announce:</b>
+ True
+
+
- 5
- 6
- 1
- 2
+ 3
+ 4
GTK_FILL
-
- True
- 0
- <b>Peers:</b>
- True
-
-
- 4
- 5
- 1
- 2
- GTK_FILL
-
-
-
-
- True
- 0
-
-
- 5
- 6
- GTK_FILL
-
-
-
-
- True
- 0
- <b>Seeders:</b>
- True
-
-
- 4
- 5
- GTK_FILL
-
-
-
-
+
True
15
5
-
+
True
0
- <b>Pieces:</b>
+ <b>Speed:</b>
True
@@ -949,30 +804,6 @@
2
3
- 3
- 4
- GTK_FILL
-
-
-
-
- True
- 15
- 5
-
-
- True
- 0
- <b>ETA:</b>
- True
-
-
-
-
- 2
- 3
- 2
- 3
GTK_FILL
@@ -999,15 +830,15 @@
-
+
True
15
5
-
+
True
0
- <b>Speed:</b>
+ <b>ETA:</b>
True
@@ -1015,128 +846,299 @@
2
3
- GTK_FILL
-
-
-
-
- True
- 5
-
-
- True
- 0
- <b>Next Announce:</b>
- True
-
-
-
-
- 3
- 4
- GTK_FILL
-
-
-
-
- True
- 5
-
-
- True
- 0
- <b>Share Ratio:</b>
- True
-
-
-
-
2
3
GTK_FILL
-
+
True
+ 15
5
-
+
True
0
- <b>Uploaded:</b>
+ <b>Pieces:</b>
True
- 1
- 2
+ 2
+ 3
+ 3
+ 4
GTK_FILL
-
+
True
- 5
-
-
- True
- 0
- <b>Downloaded:</b>
- True
-
-
+ 0
+ <b>Seeders:</b>
+ True
+ 4
+ 5
GTK_FILL
-
+
True
0
- 3
- 4
+ 5
+ 6
+ GTK_FILL
+
+
+
+
+ True
+ 0
+ <b>Peers:</b>
+ True
+
+
+ 4
+ 5
1
2
GTK_FILL
-
+
+ True
+ 0
+
+
+ 5
+ 6
+ 1
+ 2
+ GTK_FILL
+
+
+
+
True
0
1
2
- 1
- 2
+ 2
+ 3
GTK_FILL
-
+
True
0
3
4
+ 2
+ 3
GTK_FILL
-
+
+ True
+ 0
+ 1
+ <b>Availability:</b>
+ True
+
+
+ 4
+ 5
+ 2
+ 3
+ GTK_FILL
+
+
+
+
+ True
+ 0
+ True
+ PANGO_WRAP_WORD_CHAR
+
+
+ 5
+ 6
+ 2
+ 3
+ GTK_FILL
+
+
+
+
+
+ True
+ 0
+ <b>Tracker Status:</b>
+ True
+
+
+ 4
+ 5
+ GTK_FILL
+
+
+
+
+
+ True
+ 0
+ PANGO_WRAP_CHAR
+
+
+ 1
+ 6
+ 4
+ 5
+ GTK_FILL
+
+
+
+
True
0
+
+ 3
+ 4
+ 3
+ 4
+ GTK_FILL
+
+
+
+
+ True
+ 0
+ True
+
1
2
+ 3
+ 4
+ GTK_FILL
+
+
+
+
+ True
+ 0
+ <b>Active Time:</b>
+ True
+
+
+ 6
+ 7
+ GTK_FILL
+
+
+
+
+ True
+
+
+ 7
+ 8
+ GTK_FILL
+
+
+
+
+ True
+ 0
+ <b>Seeding Time:</b>
+ True
+
+
+ 6
+ 7
+ 1
+ 2
+ GTK_FILL
+
+
+
+
+ True
+ 0
+ <b>Seed Rank:</b>
+ True
+
+
+ 6
+ 7
+ 2
+ 3
+ GTK_FILL
+
+
+
+
+ True
+
+
+ 7
+ 8
+ 1
+ 2
+ GTK_FILL
+
+
+
+
+ True
+
+
+ 7
+ 8
+ 2
+ 3
+ GTK_FILL
+
+
+
+
+ True
+ 0
+ <b>Auto Managed:</b>
+ True
+
+
+ 4
+ 5
+ 3
+ 4
+ GTK_FILL
+
+
+
+
+ True
+
+
+ 5
+ 6
+ 3
+ 4
GTK_FILL
@@ -1223,7 +1225,7 @@
-
+
True
0
True
@@ -1231,114 +1233,45 @@
1
2
- 4
- 5
-
-
-
-
-
- True
- 0
- 1
- <b># of files:</b>
- True
-
-
- 4
- 5
- GTK_FILL
-
-
-
-
-
- True
- GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
- 0
- True
- PANGO_WRAP_CHAR
- True
-
-
- 1
- 4
- 1
- 2
-
-
-
-
-
- True
- GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
- 0
- <b>Hash:</b>
- True
-
-
- 1
- 2
- GTK_FILL
-
-
-
-
-
- True
- 0
- PANGO_WRAP_CHAR
- True
-
-
- 1
- 4
- 6
- 7
-
-
-
-
-
- True
- 0
- 1
- <b>Tracker:</b>
- True
-
-
- 6
- 7
- GTK_FILL
-
-
-
-
-
- True
- GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
- 5
-
-
- True
- 0
- 1
- <b>Total Size:</b>
- True
-
-
-
-
3
4
+
+
+
+
+
+ True
+ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
+ 0
+ True
+
+
+ 1
+ 4
+ 5
+ 6
+
+
+
+
+
+ True
+ 0
+ 1
+ <b>Status:</b>
+ True
+
+
+ 5
+ 6
GTK_FILL
-
+
True
- GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_STRUCTURE_MASK
+ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
0
True
PANGO_WRAP_CHAR
@@ -1347,27 +1280,8 @@
1
4
-
-
-
-
-
- True
- GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
- 5
-
-
- True
- 0
- 0
- 1
- <b>Name:</b>
- True
-
-
-
-
- GTK_FILL
+ 2
+ 3
@@ -1394,7 +1308,110 @@
-
+
+ True
+ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
+ 5
+
+
+ True
+ 0
+ 0
+ 1
+ <b>Name:</b>
+ True
+
+
+
+
+ GTK_FILL
+
+
+
+
+
+ True
+ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_STRUCTURE_MASK
+ 0
+ True
+ PANGO_WRAP_CHAR
+ True
+
+
+ 1
+ 4
+
+
+
+
+
+ True
+ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
+ 5
+
+
+ True
+ 0
+ 1
+ <b>Total Size:</b>
+ True
+
+
+
+
+ 3
+ 4
+ GTK_FILL
+
+
+
+
+
+ True
+ 0
+ 1
+ <b>Tracker:</b>
+ True
+
+
+ 6
+ 7
+ GTK_FILL
+
+
+
+
+
+ True
+ 0
+ PANGO_WRAP_CHAR
+ True
+
+
+ 1
+ 4
+ 6
+ 7
+
+
+
+
+
+ True
+ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
+ 0
+ <b>Hash:</b>
+ True
+
+
+ 1
+ 2
+ GTK_FILL
+
+
+
+
+
True
GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
0
@@ -1405,43 +1422,28 @@
1
4
- 2
- 3
+ 1
+ 2
-
+
True
0
1
- <b>Status:</b>
+ <b># of files:</b>
True
- 5
- 6
+ 4
+ 5
GTK_FILL
-
- True
- GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK
- 0
- True
-
-
- 1
- 4
- 5
- 6
-
-
-
-
-
+
True
0
True
@@ -1449,8 +1451,8 @@
1
2
- 3
- 4
+ 4
+ 5
@@ -1633,7 +1635,7 @@
-
+
True
True
6
@@ -1643,8 +1645,100 @@
1
2
+ 3
+ 4
+
+
+
+
+
+
+ True
+ 0
+ Max Upload Slots:
+
+
+ 3
+ 4
+ GTK_FILL
+
+
+
+
+
+ True
+ KiB/s
+
+
+ 2
+ 3
+ 1
+ 2
+
+
+
+
+
+
+ True
+ KiB/s
+
+
+ 2
+ 3
+
+
+
+
+
+
+ True
+ 0
+ Max Download Speed:
+
+
+ GTK_FILL
+
+
+
+
+
+ True
+ 0
+ Max Upload Speed:
+
+
+ 1
+ 2
+ GTK_FILL
+
+
+
+
+
+ True
+ 0
+ Max Connections:
+
+
2
3
+ GTK_FILL
+
+
+
+
+
+ True
+ True
+ 6
+ 1
+ -1 -1 999999 1 10 10
+ 1
+
+
+ 1
+ 2
@@ -1668,110 +1762,18 @@
-
+
True
True
6
1
-1 -1 999999 1 10 10
- 1
1
2
-
-
-
-
-
-
- True
- 0
- Max Connections:
-
-
2
3
- GTK_FILL
-
-
-
-
-
- True
- 0
- Max Upload Speed:
-
-
- 1
- 2
- GTK_FILL
-
-
-
-
-
- True
- 0
- Max Download Speed:
-
-
- GTK_FILL
-
-
-
-
-
- True
- KiB/s
-
-
- 2
- 3
-
-
-
-
-
-
- True
- KiB/s
-
-
- 2
- 3
- 1
- 2
-
-
-
-
-
-
- True
- 0
- Max Upload Slots:
-
-
- 3
- 4
- GTK_FILL
-
-
-
-
-
- True
- True
- 6
- 1
- -1 -1 999999 1 10 10
-
-
- 1
- 2
- 3
- 4
@@ -2409,14 +2411,23 @@
10
2
-
+
+ True
+ 0
+ <i>Current Version:</i>
+ True
+
+
+ GTK_FILL
+
+
+
+
True
1
2
- 1
- 2
@@ -2434,26 +2445,17 @@
-
+
True
1
2
+ 1
+ 2
-
-
- True
- 0
- <i>Current Version:</i>
- True
-
-
- GTK_FILL
-
-
diff --git a/deluge/ui/gtkui/sidebar.py b/deluge/ui/gtkui/sidebar.py
index b8149618c..51174f9ac 100644
--- a/deluge/ui/gtkui/sidebar.py
+++ b/deluge/ui/gtkui/sidebar.py
@@ -51,15 +51,21 @@ class SideBar(component.Component):
self.notebook = glade.get_widget("sidebar_notebook")
self.hpaned = glade.get_widget("hpaned")
self.is_visible = True
-
+ self.hpaned_position = self.hpaned.get_position()
+
# Tabs holds references to the Tab widgets by their name
self.tabs = {}
def visible(self, visible):
if visible:
+ if self.hpaned_position:
+ self.hpaned.set_position(self.hpaned_position)
self.notebook.show()
+
else:
self.notebook.hide()
+ # Store the position for restoring upon show()
+ self.hpaned_position = self.hpaned.get_position()
self.hpaned.set_position(-1)
self.is_visible = visible