void KisInputManager::Private::addWheelShortcut(KisAbstractInputAction* action, int index, const QList<Qt::Key> &modifiers, KisShortcutConfiguration::MouseWheelMovement wheelAction) { KisSingleActionShortcut *keyShortcut = new KisSingleActionShortcut(action, index); KisSingleActionShortcut::WheelAction a; switch(wheelAction) { case KisShortcutConfiguration::WheelUp: a = KisSingleActionShortcut::WheelUp; break; case KisShortcutConfiguration::WheelDown: a = KisSingleActionShortcut::WheelDown; break; case KisShortcutConfiguration::WheelLeft: a = KisSingleActionShortcut::WheelLeft; break; case KisShortcutConfiguration::WheelRight: a = KisSingleActionShortcut::WheelRight; break; default: return; } keyShortcut->setWheel(QSet<Qt::Key>::fromList(modifiers), a); matcher.addShortcut(keyShortcut); }
KisSingleActionShortcut* createKeyShortcut(KisAbstractInputAction *action, int shortcutIndex, const QList<Qt::Key> &modifiers, Qt::Key key) { KisSingleActionShortcut *s = new KisSingleActionShortcut(action, shortcutIndex); s->setKey(modifiers, key); return s; }
void KisInputManager::Private::addKeyShortcut(KisAbstractInputAction* action, int index, const QList<Qt::Key> &keys) { KisSingleActionShortcut *keyShortcut = new KisSingleActionShortcut(action, index); QList<Qt::Key> modifiers = keys.mid(1); keyShortcut->setKey(modifiers, keys.at(0)); matcher.addShortcut(keyShortcut); }
void KisInputManager::Private::addKeyShortcut(KisAbstractInputAction* action, int index, const QList<Qt::Key> &keys) { if (keys.size() == 0) return; KisSingleActionShortcut *keyShortcut = new KisSingleActionShortcut(action, index); //Note: Ordering is important here, Shift + V is different from V + Shift, //which is the reason we use the last key here since most users will enter //shortcuts as "Shift + V". Ideally this should not happen, but this is //the way the shortcut matcher is currently implemented. QList<Qt::Key> allKeys = keys; Qt::Key key = allKeys.takeLast(); QSet<Qt::Key> modifiers = QSet<Qt::Key>::fromList(allKeys); keyShortcut->setKey(modifiers, key); matcher.addShortcut(keyShortcut); }