X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fsettingspages%2Fkeysequencewidget.cpp;h=745c341ab0c878cff7a29a3b0b22d0133dc7754d;hb=7a1f4908421fe7e542940aae057eeaf33b301c92;hp=4673a185e41a503efd9e6a8f950a9ab52dadcf62;hpb=f8275c3b697f1ee43d93bb4e5e688e87ca0405ce;p=quassel.git diff --git a/src/qtui/settingspages/keysequencewidget.cpp b/src/qtui/settingspages/keysequencewidget.cpp index 4673a185..745c341a 100644 --- a/src/qtui/settingspages/keysequencewidget.cpp +++ b/src/qtui/settingspages/keysequencewidget.cpp @@ -32,6 +32,11 @@ #include #include +// This defines the unicode symbols for special keys (kCommandUnicode and friends) +#ifdef Q_WS_MAC +# include +#endif + #include "action.h" #include "actioncollection.h" #include "iconloader.h" @@ -240,27 +245,22 @@ bool KeySequenceWidget::isShiftAsModifierAllowed(int keyQt) const { } void KeySequenceWidget::updateShortcutDisplay() { - // make translators happy - static QString metaKey = tr("Meta", "Meta key"); - static QString altKey = tr("Alt", "Alt key"); - static QString ctrlKey = tr("Ctrl", "Ctrl key"); - static QString shiftKey = tr("Shift", "Shift key"); - QString s = _keySequence.toString(QKeySequence::NativeText); s.replace('&', QLatin1String("&&")); if(_isRecording) { if(_modifierKeys) { - if(_modifierKeys & Qt::META) s += metaKey + '+'; -#if defined(Q_WS_MAC) - if(_modifierKeys & Qt::ALT) s += altKey + '+'; - if(_modifierKeys & Qt::CTRL) s += ctrlKey + '+'; -#elif defined(Q_WS_X11) - if(_modifierKeys & Qt::CTRL) s += ctrlKey + '+'; - if(_modifierKeys & Qt::ALT) s += altKey + '+'; +#ifdef Q_WS_MAC + if(_modifierKeys & Qt::META) s += QChar(kControlUnicode); + if(_modifierKeys & Qt::ALT) s += QChar(kOptionUnicode); + if(_modifierKeys & Qt::SHIFT) s += QChar(kShiftUnicode); + if(_modifierKeys & Qt::CTRL) s += QChar(kCommandUnicode); +#else + if(_modifierKeys & Qt::META) s += tr("Meta", "Meta key") + '+'; + if(_modifierKeys & Qt::CTRL) s += tr("Ctrl", "Ctrl key") + '+'; + if(_modifierKeys & Qt::ALT) s += tr("Alt", "Alt key") + '+'; + if(_modifierKeys & Qt::SHIFT) s += tr("Shift", "Shift key") + '+'; #endif - if(_modifierKeys & Qt::SHIFT) s += shiftKey + '+'; - } else { s = tr("Input", "What the user inputs now will be taken as the new shortcut"); } @@ -353,7 +353,7 @@ bool KeySequenceWidget::isKeySequenceAvailable(const QKeySequence &seq) { if(!actIdx.data(ShortcutsModel::IsConfigurableRole).toBool()) { QMessageBox::warning(this, tr("Shortcut Conflict"), - tr("The \"%1\" shortcut is already in use, and cannot be configured.\nPlease choose another one.").arg(seq.toString()), + tr("The \"%1\" shortcut is already in use, and cannot be configured.\nPlease choose another one.").arg(seq.toString(QKeySequence::NativeText)), QMessageBox::Ok); return false; } @@ -362,7 +362,7 @@ bool KeySequenceWidget::isKeySequenceAvailable(const QKeySequence &seq) { (tr("The \"%1\" shortcut is ambiguous with the shortcut for the following action:") + "
  • %2

" + tr("Do you want to reassign this shortcut to the selected action?") - ).arg(seq.toString(), actIdx.data().toString()), + ).arg(seq.toString(QKeySequence::NativeText), actIdx.data().toString()), QMessageBox::Cancel, this); box.addButton(tr("Reassign"), QMessageBox::AcceptRole); if(box.exec() == QMessageBox::Cancel)