예제 #1
0
 def key_press_event(self, ev, which=0):
     code = ev.key()
     if self.capture == 0 or code in (0, Qt.Key.Key_unknown,
                                      Qt.Key.Key_Shift, Qt.Key.Key_Control,
                                      Qt.Key.Key_Alt, Qt.Key.Key_Meta,
                                      Qt.Key.Key_AltGr, Qt.Key.Key_CapsLock,
                                      Qt.Key.Key_NumLock,
                                      Qt.Key.Key_ScrollLock):
         return QWidget.keyPressEvent(self, ev)
     sequence = QKeySequence(code
                             | (int(ev.modifiers())
                                & (~Qt.KeyboardModifier.KeypadModifier)))
     setattr(self, 'shortcut%d' % which, sequence)
     self.clear_button(which)
     self.capture = 0
     dup_desc = self.dup_check(sequence, self.key)
     if dup_desc is not None:
         error_dialog(self,
                      _('Already assigned'),
                      unicode_type(
                          sequence.toString(
                              QKeySequence.SequenceFormat.NativeText)) +
                      ' ' + _('already assigned to') + ' ' + dup_desc,
                      show=True)
         self.clear_clicked(which=which)
예제 #2
0
 def keyPressEvent(self, ev):
     sc = get_shortcut_for(self, ev)
     if ev.key() == Qt.Key.Key_Escape or sc == 'toggle_bookmarks':
         self.toggle_requested.emit()
         return
     if sc == 'new_bookmark':
         self.create_requested.emit()
         return
     return QWidget.keyPressEvent(self, ev)
예제 #3
0
    def key_press_event(self, ev, which=0):
        if self.capture == 0:
            return QWidget.keyPressEvent(self, ev)
        sequence = keysequence_from_event(ev)
        if sequence is None:
            return QWidget.keyPressEvent(self, ev)
        ev.accept()

        button = getattr(self, 'button%d'%which)
        button.setStyleSheet('QPushButton { font-weight: normal}')
        button.setText(sequence.toString(QKeySequence.SequenceFormat.NativeText))
        self.capture = 0
        dup_desc = self.dup_check(sequence)
        if dup_desc is not None:
            error_dialog(self, _('Already assigned'),
                    str(sequence.toString(QKeySequence.SequenceFormat.NativeText)) + ' ' + _(
                        'already assigned to') + ' ' + dup_desc, show=True)
            self.clear_clicked(which=which)
예제 #4
0
 def keyPressEvent(self, ev):
     k = ev.key()
     if k in (Qt.Key.Key_Left, Qt.Key.Key_Right, Qt.Key.Key_Up, Qt.Key.Key_Down) and self.selection_state.rect is not None and self.has_selection:
         ev.accept()
         delta = 10 if ev.modifiers() & Qt.KeyboardModifier.ShiftModifier else 1
         x = y = 0
         if k in (Qt.Key.Key_Left, Qt.Key.Key_Right):
             x = delta * (-1 if k == Qt.Key.Key_Left else 1)
         else:
             y = delta * (-1 if k == Qt.Key.Key_Up else 1)
         self.move_selection_rect(x, y)
         self.update()
     else:
         return QWidget.keyPressEvent(self, ev)
예제 #5
0
 def keyPressEvent(self, ev):
     if ev.key() == Qt.Key.Key_Escape:
         self.hide_search_panel.emit()
         ev.accept()
         return
     return QWidget.keyPressEvent(self, ev)