diff --git a/src/Gui/Action.cpp b/src/Gui/Action.cpp index d65ff69aa7..ad210694c1 100644 --- a/src/Gui/Action.cpp +++ b/src/Gui/Action.cpp @@ -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);