Add a checkbox for drones instead of + & -, group drones by 5 by default (will be able to be changed via rightclick, later)

This commit is contained in:
cncfanatics
2010-09-05 15:04:05 +02:00
parent f06448cc60
commit a31ea5f712
6 changed files with 40 additions and 37 deletions

View File

@@ -106,38 +106,41 @@ class Fit(object):
fit = eos.db.getFit(fitID)
item = eos.db.getItem(itemID, eager=("attributes", "group.category"))
if item.category.name == "Drone":
fit.drones.appendItem(item)
d = fit.drones.find(item)
if d is None or d.amountActive == d.amount or d.amount >= 5:
d = eos.types.Drone(item)
fit.drones.append(d)
d.amount += 1
eos.db.saveddata_session.flush()
fit.clear()
fit.calculateModifiedAttributes()
return fit
def removeDrone(self, fitID, i):
fit = eos.db.getFit(fitID)
fit.drones.removeItem(fit.drones[i].item, 1)
eos.db.saveddata_session.flush()
fit.clear()
fit.calculateModifiedAttributes()
return fit
def activateDrone(self, fitID, i):
fit = eos.db.getFit(fitID)
d = fit.drones[i]
if d.amountActive < d.amount:
d.amountActive += 1
eos.db.saveddata_session.flush()
fit.clear()
fit.calculateModifiedAttributes()
return fit
def deactivateDrone(self, fitID, i):
fit = eos.db.getFit(fitID)
d = fit.drones[i]
d.amount -= 1
if d.amountActive > 0:
d.amountActive -= 1
if d.amount == 0:
del fit.drones[i]
eos.db.saveddata_session.flush()
fit.clear()
fit.calculateModifiedAttributes()
return fit
def toggleDrone(self, fitID, i):
fit = eos.db.getFit(fitID)
d = fit.drones[i]
if d.amount == d.amountActive:
d.amountActive = 0
else:
d.amountActive = d.amount
eos.db.saveddata_session.flush()
fit.clear()
fit.calculateModifiedAttributes()