Build sorted models on top of filtered models to make column sorting work.
Ack.
On 01/28/2010 05:54 PM, Chris Lumens wrote:
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)
_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list
01-28-2010, 08:56 PM
Chris Lumens
Build sorted models on top of filtered models to make column sorting work.
Note: _add_clicked and _removed_clicked required further iter
management patches. I've merged that in with this one so the final
commit will look slightly different.
- Chris
_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list