Module: deluge
Branch: master
Commit: b9a688013f554d71db8eb3f5e6f984202ce08907

Author: Pedro Algarvio <[email protected]>
Date:   Thu Apr 21 18:29:59 2011 +0100

Fix #1786:

Don't reorder duplicate columns, need to dig how duplicate columns got into the 
state file, and also skip non visible columns.

---

 deluge/ui/gtkui/listview.py |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/deluge/ui/gtkui/listview.py b/deluge/ui/gtkui/listview.py
index 4185c14..b96ca1a 100644
--- a/deluge/ui/gtkui/listview.py
+++ b/deluge/ui/gtkui/listview.py
@@ -615,7 +615,15 @@ class ListView:
                 if column.get_title() == header:
                     return column
 
+        restored_columns = []
         for col_state in self.state:
+            if col_state.name in restored_columns:
+                # Duplicate column in state!?!?!?
+                continue
+            elif not col_state.visible:
+                # Column is not visible, no need to reposition
+                continue
+
             column_at_position = columns[col_state.position]
             if col_state.name == column_at_position.get_title():
                 # It's in the right position
@@ -624,4 +632,5 @@ class ListView:
             self.treeview.move_column_after(column, column_at_position)
             # Get columns again to keep reordering since positions have changed
             columns = self.treeview.get_columns()
+            restored_columns.append(col_state.name)
         self.create_new_liststore()

-- 
You received this message because you are subscribed to the Google Groups 
"deluge-commit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/deluge-commit?hl=en.

Reply via email to