From b59bf22d688ac2f6c194b42fe6c656e5218f4778 Mon Sep 17 00:00:00 2001 From: Manuel Nickschas Date: Thu, 4 Feb 2016 22:40:49 +0100 Subject: [PATCH] Fix build with Qt4 Qt4 can't serialize lists of things out of the box, in this case lists of shortcuts. Rather than declaring a new metatype, we just go back to storing a single shortcut for Qt4 - it's all we internally support anyway. --- src/uisupport/action.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/uisupport/action.cpp b/src/uisupport/action.cpp index 216cac84..2758e770 100644 --- a/src/uisupport/action.cpp +++ b/src/uisupport/action.cpp @@ -99,8 +99,12 @@ QKeySequence Action::shortcut(ShortcutTypes type) const { Q_ASSERT(type); if (type == DefaultShortcut) { +#if QT_VERSION < 0x050000 + return property("defaultShortcut").value(); +#else auto sequence = property("defaultShortcuts").value>(); return sequence.isEmpty() ? QKeySequence() : sequence.first(); +#endif } return shortcuts().isEmpty() ? QKeySequence() : shortcuts().first(); @@ -117,9 +121,13 @@ void Action::setShortcut(const QKeySequence &key, ShortcutTypes type) { Q_ASSERT(type); - if (type & DefaultShortcut) + if (type & DefaultShortcut) { +#if QT_VERSION < 0x050000 + setProperty("defaultShortcut", key); +#else setProperty("defaultShortcuts", QVariant::fromValue(QList() << key)); - +#endif + } if (type & ActiveShortcut) QAction::setShortcut(key); } -- 2.20.1