Introduces empty group filtering to ship browser stage 1

This commit is contained in:
blitzmann
2014-07-30 00:40:55 -04:00
parent 51063ef758
commit b3b62fcecc
2 changed files with 12 additions and 4 deletions

View File

@@ -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()

View File

@@ -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: