[RecentMacros] Check and warn for shortcut conflicts
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user