From 282009e652c62c6c39b52e1af1cefc7bae6c14d9 Mon Sep 17 00:00:00 2001 From: MelkorBSD Date: Sun, 19 Jan 2025 05:43:52 +0300 Subject: [PATCH] Fix multiple shortcuts for actions (#571) * Fix multiple shortcuts for actions * Fix multiple shortcuts (ed.2) --- RedPandaIDE/settingsdialog/environmentshortcutwidget.cpp | 4 ++-- RedPandaIDE/shortcutmanager.cpp | 4 ++-- RedPandaIDE/widgets/shortcutinputedit.cpp | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/RedPandaIDE/settingsdialog/environmentshortcutwidget.cpp b/RedPandaIDE/settingsdialog/environmentshortcutwidget.cpp index 362f82caf..4da335653 100644 --- a/RedPandaIDE/settingsdialog/environmentshortcutwidget.cpp +++ b/RedPandaIDE/settingsdialog/environmentshortcutwidget.cpp @@ -85,7 +85,7 @@ void EnvironmentShortcutModel::reload() else item->fullPath = QString("%1 > %2").arg(tr("action"),action->text()); item->action = action; - item->shortcut = action->shortcut().toString().trimmed(); + item->shortcut = QKeySequence::listToString(action->shortcuts()); item->isAction = true; mShortcuts.append(item); } @@ -198,7 +198,7 @@ void EnvironmentShortcutModel::loadShortCutsOfMenu(const QMenu *menu, QListname = action->objectName(); item->fullPath = QString("%1 > %2").arg(menu->title(),action->text()); item->action = action; - item->shortcut = action->shortcut().toString().trimmed(); + item->shortcut = QKeySequence::listToString(action->shortcuts()); item->isAction = true; mShortcuts.append(item); } diff --git a/RedPandaIDE/shortcutmanager.cpp b/RedPandaIDE/shortcutmanager.cpp index 659d7dba2..7aaeebc8d 100644 --- a/RedPandaIDE/shortcutmanager.cpp +++ b/RedPandaIDE/shortcutmanager.cpp @@ -127,10 +127,10 @@ void ShortcutManager::applyTo(QAction *action) { PEnvironmentShortcut item = mShortcuts.value(action->objectName(), PEnvironmentShortcut()); if (item && item->isAction) { - action->setShortcut(QKeySequence::fromString(item->shortcut)); + action->setShortcuts(QKeySequence::listFromString(item->shortcut)); } if (!action->shortcut().isEmpty()){ - action->setToolTip(action->text()+QString("(%1)").arg(action->shortcut().toString())); + action->setToolTip(action->text()+QString("(%1)").arg(QKeySequence::listToString(action->shortcuts()))); } else { action->setToolTip(action->text()); } diff --git a/RedPandaIDE/widgets/shortcutinputedit.cpp b/RedPandaIDE/widgets/shortcutinputedit.cpp index ef6e3e200..f93b8dc97 100644 --- a/RedPandaIDE/widgets/shortcutinputedit.cpp +++ b/RedPandaIDE/widgets/shortcutinputedit.cpp @@ -68,7 +68,7 @@ void ShortcutInputEdit::keyPressEvent(QKeyEvent *event) s = s.mid(0,s.lastIndexOf('+')+1) + event->text().at(0); } if (!lastKeys.isEmpty()) - s=lastKeys+","+s; + s=lastKeys+"; "+s; setText(s); // if (key!=Qt::Key_Tab // && key!=Qt::Key_Enter