diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2011-09-08 16:27:12 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2011-09-08 16:27:12 (GMT) |
commit | 3b4400e9a8a4cc1851344b057d4c4f0bcfcc0400 (patch) | |
tree | 05c11c5636d44b7e8afaa5982cc48fe2eb45726d /src/gui/kernel/qkeysequence.cpp | |
parent | 260005374b9b930aa583cd117aba96f8f4b34131 (diff) | |
parent | 2a1e82452a192c88bcf0250f5976492f6dc3b65f (diff) | |
download | Qt-3b4400e9a8a4cc1851344b057d4c4f0bcfcc0400.zip Qt-3b4400e9a8a4cc1851344b057d4c4f0bcfcc0400.tar.gz Qt-3b4400e9a8a4cc1851344b057d4c4f0bcfcc0400.tar.bz2 |
Merge branch 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into master-integration
* 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1:
Split CFLAGS from pkg-config properly
Ensure that the proxystyle is used over the style's own functions
runonphone: Add a missing space between a message and the file name
Perl check for windows configure.
QSettings: don't assume XDG_CONFIG_HOME is latin1-encoded
QSettings: use the common appdata dir when bootstrapping qmake on win
Replace explicit surrogate handlers by inline methods of QChar class
Diffstat (limited to 'src/gui/kernel/qkeysequence.cpp')
-rw-r--r-- | src/gui/kernel/qkeysequence.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/gui/kernel/qkeysequence.cpp b/src/gui/kernel/qkeysequence.cpp index 5fc72d4..469973f 100644 --- a/src/gui/kernel/qkeysequence.cpp +++ b/src/gui/kernel/qkeysequence.cpp @@ -1381,11 +1381,11 @@ QString QKeySequencePrivate::encodeString(int key, QKeySequence::SequenceFormat QString p; if (key && key < Qt::Key_Escape && key != Qt::Key_Space) { - if (key < 0x10000) { - p = QChar(key & 0xffff).toUpper(); + if (!QChar::requiresSurrogates(key)) { + p = QChar(ushort(key)).toUpper(); } else { - p = QChar((key-0x10000)/0x400+0xd800); - p += QChar((key-0x10000)%400+0xdc00); + p += QChar(QChar::highSurrogate(key)); + p += QChar(QChar::lowSurrogate(key)); } } else if (key >= Qt::Key_F1 && key <= Qt::Key_F35) { p = nativeText ? QShortcut::tr("F%1").arg(key - Qt::Key_F1 + 1) @@ -1418,11 +1418,11 @@ NonSymbol: // Or else characters like Qt::Key_aring may not get displayed // (Really depends on you locale) if (!keyname[i].name) { - if (key < 0x10000) { - p = QChar(key & 0xffff).toUpper(); + if (!QChar::requiresSurrogates(key)) { + p = QChar(ushort(key)).toUpper(); } else { - p = QChar((key-0x10000)/0x400+0xd800); - p += QChar((key-0x10000)%400+0xdc00); + p += QChar(QChar::highSurrogate(key)); + p += QChar(QChar::lowSurrogate(key)); } } } |