From f2cadf7cea13ba4fca9b02d96fb7443f77c3a40f Mon Sep 17 00:00:00 2001 From: cncfanatics Date: Wed, 27 Oct 2010 18:35:25 +0200 Subject: [PATCH] Fix up the final bits of drone sorting --- gui/droneView.py | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/gui/droneView.py b/gui/droneView.py index 2ca138430..58841189d 100644 --- a/gui/droneView.py +++ b/gui/droneView.py @@ -45,31 +45,30 @@ class DroneView(d.Display): else: self.Bind(wx.EVT_RIGHT_DOWN, self.scheduleMenu) + DRONE_ORDER = ('Light Scout Drones', 'Medium Scout Drones', + 'Heavy Attack Drones', 'Sentry Drones', 'Fighters', + 'Fighter Bombers', 'Combat Utility Drones', + 'Electronic Warfare Drones', 'Logistic Drones', 'Mining Drones') + def droneKey(self, drone): + item = drone.item + if item.marketGroup is None: + item = item.metaGroup.parent + + return (self.DRONE_ORDER.index(item.marketGroup.name), + drone.item.name) + def fitChanged(self, event): cFit = service.Fit.getInstance() fit = cFit.getFit(event.fitID) self.original = fit.drones if fit is not None else None self.drones = stuff = fit.drones[:] if fit is not None else None - name = lambda d: d.item.name if stuff is not None: - # Need to fix this sort parameter - stuff.sort( key=lambda d: d.item.name ) + stuff.sort(key=self.droneKey) self.update(stuff) event.Skip() - DRONE_ORDER = (u'Light Scout Drones', u'Medium Scout Drones', - u'Heavy Attack Drones', u'Sentry Drones', u'Fighters', - u'Fighter Bombers', u'Combat Utility Drones', - u'Electronic Warfare Drones', u'Logistic Drones', u'Mining Drones') - def droneKey(self, drone): - item = drone.item - if item.marketGroup is None: - item = item.metaGroup.parent - - return (self.DRONE_ORDER.index(item.marketGroup.name), - drone.item.name) def addItem(self, event): cFit = service.Fit.getInstance()