示例#1
0
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);
}
示例#2
0
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;
}
示例#3
0
static QString
keybindToString(const Qt::KeyboardModifiers & modifiers,
                Qt::Key key)
{
    return makeKeySequence(modifiers, key).toString(QKeySequence::NativeText);
}