summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@qt.io>2022-05-19 10:23:28 +0200
committerMarc Mutz <marc.mutz@qt.io>2022-05-20 20:07:38 +0200
commit562f1387cbb4584fdf22753d3abb226c8a918b80 (patch)
tree5779249d7a96e08eddc4d5f3dfbed650343cc3f9
parentf6685a271677429ed2dac4232421a7bb18a78e0c (diff)
QKeySequence: constexpr ALL the things
Constexpr acts as a static assertion that these objects don't incur runtime initialization overhead. Also mark some functions constexpr that can be. As a drive-by, rename relational operator arguments to the usual lhs, rhs. Task-number: QTBUG-100485 Change-Id: I73d2595ccb123f28459edf79ae8dc208f26cc364 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
-rw-r--r--src/gui/kernel/qkeysequence.cpp28
1 files changed, 14 insertions, 14 deletions
diff --git a/src/gui/kernel/qkeysequence.cpp b/src/gui/kernel/qkeysequence.cpp
index 047edf676b..6dd7df0b54 100644
--- a/src/gui/kernel/qkeysequence.cpp
+++ b/src/gui/kernel/qkeysequence.cpp
@@ -32,12 +32,12 @@ struct MacSpecialKey {
// 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 constexpr int kShiftUnicode = 0x21E7;
+static constexpr int kControlUnicode = 0x2303;
+static constexpr int kOptionUnicode = 0x2325;
+static constexpr int kCommandUnicode = 0x2318;
-static const MacSpecialKey entries[] = {
+static constexpr MacSpecialKey entries[] = {
{ Qt::Key_Escape, 0x238B },
{ Qt::Key_Tab, 0x21E5 },
{ Qt::Key_Backtab, 0x21E4 },
@@ -62,14 +62,14 @@ static const MacSpecialKey entries[] = {
{ Qt::Key_Eject, 0x23CF },
};
-static bool operator<(const MacSpecialKey &entry, int key)
+static constexpr bool operator<(const MacSpecialKey &lhs, int rhs)
{
- return entry.key < key;
+ return lhs.key < rhs;
}
-static bool operator<(int key, const MacSpecialKey &entry)
+static constexpr bool operator<(int lhs, const MacSpecialKey &rhs)
{
- return key < entry.key;
+ return lhs < rhs.key;
}
@@ -375,7 +375,7 @@ void Q_GUI_EXPORT qt_set_sequence_auto_mnemonic(bool b) { qt_sequence_no_mnemoni
similar to the native text on Windows and X11.
*/
-static const struct {
+static constexpr struct {
int key;
const char name[25];
} keyname[] = {
@@ -1226,10 +1226,10 @@ QString QKeySequencePrivate::encodeString(int key, QKeySequence::SequenceFormat
// for us, which means that we have to adjust our order here.
// The upshot is a lot more infrastructure to keep the number of
// if tests down and the code relatively clean.
- static const int ModifierOrder[] = { Qt::META, Qt::ALT, Qt::SHIFT, Qt::CTRL, 0 };
- static const int QtKeyOrder[] = { Qt::Key_Meta, Qt::Key_Alt, Qt::Key_Shift, Qt::Key_Control, 0 };
- static const int DontSwapModifierOrder[] = { Qt::CTRL, Qt::ALT, Qt::SHIFT, Qt::META, 0 };
- static const int DontSwapQtKeyOrder[] = { Qt::Key_Control, Qt::Key_Alt, Qt::Key_Shift, Qt::Key_Meta, 0 };
+ static constexpr int ModifierOrder[] = { Qt::META, Qt::ALT, Qt::SHIFT, Qt::CTRL, 0 };
+ static constexpr int QtKeyOrder[] = { Qt::Key_Meta, Qt::Key_Alt, Qt::Key_Shift, Qt::Key_Control, 0 };
+ static constexpr int DontSwapModifierOrder[] = { Qt::CTRL, Qt::ALT, Qt::SHIFT, Qt::META, 0 };
+ static constexpr int DontSwapQtKeyOrder[] = { Qt::Key_Control, Qt::Key_Alt, Qt::Key_Shift, Qt::Key_Meta, 0 };
const int *modifierOrder;
const int *qtkeyOrder;
if (qApp->testAttribute(Qt::AA_MacDontSwapCtrlAndMeta)) {