def __init__(self, context_model=None, parent=None, family_only=False, read_only=False): super(PackageLineEdit, self).__init__(parent) ContextViewMixin.__init__(self, context_model) self.read_only = read_only self.family_only = family_only self.default_style = None pal = self.palette() self.normal_font = self.font() self.placeholder_font = self.font() self.placeholder_font.setItalic(True) self.normal_text_color = pal.color(QtGui.QPalette.Text) self.placeholder_text_color = pal.color(QtGui.QPalette.Disabled, QtGui.QPalette.Text) if not self.read_only: self.setPlaceholderText("enter package") self._update_font() self.completer = QtGui.QCompleter(self) self.completer.setCompletionMode(QtGui.QCompleter.PopupCompletion) self.completions = QtGui.QStringListModel(self.completer) self.completer.setModel(self.completions) self.setCompleter(self.completer) self.textEdited.connect(self._textEdited) self.textChanged.connect(self._textChanged)
def __init__(self, pivot_widget, pivot_position=None, words=None, initial_word=None, close_on_find=True, parent=None): super(FindPopup, self).__init__(parent) self.setFrameStyle(QtGui.QFrame.Panel | QtGui.QFrame.Raised) self.setWindowFlags(QtCore.Qt.Popup) self.close_on_find = close_on_find self.edit = QtGui.QLineEdit() self.btn = QtGui.QPushButton("Find") create_pane([self.edit, self.btn], True, compact=True, compact_spacing=0, parent_widget=self) self.edit.setFocus() if initial_word: self.edit.setText(initial_word) self.edit.selectAll() self.completer = None if words: self.completer = QtGui.QCompleter(self) self.completer.setCompletionMode(QtGui.QCompleter.PopupCompletion) self.completions = QtGui.QStringListModel(words, self.completer) self.completer.setModel(self.completions) self.edit.setCompleter(self.completer) pt = getattr(pivot_widget.rect(), pivot_position)() global_pt = pivot_widget.mapToGlobal(pt) self.move(global_pt) self.btn.clicked.connect(self._find) self.edit.returnPressed.connect(self._find) find_shortcut = QtGui.QShortcut(QtGui.QKeySequence("Ctrl+F"), self) find_shortcut.activated.connect(self._find_again)