From e865c9a39916e0926d874fdda3268c39c6e98511 Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Sat, 27 Apr 2019 14:22:09 +0300 Subject: [PATCH] Use GetModifiers() instead of asking status of individual keys --- gui/builtinAdditionPanes/boosterView.py | 6 +-- gui/builtinAdditionPanes/cargoView.py | 8 ++-- gui/builtinAdditionPanes/commandView.py | 6 +-- gui/builtinAdditionPanes/droneView.py | 10 ++--- gui/builtinAdditionPanes/fighterView.py | 8 ++-- gui/builtinAdditionPanes/implantView.py | 6 +-- gui/builtinAdditionPanes/projectedView.py | 4 +- gui/builtinContextMenus/fighterAbilities.py | 2 +- gui/builtinContextMenus/itemRemove.py | 4 +- gui/builtinContextMenus/itemStats.py | 2 +- .../itemVariationChange.py | 4 +- gui/builtinContextMenus/moduleAmmoChange.py | 2 +- gui/builtinShipBrowser/fitItem.py | 3 +- gui/builtinViews/fittingView.py | 37 ++++++++++--------- gui/marketBrowser.py | 3 +- 15 files changed, 54 insertions(+), 51 deletions(-) diff --git a/gui/builtinAdditionPanes/boosterView.py b/gui/builtinAdditionPanes/boosterView.py index fc3c936df..f98255596 100644 --- a/gui/builtinAdditionPanes/boosterView.py +++ b/gui/builtinAdditionPanes/boosterView.py @@ -89,11 +89,11 @@ class BoosterView(d.Display): def kbEvent(self, event): keycode = event.GetKeyCode() mstate = wx.GetMouseState() - if keycode == wx.WXK_ESCAPE and not mstate.cmdDown and not mstate.altDown and not mstate.shiftDown: + if keycode == wx.WXK_ESCAPE and mstate.GetModifiers() == wx.MOD_NONE: self.unselectAll() - if keycode == 65 and mstate.cmdDown and not mstate.altDown and not mstate.shiftDown: + elif keycode == 65 and mstate.GetModifiers() == wx.MOD_CONTROL: self.selectAll() - if keycode == wx.WXK_DELETE or keycode == wx.WXK_NUMPAD_DELETE: + elif keycode == wx.WXK_DELETE or keycode == wx.WXK_NUMPAD_DELETE: boosters = self.getSelectedBoosters() self.removeBoosters(boosters) event.Skip() diff --git a/gui/builtinAdditionPanes/cargoView.py b/gui/builtinAdditionPanes/cargoView.py index fd7511a8e..436fe5e09 100644 --- a/gui/builtinAdditionPanes/cargoView.py +++ b/gui/builtinAdditionPanes/cargoView.py @@ -105,11 +105,11 @@ class CargoView(d.Display): def kbEvent(self, event): keycode = event.GetKeyCode() mstate = wx.GetMouseState() - if keycode == wx.WXK_ESCAPE and not mstate.cmdDown and not mstate.altDown and not mstate.shiftDown: + if keycode == wx.WXK_ESCAPE and mstate.GetModifiers() == wx.MOD_NONE: self.unselectAll() - if keycode == 65 and mstate.cmdDown and not mstate.altDown and not mstate.shiftDown: + elif keycode == 65 and mstate.GetModifiers() == wx.MOD_CONTROL: self.selectAll() - if keycode == wx.WXK_DELETE or keycode == wx.WXK_NUMPAD_DELETE: + elif keycode == wx.WXK_DELETE or keycode == wx.WXK_NUMPAD_DELETE: cargos = self.getSelectedCargos() self.removeCargos(cargos) event.Skip() @@ -132,7 +132,7 @@ class CargoView(d.Display): fitID=self.mainFrame.getActiveFit(), modPosition=modIdx, cargoItemID=dstCargoItemID, - copy=wx.GetMouseState().cmdDown)) + copy=wx.GetMouseState().GetModifiers() == wx.MOD_CONTROL)) def fitChanged(self, event): sFit = Fit.getInstance() diff --git a/gui/builtinAdditionPanes/commandView.py b/gui/builtinAdditionPanes/commandView.py index dbf9524f6..5f41ea2d1 100644 --- a/gui/builtinAdditionPanes/commandView.py +++ b/gui/builtinAdditionPanes/commandView.py @@ -97,11 +97,11 @@ class CommandView(d.Display): def kbEvent(self, event): keycode = event.GetKeyCode() mstate = wx.GetMouseState() - if keycode == wx.WXK_ESCAPE and not mstate.cmdDown and not mstate.altDown and not mstate.shiftDown: + if keycode == wx.WXK_ESCAPE and mstate.GetModifiers() == wx.MOD_NONE: self.unselectAll() - if keycode == 65 and mstate.cmdDown and not mstate.altDown and not mstate.shiftDown: + elif keycode == 65 and mstate.GetModifiers() == wx.MOD_CONTROL: self.selectAll() - if keycode == wx.WXK_DELETE or keycode == wx.WXK_NUMPAD_DELETE: + elif keycode == wx.WXK_DELETE or keycode == wx.WXK_NUMPAD_DELETE: commandFits = self.getSelectedCommandFits() self.removeCommandFits(commandFits) event.Skip() diff --git a/gui/builtinAdditionPanes/droneView.py b/gui/builtinAdditionPanes/droneView.py index 6eb62deef..74b55181a 100644 --- a/gui/builtinAdditionPanes/droneView.py +++ b/gui/builtinAdditionPanes/droneView.py @@ -121,11 +121,11 @@ class DroneView(Display): def kbEvent(self, event): keycode = event.GetKeyCode() mstate = wx.GetMouseState() - if keycode == wx.WXK_ESCAPE and not mstate.cmdDown and not mstate.altDown and not mstate.shiftDown: + if keycode == wx.WXK_ESCAPE and mstate.GetModifiers() == wx.MOD_NONE: self.unselectAll() - if keycode == 65 and mstate.cmdDown and not mstate.altDown and not mstate.shiftDown: + elif keycode == 65 and mstate.GetModifiers() == wx.MOD_CONTROL: self.selectAll() - if keycode == wx.WXK_DELETE or keycode == wx.WXK_NUMPAD_DELETE: + elif keycode == wx.WXK_DELETE or keycode == wx.WXK_NUMPAD_DELETE: drones = self.getSelectedDrones() self.removeDroneStacks(drones) event.Skip() @@ -230,7 +230,7 @@ class DroneView(Display): event.Skip() return - amount = droneStackLimit(fit, event.itemID) if wx.GetMouseState().altDown else 1 + amount = droneStackLimit(fit, event.itemID) if wx.GetMouseState().GetModifiers() == wx.MOD_ALT else 1 if self.mainFrame.command.Submit(cmd.GuiAddLocalDroneCommand(fitID=fitID, itemID=event.itemID, amount=amount)): self.mainFrame.additionsPane.select('Drones') @@ -245,7 +245,7 @@ class DroneView(Display): drone = self.drones[self.GetItemData(row)] except IndexError: return - if wx.GetMouseState().altDown: + if wx.GetMouseState().GetModifiers() == wx.MOD_ALT: self.removeDroneStacks([drone]) else: self.removeDrone(drone) diff --git a/gui/builtinAdditionPanes/fighterView.py b/gui/builtinAdditionPanes/fighterView.py index 8b24b63da..0d9c50c3a 100644 --- a/gui/builtinAdditionPanes/fighterView.py +++ b/gui/builtinAdditionPanes/fighterView.py @@ -184,11 +184,11 @@ class FighterDisplay(d.Display): def kbEvent(self, event): keycode = event.GetKeyCode() mstate = wx.GetMouseState() - if keycode == wx.WXK_ESCAPE and not mstate.cmdDown and not mstate.altDown and not mstate.shiftDown: + if keycode == wx.WXK_ESCAPE and mstate.GetModifiers() == wx.MOD_NONE: self.unselectAll() - if keycode == 65 and mstate.cmdDown and not mstate.altDown and not mstate.shiftDown: + elif keycode == 65 and mstate.GetModifiers() == wx.MOD_CONTROL: self.selectAll() - if keycode == wx.WXK_DELETE or keycode == wx.WXK_NUMPAD_DELETE: + elif keycode == wx.WXK_DELETE or keycode == wx.WXK_NUMPAD_DELETE: fighters = self.getSelectedFighters() self.removeFighters(fighters) event.Skip() @@ -295,7 +295,7 @@ class FighterDisplay(d.Display): fighter = self.fighters[self.GetItemData(row)] except IndexError: return - if mstate.altDown: + if mstate.GetModifiers() == wx.MOD_ALT: fighters = getSimilarFighters(self.original, fighter) else: fighters = [fighter] diff --git a/gui/builtinAdditionPanes/implantView.py b/gui/builtinAdditionPanes/implantView.py index 139a7b2f4..96cb0474d 100644 --- a/gui/builtinAdditionPanes/implantView.py +++ b/gui/builtinAdditionPanes/implantView.py @@ -141,11 +141,11 @@ class ImplantDisplay(d.Display): def kbEvent(self, event): keycode = event.GetKeyCode() mstate = wx.GetMouseState() - if keycode == wx.WXK_ESCAPE and not mstate.cmdDown and not mstate.altDown and not mstate.shiftDown: + if keycode == wx.WXK_ESCAPE and mstate.GetModifiers() == wx.MOD_NONE: self.unselectAll() - if keycode == 65 and mstate.cmdDown and not mstate.altDown and not mstate.shiftDown: + elif keycode == 65 and mstate.GetModifiers() == wx.MOD_CONTROL: self.selectAll() - if keycode == wx.WXK_DELETE or keycode == wx.WXK_NUMPAD_DELETE: + elif keycode == wx.WXK_DELETE or keycode == wx.WXK_NUMPAD_DELETE: implants = self.getSelectedImplants() self.removeImplants(implants) event.Skip() diff --git a/gui/builtinAdditionPanes/projectedView.py b/gui/builtinAdditionPanes/projectedView.py index 8f85c5dda..f7db35b6e 100644 --- a/gui/builtinAdditionPanes/projectedView.py +++ b/gui/builtinAdditionPanes/projectedView.py @@ -336,7 +336,7 @@ class ProjectedView(d.Display): fitID = self.mainFrame.getActiveFit() thing = self.get(row) if isinstance(thing, es_Fit): - amount = math.inf if wx.GetMouseState().altDown else 1 + amount = math.inf if wx.GetMouseState().GetModifiers() == wx.MOD_ALT else 1 self.mainFrame.command.Submit(cmd.GuiRemoveProjectedFitCommand( fitID=fitID, projectedFitID=thing.ID, amount=amount)) elif isinstance(thing, es_Module): @@ -350,7 +350,7 @@ class ProjectedView(d.Display): self.mainFrame.command.Submit(cmd.GuiRemoveProjectedDroneCommand( fitID=fitID, itemID=thing.itemID, - amount=math.inf if mstate.cmdDown or mstate.altDown else 1)) + amount=math.inf if mstate.GetModifiers() == wx.MOD_ALT else 1)) elif isinstance(thing, es_Fighter): fit = Fit.getInstance().getFit(fitID) if thing in fit.projectedFighters: diff --git a/gui/builtinContextMenus/fighterAbilities.py b/gui/builtinContextMenus/fighterAbilities.py index 2f3c72591..42cf2d2fc 100644 --- a/gui/builtinContextMenus/fighterAbilities.py +++ b/gui/builtinContextMenus/fighterAbilities.py @@ -71,7 +71,7 @@ class FighterAbilities(ContextMenuCombined): else: if self.fighter in fit.fighters: mainPosition = fit.fighters.index(self.fighter) - if wx.GetMouseState().altDown: + if wx.GetMouseState().GetModifiers() == wx.MOD_ALT: fighters = getSimilarFighters(fit.fighters, self.fighter) else: fighters = self.selection diff --git a/gui/builtinContextMenus/itemRemove.py b/gui/builtinContextMenus/itemRemove.py index 4870a5937..8786acfdb 100644 --- a/gui/builtinContextMenus/itemRemove.py +++ b/gui/builtinContextMenus/itemRemove.py @@ -59,7 +59,7 @@ class RemoveItem(ContextMenuCombined): def __handleModule(self, mainItem, selection): fitID = self.mainFrame.getActiveFit() fit = Fit.getInstance().getFit(fitID) - if wx.GetMouseState().altDown: + if wx.GetMouseState().GetModifiers() == wx.MOD_ALT: positions = getSimilarModPositions(fit.modules, mainItem) else: positions = [] @@ -82,7 +82,7 @@ class RemoveItem(ContextMenuCombined): def __handleFighter(self, mainItem, selection): fitID = self.mainFrame.getActiveFit() fit = Fit.getInstance().getFit(fitID) - if wx.GetMouseState().altDown: + if wx.GetMouseState().GetModifiers() == wx.MOD_ALT: fighters = getSimilarFighters(fit.fighters, mainItem) else: fighters = selection diff --git a/gui/builtinContextMenus/itemStats.py b/gui/builtinContextMenus/itemStats.py index 28173c1df..b093475cf 100644 --- a/gui/builtinContextMenus/itemStats.py +++ b/gui/builtinContextMenus/itemStats.py @@ -54,7 +54,7 @@ class ItemStats(ContextMenuSingle): mstate = wx.GetMouseState() reuse = False - if mstate.shiftDown: + if mstate.GetModifiers() == wx.MOD_SHIFT: reuse = True if self.mainFrame.GetActiveStatsWindow() is None and reuse: diff --git a/gui/builtinContextMenus/itemVariationChange.py b/gui/builtinContextMenus/itemVariationChange.py index deeec9e95..41ae0c44b 100644 --- a/gui/builtinContextMenus/itemVariationChange.py +++ b/gui/builtinContextMenus/itemVariationChange.py @@ -147,7 +147,7 @@ class ChangeItemToVariation(ContextMenuCombined): def __handleModule(self, varItem): fitID = self.mainFrame.getActiveFit() fit = Fit.getInstance().getFit(fitID) - if wx.GetMouseState().altDown: + if wx.GetMouseState().GetModifiers() == wx.MOD_ALT: positions = getSimilarModPositions(fit.modules, self.mainItem) else: sMkt = Market.getInstance() @@ -186,7 +186,7 @@ class ChangeItemToVariation(ContextMenuCombined): def __handleFighter(self, varItem): fitID = self.mainFrame.getActiveFit() fit = Fit.getInstance().getFit(fitID) - if wx.GetMouseState().altDown: + if wx.GetMouseState().GetModifiers() == wx.MOD_ALT: fighters = getSimilarFighters(fit.fighters, self.mainItem) else: fighters = self.selection diff --git a/gui/builtinContextMenus/moduleAmmoChange.py b/gui/builtinContextMenus/moduleAmmoChange.py index d58f650a7..9ff00a56c 100644 --- a/gui/builtinContextMenus/moduleAmmoChange.py +++ b/gui/builtinContextMenus/moduleAmmoChange.py @@ -230,7 +230,7 @@ class ChangeModuleAmmo(ContextMenuCombined): fit = sFit.getFit(fitID) mstate = wx.GetMouseState() # Switch in selection or all modules, depending on modifier key state and settings - switchAll = sFit.serviceFittingOptions['ammoChangeAll'] is not (mstate.cmdDown or mstate.altDown) + switchAll = sFit.serviceFittingOptions['ammoChangeAll'] is not mstate.GetModifiers() in (wx.MOD_ALT, wx.MOD_CONTROL) if switchAll: if self.srcContext == 'fittingModule': command = cmd.GuiChangeLocalModuleChargesCommand diff --git a/gui/builtinShipBrowser/fitItem.py b/gui/builtinShipBrowser/fitItem.py index 5823e4007..44949bda3 100644 --- a/gui/builtinShipBrowser/fitItem.py +++ b/gui/builtinShipBrowser/fitItem.py @@ -346,7 +346,8 @@ class FitItem(SFItem.SFBrowserItem): return # to prevent accidental deletion, give dialog confirmation unless shift is depressed - if wx.GetMouseState().ShiftDown() or wx.GetMouseState().MiddleIsDown(): + mstate = wx.GetMouseState() + if mstate.GetModifiers() == wx.MOD_SHIFT or mstate.MiddleIsDown(): self.deleteFit() else: dlg = wx.MessageDialog( diff --git a/gui/builtinViews/fittingView.py b/gui/builtinViews/fittingView.py index c0c0fba87..a80e708d8 100644 --- a/gui/builtinViews/fittingView.py +++ b/gui/builtinViews/fittingView.py @@ -75,7 +75,7 @@ class FitSpawner(gui.multiSwitch.TabSpawner): sFit = Fit.getInstance() openFitInNew = sFit.serviceFittingOptions["openFitInNew"] mstate = wx.GetMouseState() - modifierKey = mstate.cmdDown + modifierKey = mstate.GetModifiers() == wx.MOD_CONTROL if from_import or (not openFitInNew and modifierKey) or startup or (openFitInNew and not modifierKey): self.multiSwitch.AddPage() @@ -281,11 +281,11 @@ class FittingView(d.Display): def kbEvent(self, event): keycode = event.GetKeyCode() mstate = wx.GetMouseState() - if keycode == wx.WXK_ESCAPE and not mstate.cmdDown and not mstate.altDown and not mstate.shiftDown: + if keycode == wx.WXK_ESCAPE and mstate.GetModifiers() == wx.MOD_NONE: self.unselectAll() - if keycode == 65 and mstate.cmdDown and not mstate.altDown and not mstate.shiftDown: + elif keycode == 65 and mstate.GetModifiers() == wx.MOD_CONTROL: self.selectAll() - if keycode == wx.WXK_DELETE or keycode == wx.WXK_NUMPAD_DELETE: + elif keycode == wx.WXK_DELETE or keycode == wx.WXK_NUMPAD_DELETE: modules = [m for m in self.getSelectedMods() if not m.isEmpty] self.removeModule(modules) event.Skip() @@ -374,7 +374,7 @@ class FittingView(d.Display): if item is None: event.Skip() return - batchOp = wx.GetMouseState().altDown and getattr(event, 'allowBatch', None) is not False + batchOp = wx.GetMouseState().GetModifiers() == wx.MOD_ALT and getattr(event, 'allowBatch', None) is not False # If we've selected ammo, then apply to the selected module(s) if item.isCharge: positions = [] @@ -400,7 +400,7 @@ class FittingView(d.Display): def removeItem(self, event): """Double Left Click - remove module""" - if event.cmdDown: + if event.GetModifiers() == wx.MOD_CONTROL: return row, _ = self.HitTest(event.Position) if row != -1 and row not in self.blanks and isinstance(self.mods[row], Module): @@ -412,7 +412,7 @@ class FittingView(d.Display): return if not isinstance(mod, Module) or mod.isEmpty: return - if event.altDown: + if event.GetModifiers() == wx.MOD_ALT: fit = Fit.getInstance().getFit(self.activeFitID) positions = getSimilarModPositions(fit.modules, mod) self.mainFrame.command.Submit(cmd.GuiRemoveLocalModuleCommand( @@ -458,15 +458,15 @@ class FittingView(d.Display): mstate = wx.GetMouseState() # If we dropping on a module, try to replace, or add if replacement fails if item.isModule and dstMod is not None and not dstMod.isEmpty: - positions = getSimilarModPositions(fit.modules, dstMod) if mstate.altDown else [dstPos] + positions = getSimilarModPositions(fit.modules, dstMod) if mstate.GetModifiers() == wx.MOD_ALT else [dstPos] command = cmd.GuiReplaceLocalModuleCommand(fitID=fitID, itemID=itemID, positions=positions) if not self.mainFrame.command.Submit(command): - if mstate.altDown: + if mstate.GetModifiers() == wx.MOD_ALT: self.mainFrame.command.Submit(cmd.GuiFillWithNewLocalModulesCommand(fitID=fitID, itemID=itemID)) else: self.mainFrame.command.Submit(cmd.GuiAddLocalModuleCommand(fitID=fitID, itemID=itemID)) elif item.isModule: - if mstate.altDown: + if mstate.GetModifiers() == wx.MOD_ALT: self.mainFrame.command.Submit(cmd.GuiFillWithNewLocalModulesCommand(fitID=fitID, itemID=itemID)) else: self.mainFrame.command.Submit(cmd.GuiAddLocalModuleCommand(fitID=fitID, itemID=itemID)) @@ -477,7 +477,7 @@ class FittingView(d.Display): positionsAll = list(range(len(fit.modules))) if dstMod is None or dstMod.isEmpty: positions = positionsAll - elif mstate.altDown: + elif mstate.GetModifiers() == wx.MOD_ALT: positions = getSimilarModPositions(fit.modules, dstMod) failoverToAll = True else: @@ -504,7 +504,10 @@ class FittingView(d.Display): if mod in fit.modules: position = fit.modules.index(mod) self.mainFrame.command.Submit(cmd.GuiCargoToLocalModuleCommand( - fitID=fitID, cargoItemID=cargoItemID, modPosition=position, copy=wx.GetMouseState().cmdDown)) + fitID=fitID, + cargoItemID=cargoItemID, + modPosition=position, + copy=wx.GetMouseState().GetModifiers() == wx.MOD_CONTROL)) def swapItems(self, x, y, srcIdx): """Swap two modules in fitting window""" @@ -529,13 +532,13 @@ class FittingView(d.Display): return mod2Position = fit.modules.index(mod2) mstate = wx.GetMouseState() - if mstate.cmdDown and mstate.altDown: + if mstate.GetModifiers() == wx.MOD_CONTROL | wx.MOD_ALT: self.mainFrame.command.Submit(cmd.GuiFillWithClonedLocalModulesCommand( fitID=self.activeFitID, position=srcIdx)) - elif mstate.cmdDown and mod2.isEmpty: + elif mstate.GetModifiers() == wx.MOD_CONTROL and mod2.isEmpty: self.mainFrame.command.Submit(cmd.GuiCloneLocalModuleCommand( fitID=self.activeFitID, srcPosition=srcIdx, dstPosition=mod2Position)) - elif not mstate.cmdDown: + elif mstate.GetModifiers() == wx.MOD_NONE: self.mainFrame.command.Submit(cmd.GuiSwapLocalModulesCommand( fitID=self.activeFitID, position1=srcIdx, position2=mod2Position)) @@ -696,7 +699,7 @@ class FittingView(d.Display): else: selectedMods = self.getSelectedMods() - click = "ctrl" if event.cmdDown or event.middleIsDown else "right" if event.GetButton() == 3 else "left" + click = "ctrl" if event.GetModifiers() == wx.MOD_CONTROL or event.middleIsDown else "right" if event.GetButton() == 3 else "left" try: mainMod = self.mods[self.GetItemData(row)] @@ -709,7 +712,7 @@ class FittingView(d.Display): if mainMod not in fit.modules: return mainPosition = fit.modules.index(mainMod) - if event.altDown: + if event.GetModifiers() == wx.MOD_ALT: positions = getSimilarModPositions(fit.modules, mainMod) else: positions = [] diff --git a/gui/marketBrowser.py b/gui/marketBrowser.py index ea24973de..d036233d3 100644 --- a/gui/marketBrowser.py +++ b/gui/marketBrowser.py @@ -83,10 +83,9 @@ class MarketBrowser(wx.Panel): def toggleMetaButton(self, event): """Process clicks on toggle buttons""" - mstate = wx.GetMouseState() clickedBtn = event.EventObject - if mstate.cmdDown: + if wx.GetMouseState().GetModifiers() == wx.MOD_CONTROL: activeBtns = [btn for btn in self.metaButtons if btn.GetValue()] if activeBtns: clickedBtn.setUserSelection(clickedBtn.GetValue())