def eventFilter(self, obj, event): if event.type() == QtCore.QEvent.KeyPress and obj == self.lineEditShortcut: if self.lineEditShortcut.hasSelectedText(): self.lineEditShortcut.clear() sequence = keyevent_to_keysequence(event, prefix=self.lineEditShortcut.text()) if sequence: self.currentShortcut().setKeySequence(sequence) self.lineEditShortcut.setText(sequence.toString()) return True return super(ShortcutsSettingsWidget, self).eventFilter(obj, event)
def keyPress_handlers(self, event): for handler in super().keyPress_handlers(event): yield handler # Bundle items sequence = keyevent_to_keysequence(event) if sequence in self.application().supportManager.getAllKeySequences(): yield lambda event, sequence=sequence: \ self.__insert_key_bundle_item(event, sequence) # Pairs settings = self.editor.currentPreferenceSettings() character = event.text() if any((pair for pair in settings.smartTypingPairs if character in pair)): yield lambda event, settings=settings, character=character: \ self.__insert_typing_pairs(event, settings, character)
def keyPress_handlers(self, event): trigger = keyevent_to_keysequence(event) for sequence, handler in self.eventHandlers[QtCore.QEvent.KeyPress]: if self.isActive() and sequence.matches(trigger): yield handler
def keyPressEvent(self, event): if self.hasSelectedText(): self.clear() sequence = keyevent_to_keysequence(event, prefixes=self.text()) if not sequence.isEmpty(): self.setText(sequence.toString())