From 98ae5975a71dcf80471f1524d44a101a350006c4 Mon Sep 17 00:00:00 2001 From: dail8859 Date: Thu, 17 Apr 2025 22:01:25 -0400 Subject: [PATCH 1/2] Rename indent actions --- src/NotepadNext/dialogs/MainWindow.cpp | 4 ++-- src/NotepadNext/dialogs/MainWindow.ui | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/NotepadNext/dialogs/MainWindow.cpp b/src/NotepadNext/dialogs/MainWindow.cpp index 1eb56c5a8..bf40bdfbb 100644 --- a/src/NotepadNext/dialogs/MainWindow.cpp +++ b/src/NotepadNext/dialogs/MainWindow.cpp @@ -300,8 +300,8 @@ MainWindow::MainWindow(NotepadNextApplication *app) : copyAsFormat(&rtf, "Rich Text Format"); }); - connect(ui->actionIncrease_Indent, &QAction::triggered, this, [=]() { currentEditor()->tab(); }); - connect(ui->actionDecrease_Indent, &QAction::triggered, this, [=]() { currentEditor()->backTab(); }); + connect(ui->actionIncreaseIndent, &QAction::triggered, this, [=]() { currentEditor()->tab(); }); + connect(ui->actionDecreaseIndent, &QAction::triggered, this, [=]() { currentEditor()->backTab(); }); addAction(ui->actionToggleOverType); connect(ui->actionToggleOverType, &QAction::triggered, this, [=]() { diff --git a/src/NotepadNext/dialogs/MainWindow.ui b/src/NotepadNext/dialogs/MainWindow.ui index d8885cb1d..68bc4040a 100644 --- a/src/NotepadNext/dialogs/MainWindow.ui +++ b/src/NotepadNext/dialogs/MainWindow.ui @@ -108,8 +108,6 @@ Indent - - @@ -575,7 +573,7 @@ Ctrl+A - + :/icons/text_indent.png:/icons/text_indent.png @@ -584,7 +582,7 @@ Increase Indent - + :/icons/text_indent_remove.png:/icons/text_indent_remove.png From 67105b839bad35be6a566bb2d357125d473663e2 Mon Sep 17 00:00:00 2001 From: dail8859 Date: Mon, 5 May 2025 18:51:21 -0400 Subject: [PATCH 2/2] Allow specifying multiple custom shortcuts for actions Closes #761 --- src/NotepadNext/dialogs/MainWindow.cpp | 30 ++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/src/NotepadNext/dialogs/MainWindow.cpp b/src/NotepadNext/dialogs/MainWindow.cpp index bf40bdfbb..5ebcd18a8 100644 --- a/src/NotepadNext/dialogs/MainWindow.cpp +++ b/src/NotepadNext/dialogs/MainWindow.cpp @@ -843,18 +843,36 @@ MainWindow::~MainWindow() void MainWindow::applyCustomShortcuts() { ApplicationSettings *settings = app->getSettings(); - settings->beginGroup("Shortcuts"); for (const QString &actionName : settings->childKeys()) { QAction *action = findChild(QStringLiteral("action") + actionName, Qt::FindDirectChildrenOnly); - const QString shortcutString = settings->value(actionName).toString(); - if (action != Q_NULLPTR) { - action->setShortcut(QKeySequence(shortcutString)); + if (!action) { + qWarning() << "CustomShortcut: Cannot find action" << actionName; + continue; } - else { - qWarning() << "Cannot find action" << actionName; + + const QVariant value = settings->value(actionName); + if (!value.canConvert()) { + qWarning() << "CustomShortcut: Invalid shortcut format for" << actionName; + continue; + } + + QList shortcuts; + for (const QString &shortcutString : value.toStringList()) { + auto sequence = QKeySequence(shortcutString); + + if (sequence.count() > 0 && sequence[0].key() != Qt::Key_unknown) { + shortcuts.append(sequence); + } + else { + qWarning() << "CustomShortcut: Cannot create QKeySequence(" << shortcutString << ") for " << actionName; + } + } + + if (!shortcuts.empty()) { + action->setShortcuts(shortcuts); } }