Disambiguate the build actions in locator and shortcut settings

By setting a whatsThis text and using that in locator.

Amends 3bd490acdb

Fixes: QTCREATORBUG-26002
Change-Id: I55c196456eb0eaec880da4479a0a75105f649b01
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
Eike Ziller
2021-07-15 11:52:40 +02:00
parent 88310df13d
commit 64da7b15d9
4 changed files with 34 additions and 8 deletions

View File

@@ -101,7 +101,9 @@ QList<LocatorFilterEntry> MenuBarFilter::matchesForAction(QAction *action,
QList<LocatorFilterEntry> entries;
if (!m_enabledActions.contains(action))
return entries;
const QString text = Utils::stripAccelerator(action->text());
const QString whatsThis = action->whatsThis();
const QString text = Utils::stripAccelerator(action->text())
+ (whatsThis.isEmpty() ? QString() : QString(" (" + whatsThis + ")"));
if (QMenu *menu = action->menu()) {
if (processedMenus.contains(menu))
return entries;

View File

@@ -1137,36 +1137,48 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
// deploy session
dd->m_deploySessionAction = new QAction(tr("Deploy"), this);
dd->m_deploySessionAction->setWhatsThis(tr("Deploy All Projects"));
cmd = ActionManager::registerAction(dd->m_deploySessionAction, Constants::DEPLOYSESSION);
cmd->setDescription(dd->m_deploySessionAction->whatsThis());
mbuild->addAction(cmd, Constants::G_BUILD_ALLPROJECTS);
msessionContextMenu->addAction(cmd, Constants::G_SESSION_BUILD);
// rebuild session action
dd->m_rebuildSessionAction = new QAction(Icons::REBUILD.icon(), tr("Rebuild"),
this);
dd->m_rebuildSessionAction->setWhatsThis(tr("Rebuild All Projects"));
cmd = ActionManager::registerAction(dd->m_rebuildSessionAction, Constants::REBUILDSESSION);
cmd->setDescription(dd->m_rebuildSessionAction->whatsThis());
mbuild->addAction(cmd, Constants::G_BUILD_ALLPROJECTS);
msessionContextMenu->addAction(cmd, Constants::G_SESSION_REBUILD);
dd->m_rebuildSessionForAllConfigsAction
= new QAction(Icons::REBUILD.icon(), tr("Rebuild"),
this);
dd->m_rebuildSessionForAllConfigsAction->setWhatsThis(
tr("Rebuild All Projects for All Configurations"));
cmd = ActionManager::registerAction(dd->m_rebuildSessionForAllConfigsAction,
Constants::REBUILDSESSIONALLCONFIGS);
cmd->setDescription(dd->m_rebuildSessionForAllConfigsAction->whatsThis());
mbuild->addAction(cmd, Constants::G_BUILD_ALLPROJECTS_ALLCONFIGURATIONS);
msessionContextMenu->addAction(cmd, Constants::G_SESSION_REBUILD);
// clean session
dd->m_cleanSessionAction = new QAction(Utils::Icons::CLEAN.icon(), tr("Clean"),
this);
dd->m_cleanSessionAction->setWhatsThis(tr("Clean All Projects"));
cmd = ActionManager::registerAction(dd->m_cleanSessionAction, Constants::CLEANSESSION);
cmd->setDescription(dd->m_cleanSessionAction->whatsThis());
mbuild->addAction(cmd, Constants::G_BUILD_ALLPROJECTS);
msessionContextMenu->addAction(cmd, Constants::G_SESSION_REBUILD);
dd->m_cleanSessionForAllConfigsAction = new QAction(Utils::Icons::CLEAN.icon(),
tr("Clean"), this);
dd->m_cleanSessionForAllConfigsAction->setWhatsThis(
tr("Clean All Projects for All Configurations"));
cmd = ActionManager::registerAction(dd->m_cleanSessionForAllConfigsAction,
Constants::CLEANSESSIONALLCONFIGS);
cmd->setDescription(dd->m_cleanSessionForAllConfigsAction->whatsThis());
mbuild->addAction(cmd, Constants::G_BUILD_ALLPROJECTS_ALLCONFIGURATIONS);
msessionContextMenu->addAction(cmd, Constants::G_SESSION_REBUILD);
@@ -1212,39 +1224,45 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
// deploy action
dd->m_deployAction = new QAction(tr("Deploy"), this);
dd->m_deployAction->setWhatsThis(tr("Deploy Project"));
cmd = ActionManager::registerAction(dd->m_deployAction, Constants::DEPLOY);
cmd->setAttribute(Command::CA_UpdateText);
cmd->setDescription(dd->m_deployAction->text());
cmd->setDescription(dd->m_deployAction->whatsThis());
mbuild->addAction(cmd, Constants::G_BUILD_PROJECT);
// rebuild action
dd->m_rebuildAction = new QAction(Icons::REBUILD.icon(), tr("Rebuild"), this);
dd->m_rebuildAction->setWhatsThis(tr("Rebuild Project"));
cmd = ActionManager::registerAction(dd->m_rebuildAction, Constants::REBUILD);
cmd->setAttribute(Command::CA_UpdateText);
cmd->setDescription(dd->m_rebuildAction->text());
cmd->setDescription(dd->m_rebuildAction->whatsThis());
mbuild->addAction(cmd, Constants::G_BUILD_PROJECT);
dd->m_rebuildProjectForAllConfigsAction
= new QAction(Icons::REBUILD.icon(), tr("Rebuild"), this);
dd->m_rebuildProjectForAllConfigsAction->setWhatsThis(
tr("Rebuild Project for All Configurations"));
cmd = ActionManager::registerAction(dd->m_rebuildProjectForAllConfigsAction,
Constants::REBUILDALLCONFIGS);
cmd->setAttribute(Command::CA_UpdateText);
cmd->setDescription(dd->m_rebuildProjectForAllConfigsAction->text());
cmd->setDescription(dd->m_rebuildProjectForAllConfigsAction->whatsThis());
mbuild->addAction(cmd, Constants::G_BUILD_PROJECT_ALLCONFIGURATIONS);
// clean action
dd->m_cleanAction = new QAction(Utils::Icons::CLEAN.icon(), tr("Clean"), this);
dd->m_cleanAction->setWhatsThis(tr("Clean Project"));
cmd = ActionManager::registerAction(dd->m_cleanAction, Constants::CLEAN);
cmd->setAttribute(Command::CA_UpdateText);
cmd->setDescription(dd->m_cleanAction->text());
cmd->setDescription(dd->m_cleanAction->whatsThis());
mbuild->addAction(cmd, Constants::G_BUILD_PROJECT);
dd->m_cleanProjectForAllConfigsAction
= new QAction(Utils::Icons::CLEAN.icon(), tr("Clean"), this);
dd->m_cleanProjectForAllConfigsAction->setWhatsThis(tr("Clean Project for All Configurations"));
cmd = ActionManager::registerAction(dd->m_cleanProjectForAllConfigsAction,
Constants::CLEANALLCONFIGS);
cmd->setAttribute(Command::CA_UpdateText);
cmd->setDescription(dd->m_cleanProjectForAllConfigsAction->text());
cmd->setDescription(dd->m_cleanProjectForAllConfigsAction->whatsThis());
mbuild->addAction(cmd, Constants::G_BUILD_PROJECT_ALLCONFIGURATIONS);
// cancel build action

View File

@@ -190,9 +190,11 @@ bool QbsProjectManagerPlugin::initialize(const QStringList &arguments, QString *
this, &QbsProjectManagerPlugin::cleanProductContextMenu);
m_cleanProduct = new QAction(Utils::Icons::CLEAN.icon(), tr("Clean"), this);
m_cleanProduct->setWhatsThis(tr("Clean Product"));
command = Core::ActionManager::registerAction(m_cleanProduct, Constants::ACTION_CLEAN_PRODUCT);
command->setAttribute(Core::Command::CA_Hide);
command->setAttribute(Core::Command::CA_UpdateText);
command->setDescription(m_cleanProduct->whatsThis());
mbuild->addAction(command, ProjectExplorer::Constants::G_BUILD_PRODUCT);
connect(m_cleanProduct, &QAction::triggered, this, &QbsProjectManagerPlugin::cleanProduct);
@@ -205,10 +207,12 @@ bool QbsProjectManagerPlugin::initialize(const QStringList &arguments, QString *
this, &QbsProjectManagerPlugin::rebuildProductContextMenu);
m_rebuildProduct = new QAction(ProjectExplorer::Icons::REBUILD.icon(), tr("Rebuild"), this);
m_rebuildProduct->setWhatsThis(tr("Rebuild Product"));
command = Core::ActionManager::registerAction(m_rebuildProduct,
Constants::ACTION_REBUILD_PRODUCT);
command->setAttribute(Core::Command::CA_Hide);
command->setAttribute(Core::Command::CA_UpdateText);
command->setDescription(m_rebuildProduct->whatsThis());
mbuild->addAction(command, ProjectExplorer::Constants::G_BUILD_PRODUCT);
connect(m_rebuildProduct, &QAction::triggered, this, &QbsProjectManagerPlugin::rebuildProduct);

View File

@@ -246,19 +246,21 @@ bool QmakeProjectManagerPlugin::initialize(const QStringList &arguments, QString
d->m_rebuildSubProjectAction = new QAction(Icons::REBUILD.icon(), tr("Rebuild"),
this);
d->m_rebuildSubProjectAction->setWhatsThis(tr("Rebuild Subproject"));
command = ActionManager::registerAction(d->m_rebuildSubProjectAction, Constants::REBUILDSUBDIR, projectContext);
command->setAttribute(Command::CA_Hide);
command->setAttribute(Command::CA_UpdateText);
command->setDescription(d->m_rebuildSubProjectAction->text());
command->setDescription(d->m_rebuildSubProjectAction->whatsThis());
mbuild->addAction(command, ProjectExplorer::Constants::G_BUILD_SUBPROJECT);
connect(d->m_rebuildSubProjectAction, &QAction::triggered,
d, &QmakeProjectManagerPluginPrivate::rebuildSubDirContextMenu);
d->m_cleanSubProjectAction = new QAction(Utils::Icons::CLEAN.icon(),tr("Clean"), this);
d->m_cleanSubProjectAction->setWhatsThis(tr("Clean Subproject"));
command = ActionManager::registerAction(d->m_cleanSubProjectAction, Constants::CLEANSUBDIR, projectContext);
command->setAttribute(Command::CA_Hide);
command->setAttribute(Command::CA_UpdateText);
command->setDescription(d->m_cleanSubProjectAction->text());
command->setDescription(d->m_cleanSubProjectAction->whatsThis());
mbuild->addAction(command, ProjectExplorer::Constants::G_BUILD_SUBPROJECT);
connect(d->m_cleanSubProjectAction, &QAction::triggered,
d, &QmakeProjectManagerPluginPrivate::cleanSubDirContextMenu);