Sfoglia il codice sorgente

- for auto-completer, now clicking an entry in the completer popup will select that entry and insert it

Marius Stanciu 6 anni fa
parent
commit
6f5a775388
2 ha cambiato i file con 16 aggiunte e 0 eliminazioni
  1. 1 0
      README.md
  2. 15 0
      flatcamGUI/GUIElements.py

+ 1 - 0
README.md

@@ -12,6 +12,7 @@ CAD program, and create G-Code for Isolation routing.
 2.01.2020
 
 - started to rework the NCC Tool GUI in preparation for adding a Tool DB feature
+- for auto-completer, now clicking an entry in the completer popup will select that entry and insert it
 
 1.01.2020
 

+ 15 - 0
flatcamGUI/GUIElements.py

@@ -794,12 +794,17 @@ class FCTextAreaExtended(QtWidgets.QTextEdit):
         self.completer.setModel(self.model)
         self.set_model_data(keyword_list=[])
         self.completer.insertText.connect(self.insertCompletion)
+        self.completer.popup().clicked.connect(self.insert_completion_click)
 
         self.completer_enable = False
 
     def set_model_data(self, keyword_list):
         self.model.setStringList(keyword_list)
 
+    def insert_completion_click(self):
+        self.completer.insertText.emit(self.completer.getSelected())
+        self.completer.setCompletionMode(QCompleter.PopupCompletion)
+
     def insertCompletion(self, completion):
         tc = self.textCursor()
         extra = (len(completion) - len(self.completer.completionPrefix()))
@@ -958,6 +963,7 @@ class FCPlainTextAreaExtended(QtWidgets.QPlainTextEdit):
         self.completer.setModel(self.model)
         self.set_model_data(keyword_list=[])
         self.completer.insertText.connect(self.insertCompletion)
+        self.completer.popup().clicked.connect(self.insert_completion_click)
 
         self.completer_enable = False
 
@@ -972,6 +978,10 @@ class FCPlainTextAreaExtended(QtWidgets.QPlainTextEdit):
     def set_model_data(self, keyword_list):
         self.model.setStringList(keyword_list)
 
+    def insert_completion_click(self):
+        self.completer.insertText.emit(self.completer.getSelected())
+        self.completer.setCompletionMode(QCompleter.PopupCompletion)
+
     def insertCompletion(self, completion):
         tc = self.textCursor()
         extra = (len(completion) - len(self.completer.completionPrefix()))
@@ -2370,10 +2380,15 @@ class _ExpandableTextEdit(QTextEdit):
         self.completer.setModel(self.model)
         self.set_model_data(keyword_list=[])
         self.completer.insertText.connect(self.insertCompletion)
+        self.completer.popup().clicked.connect(self.insert_completion_click)
 
     def set_model_data(self, keyword_list):
         self.model.setStringList(keyword_list)
 
+    def insert_completion_click(self):
+        self.completer.insertText.emit(self.completer.getSelected())
+        self.completer.setCompletionMode(QCompleter.PopupCompletion)
+
     def insertCompletion(self, completion):
         tc = self.textCursor()
         extra = (len(completion) - len(self.completer.completionPrefix()))