def complete_text(self, completion): """When the user validate a completion add it to the text. """ cursor_pos = self.cursor_pos() text = uni(self.text_getter()) before_text = text[:cursor_pos] after_text = text[cursor_pos:] prefix_len = len(before_text.split(self.delimiters[0])[-1].strip()) completion = completion[prefix_len:] if not after_text.startswith(self.delimiters[1]): completion += self.delimiters[1] self.insert_text(completion)
def text_changed(self, text=None): """Callback handling the text being edited on the parent. """ if not text: text = self.text_getter() if self._upddate_entries and self.entries_updater: entries = self.entries_updater() self.setModel(QtCore.QStringListModel(entries, self)) self._upddate_entries = False all_text = uni(text) text = all_text[:self.cursor_pos()] split = text.split(self.delimiters[0]) prefix = split[-1].strip() if len(split) > 1: self.setCompletionPrefix(prefix) self.completionNeeded.emit() elif self.popup().isVisible(): self.popup().hide()
def text_changed(self, text=None): """Callback handling the text being edited on the parent. """ if not text: text = self.text_getter() if self._upddate_entries and self.entries_updater: entries = self.entries_updater() self.setModel(QtGui.QStringListModel(entries, self)) self._upddate_entries = False all_text = uni(text) text = all_text[:self.cursor_pos()] split = text.split(self.delimiters[0]) prefix = split[-1].strip() if len(split) > 1: self.setCompletionPrefix(prefix) self.completionNeeded.emit() elif self.popup().isVisible(): self.popup().hide()