From 3d70ca941c71c4f75b96ef64aba1c38cb6f4c731 Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Thu, 10 Oct 2019 19:10:28 +0300 Subject: [PATCH] Change ammo picker window to be auxiliary frame rather than modal dialog --- gui/builtinContextMenus/graphFitAmmoPicker.py | 17 +++++++++++------ gui/builtinItemStatsViews/itemDescription.py | 4 ++-- gui/builtinItemStatsViews/itemTraits.py | 4 ++-- gui/builtinMarketBrowser/pfSearchBox.py | 2 +- gui/builtinViews/fittingView.py | 2 +- 5 files changed, 17 insertions(+), 12 deletions(-) diff --git a/gui/builtinContextMenus/graphFitAmmoPicker.py b/gui/builtinContextMenus/graphFitAmmoPicker.py index ace569237..65fbc4cd5 100644 --- a/gui/builtinContextMenus/graphFitAmmoPicker.py +++ b/gui/builtinContextMenus/graphFitAmmoPicker.py @@ -2,6 +2,7 @@ import wx import gui.mainFrame +from gui.auxFrame import AuxiliaryFrame from gui.contextMenu import ContextMenuSingle from service.market import Market @@ -24,17 +25,14 @@ class GraphFitAmmoPicker(ContextMenuSingle): return 'Plot with Different Ammo...' def activate(self, callingWindow, fullContext, mainItem, i): - with AmmoPicker(self.mainFrame, mainItem.item) as dlg: - if dlg.ShowModal() == wx.ID_OK: - pass - else: - pass + window = AmmoPicker(self.mainFrame, mainItem.item) + window.Show() GraphFitAmmoPicker.register() -class AmmoPicker(wx.Dialog): +class AmmoPicker(AuxiliaryFrame): def __init__(self, parent, fit): super().__init__(parent, title='Choose Different Ammo', style=wx.DEFAULT_DIALOG_STYLE) @@ -44,6 +42,13 @@ class AmmoPicker(wx.Dialog): fighters = self.getFighters(fit) self.SetMinSize((346, 156)) + self.Bind(wx.EVT_KEY_UP, self.kbEvent) + + def kbEvent(self, event): + if event.GetKeyCode() == wx.WXK_ESCAPE and event.GetModifiers() == wx.MOD_NONE: + self.Close() + return + event.Skip() def getMods(self, fit): sMkt = Market.getInstance() diff --git a/gui/builtinItemStatsViews/itemDescription.py b/gui/builtinItemStatsViews/itemDescription.py index 9c62dcc78..7fb990e32 100644 --- a/gui/builtinItemStatsViews/itemDescription.py +++ b/gui/builtinItemStatsViews/itemDescription.py @@ -35,7 +35,7 @@ class ItemDescription(wx.Panel): self.Layout() self.description.Bind(wx.EVT_CONTEXT_MENU, self.onPopupMenu) - self.description.Bind(wx.EVT_KEY_DOWN, self.onKeyDown) + self.description.Bind(wx.EVT_KEY_UP, self.onKeyUp) self.popupMenu = wx.Menu() copyItem = wx.MenuItem(self.popupMenu, 1, 'Copy') @@ -50,7 +50,7 @@ class ItemDescription(wx.Panel): if selectedMenuItem == 1: # Copy was chosen self.copySelectionToClipboard() - def onKeyDown(self, event): + def onKeyUp(self, event): keyCode = event.GetKeyCode() # Ctrl + C if keyCode == 67 and event.ControlDown(): diff --git a/gui/builtinItemStatsViews/itemTraits.py b/gui/builtinItemStatsViews/itemTraits.py index 1ea0514a5..bbabee4eb 100644 --- a/gui/builtinItemStatsViews/itemTraits.py +++ b/gui/builtinItemStatsViews/itemTraits.py @@ -14,7 +14,7 @@ class ItemTraits(wx.Panel): self.traits.SetPage(item.traits.traitText) self.traits.Bind(wx.EVT_CONTEXT_MENU, self.onPopupMenu) - self.traits.Bind(wx.EVT_KEY_DOWN, self.onKeyDown) + self.traits.Bind(wx.EVT_KEY_UP, self.onKeyUp) mainSizer.Add(self.traits, 1, wx.ALL | wx.EXPAND, 0) self.Layout() @@ -32,7 +32,7 @@ class ItemTraits(wx.Panel): if selectedMenuItem == 1: # Copy was chosen self.copySelectionToClipboard() - def onKeyDown(self, event): + def onKeyUp(self, event): keyCode = event.GetKeyCode() # Ctrl + C if keyCode == 67 and event.ControlDown(): diff --git a/gui/builtinMarketBrowser/pfSearchBox.py b/gui/builtinMarketBrowser/pfSearchBox.py index 38706a34d..d1e8f2f40 100644 --- a/gui/builtinMarketBrowser/pfSearchBox.py +++ b/gui/builtinMarketBrowser/pfSearchBox.py @@ -86,7 +86,7 @@ class PFSearchBox(wx.Window): def OnKeyPress(self, event): if event.RawControlDown() and event.GetKeyCode() == wx.WXK_BACK: - HandleCtrlBackspace(self.EditBox) + HandleCtrlBackspace(self.EditBox) else: event.Skip() diff --git a/gui/builtinViews/fittingView.py b/gui/builtinViews/fittingView.py index 9025586d0..40d042f48 100644 --- a/gui/builtinViews/fittingView.py +++ b/gui/builtinViews/fittingView.py @@ -164,7 +164,7 @@ class FittingView(d.Display): self.hoveredRow = None self.hoveredColumn = None - self.Bind(wx.EVT_KEY_DOWN, self.kbEvent) + self.Bind(wx.EVT_KEY_UP, self.kbEvent) self.Bind(wx.EVT_LEFT_DOWN, self.click) self.Bind(wx.EVT_RIGHT_DOWN, self.click) self.Bind(wx.EVT_MIDDLE_DOWN, self.click)