Пример #1
0
    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)
Пример #2
0
    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)
Пример #3
0
    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()
Пример #4
0
    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()