[RecentMacros] Check and warn for shortcut conflicts

This commit is contained in:
0penBrain
2022-01-25 16:30:30 +01:00
committed by wwmayer
parent cbf6e3d9bd
commit acd5097a13

View File

@@ -921,9 +921,19 @@ void RecentMacrosAction::setFiles(const QStringList& files)
recentFiles[index]->setData(QVariant(index));
QString accel(tr("none"));
if (index < shortcut_count){
accel = QString::fromStdString(shortcut_modifiers);
accel.append(QString::number(index+1,10)).toStdString();
recentFiles[index]->setShortcut(accel);
auto accel_tmp = QString::fromStdString(shortcut_modifiers);
accel_tmp.append(QString::number(index+1,10)).toStdString();
auto check = Application::Instance->commandManager().checkAcceleratorForConflicts(qPrintable(accel_tmp));
if (check) {
recentFiles[index]->setShortcut(QKeySequence());
auto msg = QStringLiteral("Recent macros : shortcut %1 disabled because conflicting with %2")
.arg(accel_tmp).arg(QLatin1String(check->getName()));
Base::Console().Warning("%s\n", qPrintable(msg));
}
else {
accel = accel_tmp;
recentFiles[index]->setShortcut(accel);
}
}
recentFiles[index]->setStatusTip(tr("Run macro %1 (Shift+click to edit) shortcut: %2").arg(files[index]).arg(accel));
recentFiles[index]->setVisible(true);