As commands now commit/recalc even in case of failure (as they do not know about exact reason of failure and we're not sure if rollback was succeeded), do not run them for every item added via double-click
This commit is contained in:
@@ -19,14 +19,16 @@
|
||||
|
||||
# noinspection PyPackageRequirements
|
||||
import wx
|
||||
|
||||
import gui.display as d
|
||||
import gui.fitCommands as cmd
|
||||
import gui.globalEvents as GE
|
||||
from gui.builtinMarketBrowser.events import ItemSelected, ITEM_SELECTED
|
||||
from gui.builtinMarketBrowser.events import ITEM_SELECTED, ItemSelected
|
||||
from gui.builtinViewColumns.state import State
|
||||
from gui.contextMenu import ContextMenu
|
||||
from gui.utils.staticHelpers import DragDropHelper
|
||||
from service.fit import Fit
|
||||
import gui.fitCommands as cmd
|
||||
from service.market import Market
|
||||
|
||||
|
||||
class BoosterViewDrop(wx.DropTarget):
|
||||
@@ -124,10 +126,13 @@ class BoosterView(d.Display):
|
||||
event.Skip()
|
||||
|
||||
def addItem(self, event):
|
||||
sFit = Fit.getInstance()
|
||||
fitID = self.mainFrame.getActiveFit()
|
||||
item = Market.getInstance().getItem(event.itemID, eager='group')
|
||||
if item is None or not item.isBooster:
|
||||
event.Skip()
|
||||
return
|
||||
|
||||
fit = sFit.getFit(fitID)
|
||||
fitID = self.mainFrame.getActiveFit()
|
||||
fit = Fit.getInstance().getFit(fitID)
|
||||
|
||||
if not fit or fit.isStructure:
|
||||
event.Skip()
|
||||
|
||||
@@ -206,11 +206,13 @@ class DroneView(Display):
|
||||
event.Skip()
|
||||
|
||||
def addItem(self, event):
|
||||
sFit = Fit.getInstance()
|
||||
item = Market.getInstance().getItem(event.itemID, eager='group.category')
|
||||
if item is None or not item.isDrone:
|
||||
event.Skip()
|
||||
return
|
||||
|
||||
fitID = self.mainFrame.getActiveFit()
|
||||
|
||||
fit = sFit.getFit(fitID)
|
||||
|
||||
fit = Fit.getInstance().getFit(fitID)
|
||||
if not fit or fit.isStructure:
|
||||
event.Skip()
|
||||
return
|
||||
|
||||
@@ -257,8 +257,12 @@ class FighterDisplay(d.Display):
|
||||
event.Skip()
|
||||
|
||||
def addItem(self, event):
|
||||
fitID = self.mainFrame.getActiveFit()
|
||||
item = Market.getInstance().getItem(event.itemID, eager='group.category')
|
||||
if item is None or not item.isFighter:
|
||||
event.Skip()
|
||||
return
|
||||
|
||||
fitID = self.mainFrame.getActiveFit()
|
||||
if self.mainFrame.command.Submit(cmd.GuiAddLocalFighterCommand(fitID, event.itemID)):
|
||||
self.mainFrame.additionsPane.select("Fighters")
|
||||
|
||||
|
||||
@@ -175,10 +175,13 @@ class ImplantDisplay(d.Display):
|
||||
event.Skip()
|
||||
|
||||
def addItem(self, event):
|
||||
sFit = Fit.getInstance()
|
||||
fitID = self.mainFrame.getActiveFit()
|
||||
item = Market.getInstance().getItem(event.itemID, eager='group.category')
|
||||
if item is None or not item.isImplant:
|
||||
event.Skip()
|
||||
return
|
||||
|
||||
fit = sFit.getFit(fitID)
|
||||
fitID = self.mainFrame.getActiveFit()
|
||||
fit = Fit.getInstance().getFit(fitID)
|
||||
|
||||
if not fit or fit.isStructure:
|
||||
event.Skip()
|
||||
|
||||
Reference in New Issue
Block a user