From e27f6884920449d86d16e80d3ef0c1fbd89f3da6 Mon Sep 17 00:00:00 2001 From: con <qtc-committer@nokia.com> Date: Thu, 23 Jul 2009 11:02:37 +0200 Subject: [PATCH] Fix setting the mode keyboard shortcuts. Broke with 61e468a8851541ba5b6cffc2dd37b4167af1d064. --- src/plugins/coreplugin/modemanager.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/plugins/coreplugin/modemanager.cpp b/src/plugins/coreplugin/modemanager.cpp index ba30077cd6b..55405e226ed 100644 --- a/src/plugins/coreplugin/modemanager.cpp +++ b/src/plugins/coreplugin/modemanager.cpp @@ -147,11 +147,16 @@ void ModeManager::objectAdded(QObject *obj) m_modeShortcuts.insert(index, cmd); connect(cmd, SIGNAL(keySequenceChanged()), this, SLOT(updateModeToolTip())); for (int i = 0; i < m_modeShortcuts.size(); ++i) { + Command *currentCmd = m_modeShortcuts.at(i); + bool currentlyHasDefaultSequence = (currentCmd->keySequence() + == currentCmd->defaultKeySequence()); #ifdef Q_WS_MAC - m_modeShortcuts.at(i)->setDefaultKeySequence(QKeySequence(QString("Meta+%1").arg(i+1))); + currentCmd->setDefaultKeySequence(QKeySequence(QString("Meta+%1").arg(i+1))); #else - m_modeShortcuts.at(i)->setDefaultKeySequence(QKeySequence(QString("Ctrl+%1").arg(i+1))); + currentCmd->setDefaultKeySequence(QKeySequence(QString("Ctrl+%1").arg(i+1))); #endif + if (currentlyHasDefaultSequence) + currentCmd->setKeySequence(currentCmd->defaultKeySequence()); } m_signalMapper->setMapping(shortcut, mode->uniqueModeName()); -- GitLab