diff --git a/eos/db/saveddata/fit.py b/eos/db/saveddata/fit.py index 3b5fc0e3e..4c03bdd32 100644 --- a/eos/db/saveddata/fit.py +++ b/eos/db/saveddata/fit.py @@ -46,14 +46,18 @@ fits_table = Table("fits", saveddata_meta, projectedFits_table = Table("projectedFits", saveddata_meta, Column("sourceID", ForeignKey("fits.ID"), primary_key = True), Column("victimID", ForeignKey("fits.ID"), primary_key = True), - Column("amount", Integer)) + Column("amount", Integer), + Column("active", Boolean), +) class ProjectedFit(object): - def __init__(self, source_item, dest_item, enabled): - print "init projected item", source_item, dest_item, enabled + def __init__(self, source_item, dest_item, amount=1, active=True): + print "init projected item", source_item, dest_item, active, amount self.source_item = source_item self.dest_item = dest_item - self.amount = enabled + self.amount = amount + self.active = active + self.dest_item.projectionInfo = self @reconstructor def init(self): @@ -65,7 +69,7 @@ class ProjectedFit(object): Fit._Fit__projectedFits = association_proxy( "projected_items", "dest_item", - creator=lambda dest_item: ProjectedFit(None, dest_item, True) + creator=lambda dest_item: ProjectedFit(None, dest_item) ) mapper(Fit, fits_table, diff --git a/eos/saveddata/fit.py b/eos/saveddata/fit.py index b0b94c2df..f21e8539d 100644 --- a/eos/saveddata/fit.py +++ b/eos/saveddata/fit.py @@ -461,8 +461,9 @@ class Fit(object): item.calculateModifiedAttributes(targetFit, runTime, True) for fit in self.projectedFits: - if fit.projectionInfo.amount > 0: - fit.calculateModifiedAttributes(self, withBoosters=withBoosters, dirtyStorage=dirtyStorage) + if fit.projectionInfo.active: + #for _ in xrange(fit.projectionInfo.amount): + fit.calculateModifiedAttributes(self, withBoosters=withBoosters, dirtyStorage=dirtyStorage) def fill(self): """ diff --git a/gui/builtinViewColumns/baseName.py b/gui/builtinViewColumns/baseName.py index a6b3fe49f..0bd0e8c43 100644 --- a/gui/builtinViewColumns/baseName.py +++ b/gui/builtinViewColumns/baseName.py @@ -39,7 +39,7 @@ class BaseName(ViewColumn): elif isinstance(stuff, Cargo): return "%dx %s" % (stuff.amount, stuff.item.name) elif isinstance(stuff, Fit): - return "%s (%s)" % (stuff.name, stuff.ship.item.name) + return "%dx %s (%s)" % (stuff.projectionInfo.amount, stuff.name, stuff.ship.item.name) elif isinstance(stuff, Rack): if service.Fit.getInstance().serviceFittingOptions["rackLabels"]: if stuff.slot == Slot.MODE: diff --git a/gui/builtinViewColumns/state.py b/gui/builtinViewColumns/state.py index c10a0f77f..a0e8258ee 100644 --- a/gui/builtinViewColumns/state.py +++ b/gui/builtinViewColumns/state.py @@ -67,7 +67,7 @@ class State(ViewColumn): elif isinstance(stuff, Fit): if stuff.projectionInfo is None: return -1 - if stuff.projectionInfo.amount > 0: + if stuff.projectionInfo.active: return generic_active return generic_inactive else: diff --git a/service/fit.py b/service/fit.py index 9ce47ad62..d328be6ed 100644 --- a/service/fit.py +++ b/service/fit.py @@ -365,7 +365,7 @@ class Fit(object): thing.state = State.OFFLINE elif isinstance(thing, eos.types.Fit): print "toggle fit" - thing.projectionInfo.amount = not thing.projectionInfo.amount + thing.projectionInfo.active = not thing.projectionInfo.active eos.db.commit() self.recalc(fit)