Ver código fonte

wxGUI/prompt: hide auto-complete when closing dialog

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@53663 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa 12 anos atrás
pai
commit
5a7c93ca77

+ 14 - 0
gui/wxpython/gmodeler/dialogs.py

@@ -113,6 +113,7 @@ class ModelDataDialog(ElementDialog):
             event.Skip()
         else:
             self.Destroy()
+
 class ModelSearchDialog(wx.Dialog):
     def __init__(self, parent, id = wx.ID_ANY, title = _("Add new GRASS module to the model"),
                  style = wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER, **kwargs):
@@ -149,6 +150,7 @@ class ModelSearchDialog(wx.Dialog):
         self.cmd_prompt.Bind(wx.EVT_KEY_UP, self.OnText)
         self.search.searchChoice.Bind(wx.EVT_CHOICE, self.OnText)
         self.Bind(wx.EVT_BUTTON, self.OnOk, self.btnOk)
+        self.Bind(wx.EVT_BUTTON, self.OnCancel, self.btnCancel)
         
         self._layout()
         
@@ -196,6 +198,10 @@ class ModelSearchDialog(wx.Dialog):
     
     def OnOk(self, event):
         """!Button 'OK' pressed"""
+        # hide autocomplete
+        if self.cmd_prompt.AutoCompActive():
+            self.cmd_prompt.AutoCompCancel()
+        
         self.btnOk.SetFocus()
         cmd = self.GetCmd()
         
@@ -213,6 +219,14 @@ class ModelSearchDialog(wx.Dialog):
         
         self.EndModal(wx.ID_OK)
         
+    def OnCancel(self, event):
+        """Cancel pressed, close window"""
+        # hide autocomplete
+        if self.cmd_prompt.AutoCompActive():
+            self.cmd_prompt.AutoCompCancel()
+        
+        self.Hide()
+        
     def OnText(self, event):
         """!Text in prompt changed"""
         if self.cmd_prompt.AutoCompActive():

+ 4 - 0
gui/wxpython/gui_core/ghelp.py

@@ -128,6 +128,10 @@ class SearchModuleWindow(wx.Panel):
             event.Skip()
             return
         
+        # hide autocomplete
+        if self.cmdPrompt.AutoCompActive():
+            self.cmdPrompt.AutoCompCancel()
+        
         text = event.GetEventObject().GetValue()
         if not text:
             self.cmdPrompt.SetFilter(None)

+ 2 - 2
gui/wxpython/gui_core/prompt.py

@@ -726,7 +726,7 @@ class GPromptSTC(GPrompt, wx.stc.StyledTextCtrl):
         # create command and map lists for autocompletion
         #
         self.AutoCompSetIgnoreCase(False) 
-        
+                
         #
         # line margins
         #
@@ -942,7 +942,7 @@ class GPromptSTC(GPrompt, wx.stc.StyledTextCtrl):
         """
         # keycodes used: "." = 46, "=" = 61, "-" = 45 
         pos = self.GetCurrentPos()
-        #complete command after pressing '.'
+        # complete command after pressing '.'
         if event.GetKeyCode() == 46 and not event.ShiftDown():
             self.autoCompList = list()
             entry = self.GetTextLeft()