summaryrefslogtreecommitdiffstats
path: root/iw/GroupSelector.py
diff options
context:
space:
mode:
authorJeremy Katz <katzj@redhat.com>2005-12-11 00:44:02 +0000
committerJeremy Katz <katzj@redhat.com>2005-12-11 00:44:02 +0000
commit087e0cded8bd3f77a54c79a74ff61d5aef1a9935 (patch)
treece2734a239e2528704073186c9593db6ad932b14 /iw/GroupSelector.py
parentd0bd7620f31f4cc11d8325d59d3042210d8215a9 (diff)
downloadanaconda-087e0cded8bd3f77a54c79a74ff61d5aef1a9935.tar.gz
anaconda-087e0cded8bd3f77a54c79a74ff61d5aef1a9935.tar.xz
anaconda-087e0cded8bd3f77a54c79a74ff61d5aef1a9935.zip
2005-12-10 Jeremy Katz <katzj@redhat.com>
* iw/GroupSelector.py (GroupSelector._categorySelected): Update for new group code and sort based on display_order. (GroupSelector.populateCategories): Likewise. (_ui_comps_sort): Add sorter. * ui/GroupSelector.glade: Minor tweak
Diffstat (limited to 'iw/GroupSelector.py')
-rw-r--r--iw/GroupSelector.py24
1 files changed, 20 insertions, 4 deletions
diff --git a/iw/GroupSelector.py b/iw/GroupSelector.py
index 95139457e..d5e7019c6 100644
--- a/iw/GroupSelector.py
+++ b/iw/GroupSelector.py
@@ -48,6 +48,19 @@ def _xmltrans(base, thedict):
strs[base] = base
return base
+def _ui_comps_sort(one, two):
+ if one.display_order > two.display_order:
+ return 1
+ elif one.display_order < two.display_order:
+ return -1
+ elif _xmltrans(one.name, one.translated_name) > \
+ _xmltrans(two.name, two.translated_name):
+ return 1
+ elif _xmltrans(one.name, one.translated_name) < \
+ _xmltrans(two.name, two.translated_name):
+ return -1
+ return 0
+
class OptionalPackageSelector:
def __init__(self, yumobj, group, parent = None, getgladefunc = None):
self.ayum = yumobj
@@ -238,7 +251,6 @@ class GroupSelector:
tree.append_column(column)
tree.columns_autosize()
- self.groupstore.set_sort_column_id(1, gtk.SORT_ASCENDING)
selection = tree.get_selection()
selection.connect("changed", self._groupSelected)
@@ -248,8 +260,10 @@ class GroupSelector:
if not i:
return
cat = model.get_value(i, 1)
- for g in cat.groups:
- grp = self.ayum.comps.groups[g]
+ grps = map(lambda x: self.ayum.comps.return_group(x),
+ filter(lambda x: self.ayum.comps.has_group(x), cat.groups))
+ grps.sort(_ui_comps_sort)
+ for grp in grps:
s = "<span size=\"large\" weight=\"bold\">%s</span>" % _xmltrans(grp.name, grp.translated_name)
fn = "/usr/share/pixmaps/comps/%s.png" % grp.groupid
@@ -321,7 +335,9 @@ class GroupSelector:
def populateCategories(self):
self.catstore.clear()
- for cat in self.ayum.comps.categories.values():
+ cats = self.ayum.comps.categories
+ cats.sort(_ui_comps_sort)
+ for cat in self.ayum.comps.categories:
s = "<span size=\"large\" weight=\"bold\">%s</span>" % _xmltrans(cat.name, cat.translated_name)
self.catstore.append(None, [s, cat])