aboutsummaryrefslogtreecommitdiffstats
path: root/src/labs/platform/qquicklabsplatformmenuitem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/labs/platform/qquicklabsplatformmenuitem.cpp')
-rw-r--r--src/labs/platform/qquicklabsplatformmenuitem.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/labs/platform/qquicklabsplatformmenuitem.cpp b/src/labs/platform/qquicklabsplatformmenuitem.cpp
index 31e91add36..ab45831b39 100644
--- a/src/labs/platform/qquicklabsplatformmenuitem.cpp
+++ b/src/labs/platform/qquicklabsplatformmenuitem.cpp
@@ -152,6 +152,8 @@ void QQuickLabsPlatformMenuItem::sync()
QKeySequence sequence;
if (m_shortcut.metaType().id() == QMetaType::Int)
sequence = QKeySequence(static_cast<QKeySequence::StandardKey>(m_shortcut.toInt()));
+ else if (m_shortcut.metaType().id() == QMetaType::QKeySequence)
+ sequence = m_shortcut.value<QKeySequence>();
else
sequence = QKeySequence::fromString(m_shortcut.toString());
m_handle->setShortcut(sequence.toString());
@@ -586,6 +588,8 @@ void QQuickLabsPlatformMenuItem::addShortcut()
QKeySequence sequence;
if (m_shortcut.metaType().id() == QMetaType::Int)
sequence = QKeySequence(static_cast<QKeySequence::StandardKey>(m_shortcut.toInt()));
+ else if (m_shortcut.metaType().id() == QMetaType::QKeySequence)
+ sequence = m_shortcut.value<QKeySequence>();
else
sequence = QKeySequence::fromString(m_shortcut.toString());
if (!sequence.isEmpty() && m_enabled) {
@@ -606,6 +610,8 @@ void QQuickLabsPlatformMenuItem::removeShortcut()
QKeySequence sequence;
if (m_shortcut.metaType().id() == QMetaType::Int)
sequence = QKeySequence(static_cast<QKeySequence::StandardKey>(m_shortcut.toInt()));
+ else if (m_shortcut.metaType().id() == QMetaType::QKeySequence)
+ sequence = m_shortcut.value<QKeySequence>();
else
sequence = QKeySequence::fromString(m_shortcut.toString());
QGuiApplicationPrivate::instance()->shortcutMap.removeShortcut(m_shortcutId, this, sequence);