From b3b62fceccf8c5d8b935b58447618af6ba4f037e Mon Sep 17 00:00:00 2001 From: blitzmann Date: Wed, 30 Jul 2014 00:40:55 -0400 Subject: [PATCH] Introduces empty group filtering to ship browser stage 1 --- gui/shipBrowser.py | 14 +++++++++++--- service/fit.py | 2 +- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/gui/shipBrowser.py b/gui/shipBrowser.py index 079b7d89a..31885c030 100644 --- a/gui/shipBrowser.py +++ b/gui/shipBrowser.py @@ -418,7 +418,9 @@ class NavigationPanel(SFItem.SFBrowserItem): self.shipBrowser.filterShipsWithNoFits = True self.btnSwitch.label = "Show empty ship groups" stage = self.shipBrowser.GetActiveStage() - if stage == 2: + if stage == 1: + wx.PostEvent(self.shipBrowser,Stage1Selected()) + elif stage == 2: categoryID = self.shipBrowser.GetStageData(stage) wx.PostEvent(self.shipBrowser,Stage2Selected(categoryID=categoryID, back = True)) @@ -665,7 +667,7 @@ class ShipBrowser(wx.Panel): self.navpanel.ShowSwitchEmptyGroupsButton(False) sMarket = service.Market.getInstance() - + sFit = service.Fit.getInstance() self.lpane.ShowLoading(False) self.lpane.Freeze() @@ -673,8 +675,14 @@ class ShipBrowser(wx.Panel): if len(self.categoryList) == 0: self.categoryList = list(sMarket.getShipRoot()) self.categoryList.sort(key=lambda ship: ship.name) + for ship in self.categoryList: - self.lpane.AddWidget(CategoryItem(self.lpane, ship.ID, (ship.name, 0))) + if self.filterShipsWithNoFits and not sFit.groupHasFits(ship.ID): + continue + else: + self.lpane.AddWidget(CategoryItem(self.lpane, ship.ID, (ship.name, 0))) + + self.navpanel.ShowSwitchEmptyGroupsButton(True) self.lpane.RefreshList() self.lpane.Thaw() diff --git a/service/fit.py b/service/fit.py index 6546a74a7..aa61f7a31 100644 --- a/service/fit.py +++ b/service/fit.py @@ -132,7 +132,7 @@ class Fit(object): def groupHasFits(self, groupID): sMkt = Market.getInstance() - grp = sMkt.getGroup(groupID, eager=("items", "group")) + grp = sMkt.getGroup(groupID) items = sMkt.getItemsByGroup(grp) for item in items: if self.countFitsWithShip(item.ID) > 0: