Build sorted models on top of filtered models to make column sorting work.
For some reason, doing it the other way around allows you to click on column
headers but there is no sorting that happens.
---
iw/cleardisks_gui.py | 42 +++++++++++++++++++++---------------------
iw/filter_gui.py | 8 ++++----
2 files changed, 25 insertions(+), 25 deletions(-)
diff --git a/iw/cleardisks_gui.py b/iw/cleardisks_gui.py
index bab9c51..c00e2ed 100644
--- a/iw/cleardisks_gui.py
+++ b/iw/cleardisks_gui.py
@@ -99,15 +99,15 @@ class ClearDisksWindow (InstallWindow):
# The left view shows all the drives that will just be mounted, but
# can still be moved to the right hand side.
- self.leftSortedModel = gtk.TreeModelSort(self.store)
self.leftFilteredModel = self.store.filter_new()
- self.leftTreeView = gtk.TreeView(self.leftFilteredModel)
+ self.leftSortedModel = gtk.TreeModelSort(self.leftFilteredModel)
+ self.leftTreeView = gtk.TreeView(self.leftSortedModel)
# The right view show all the drives that will be wiped during install.
- self.rightSortedModel = gtk.TreeModelSort(self.store)
self.rightFilteredModel = self.store.filter_new()
- self.rightTreeView = gtk.TreeView(self.rightFilteredModel)
+ self.rightSortedModel = gtk.TreeModelSort(self.rightFilteredModel)
+ self.rightTreeView = gtk.TreeView(self.rightSortedModel)
if not pathlist:
return
@@ -181,15 +181,15 @@ class ClearDisksWindow (InstallWindow):
setFirstActive = False
for path in reversed(pathlist):
- filteredIter = filteredModel.get_iter(path)
- if not filteredIter:
+ sortedIter = sortedModel.get_iter(path)
+ if not sortedIter:
continue
if not pathlist:
return
@@ -211,20 +211,20 @@ class ClearDisksWindow (InstallWindow):
setFirstActive = False
for path in reversed(pathlist):
- filteredIter = filteredModel.get_iter(path)
- if not filteredIter:
+ sortedIter = sortedModel.get_iter(path)
+ if not sortedIter:
continue
# If we're removing a row that was checked, try to set the first
# visible one to active after the selection is applied.
- if self.store.get_value(sortedIter, self.rightActive):
+ if self.store.get_value(filteredIter, self.rightActive):
setFirstActive = True
if self.rightDS.getNVisible() > 0 and setFirstActive:
i = 0
diff --git a/iw/filter_gui.py b/iw/filter_gui.py
index 5c13787..fedb370 100644
--- a/iw/filter_gui.py
+++ b/iw/filter_gui.py
@@ -319,16 +319,16 @@ class NotebookPage(object):
# Every page needs a ScrolledWindow to display the results in.
self.scroll = xml.get_widget("%sScroll" % name)