diff options
Diffstat (limited to 'src/gui/kernel/qkeysequence.cpp')
-rw-r--r-- | src/gui/kernel/qkeysequence.cpp | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/gui/kernel/qkeysequence.cpp b/src/gui/kernel/qkeysequence.cpp index 01a308372e..9a3d1b0d3a 100644 --- a/src/gui/kernel/qkeysequence.cpp +++ b/src/gui/kernel/qkeysequence.cpp @@ -56,7 +56,6 @@ #if defined(Q_OS_MACX) #include <QtCore/private/qcore_mac_p.h> -#include <Carbon/Carbon.h> #endif #include <algorithm> @@ -70,6 +69,13 @@ struct MacSpecialKey { ushort macSymbol; }; +// Unicode code points for the glyphs associated with these keys +// Defined by Carbon headers but not anywhere in Cocoa +static const int kShiftUnicode = 0x21E7; +static const int kControlUnicode = 0x2303; +static const int kOptionUnicode = 0x2325; +static const int kCommandUnicode = 0x2318; + static const int NumEntries = 21; static const MacSpecialKey entries[NumEntries] = { { Qt::Key_Escape, 0x238B }, @@ -1002,7 +1008,6 @@ int QKeySequence::assign(const QString &ks) int QKeySequence::assign(const QString &ks, QKeySequence::SequenceFormat format) { QString keyseq = ks; - QString part; int n = 0; int p = 0, diff = 0; @@ -1027,9 +1032,9 @@ int QKeySequence::assign(const QString &ks, QKeySequence::SequenceFormat format) } } } - part = keyseq.left(-1 == p ? keyseq.length() : p - diff); + QString part = keyseq.left(-1 == p ? keyseq.length() : p - diff); keyseq = keyseq.right(-1 == p ? 0 : keyseq.length() - (p + 1)); - d->key[n] = QKeySequencePrivate::decodeString(part, format); + d->key[n] = QKeySequencePrivate::decodeString(std::move(part), format); ++n; } return n; @@ -1055,10 +1060,10 @@ int QKeySequence::decodeString(const QString &str) return QKeySequencePrivate::decodeString(str, NativeText); } -int QKeySequencePrivate::decodeString(const QString &str, QKeySequence::SequenceFormat format) +int QKeySequencePrivate::decodeString(QString accel, QKeySequence::SequenceFormat format) { int ret = 0; - QString accel = str.toLower(); + accel = std::move(accel).toLower(); bool nativeText = (format == QKeySequence::NativeText); QVector<QModifKeyName> *gmodifs; @@ -1094,7 +1099,6 @@ int QKeySequencePrivate::decodeString(const QString &str, QKeySequence::Sequence << QModifKeyName(Qt::KeypadModifier, QLatin1String("num+")); } } - if (!gmodifs) return ret; QVector<QModifKeyName> modifs; |