void ActionWithShortcut::onShortcutChanged(const std::string& actionID, Key symbol, const KeyboardModifiers& modifiers) { QKeySequence seq = makeKeySequence(QtEnumConvert::toQtModifiers(modifiers), QtEnumConvert::toQtKey(symbol)); for (std::size_t i = 0; i < _shortcuts.size(); ++i) { if (_shortcuts[i].first.toStdString() == actionID) { _shortcuts[i].second = seq; } } setShortcut(seq); }
static QString mouseShortcutToString(const Qt::KeyboardModifiers & modifiers, Qt::MouseButton button) { QString ret = makeKeySequence(modifiers, (Qt::Key)0).toString(QKeySequence::NativeText); switch (button) { case Qt::LeftButton: ret.append( QObject::tr("LeftButton") ); break; case Qt::MiddleButton: ret.append( QObject::tr("MiddleButton") ); break; case Qt::RightButton: ret.append( QObject::tr("RightButton") ); break; default: break; } return ret; }
static QString keybindToString(const Qt::KeyboardModifiers & modifiers, Qt::Key key) { return makeKeySequence(modifiers, key).toString(QKeySequence::NativeText); }