From b9857157b4d6d11de8c14073dbbbec3adaaef31a Mon Sep 17 00:00:00 2001 From: cncfanatics Date: Mon, 23 Aug 2010 23:26:28 +0200 Subject: [PATCH] Sort by groups first, then name --- controller/market.py | 2 +- gui/marketBrowser.py | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/controller/market.py b/controller/market.py index 7e5d2ab2e..e6c8720f8 100644 --- a/controller/market.py +++ b/controller/market.py @@ -92,7 +92,7 @@ class Market(): items = [] for item in results: if item.category.name in self.SEARCH_CATEGORIES: - items.append((item.ID, item.name, item.metaGroup.ID if item.metaGroup else 1, item.icon.iconFile if item.icon else "")) + items.append((item.ID, item.name, item.group.name, item.metaGroup.ID if item.metaGroup else 1, item.icon.iconFile if item.icon else "")) return items diff --git a/gui/marketBrowser.py b/gui/marketBrowser.py index 9a619e9ca..073dd7d22 100644 --- a/gui/marketBrowser.py +++ b/gui/marketBrowser.py @@ -238,15 +238,23 @@ class MarketBrowser(wx.Panel): self.itemImageList.RemoveAll() idNameMap = {} + idGroupMap = {} cMarket = controller.Market.getInstance() - for id, name, metaGroupID, iconFile in self.searchResults: + for id, name, group, metaGroupID, iconFile in self.searchResults: if cMarket.isMetaIdActive(metaGroupID): iconId = self.addItemViewImage(iconFile) index = self.itemView.InsertImageStringItem(sys.maxint, name, iconId) idNameMap[id] = name + idGroupMap[id] = group self.itemView.SetItemData(index, id) - self.itemView.SortItems(lambda id1, id2: cmp(idNameMap[id1], idNameMap[id2])) + def sort(id1, id2): + grp = cmp(idGroupMap[id1], idGroupMap[id2]) + if grp != 0: + return grp + + return cmp(idNameMap[id1], idNameMap[id2]) + self.itemView.SortItems(sort) self.itemView.SetColumnWidth(0, wx.LIST_AUTOSIZE) class MarketTree(wx.TreeCtrl):