diff --git a/analyzers/cppcheck/kdevcppcheck.rc b/analyzers/cppcheck/kdevcppcheck.rc --- a/analyzers/cppcheck/kdevcppcheck.rc +++ b/analyzers/cppcheck/kdevcppcheck.rc @@ -1,10 +1,13 @@ - + - - - - + + + + + + + diff --git a/analyzers/cppcheck/plugin.h b/analyzers/cppcheck/plugin.h --- a/analyzers/cppcheck/plugin.h +++ b/analyzers/cppcheck/plugin.h @@ -75,9 +75,11 @@ KDevelop::IProject* m_currentProject; - QAction* m_actionFile; - QAction* m_actionProject; - QAction* m_actionProjectItem; + QAction* m_menuActionFile; + QAction* m_menuActionProject; + QAction* m_contextActionFile; + QAction* m_contextActionProject; + QAction* m_contextActionProjectItem; QScopedPointer m_model; }; diff --git a/analyzers/cppcheck/plugin.cpp b/analyzers/cppcheck/plugin.cpp --- a/analyzers/cppcheck/plugin.cpp +++ b/analyzers/cppcheck/plugin.cpp @@ -57,19 +57,31 @@ qCDebug(KDEV_CPPCHECK) << "setting cppcheck rc file"; setXMLFile(QStringLiteral("kdevcppcheck.rc")); - m_actionFile = new QAction(QIcon::fromTheme(QStringLiteral("cppcheck")), i18n("Cppcheck (Current File)"), this); - connect(m_actionFile, &QAction::triggered, [this](){ + QIcon cppcheckIcon = QIcon::fromTheme(QStringLiteral("cppcheck")); + + m_menuActionFile = new QAction(cppcheckIcon, i18n("Analyze Current File with Cppcheck"), this); + connect(m_menuActionFile, &QAction::triggered, this, [this](){ + runCppcheck(false); + }); + actionCollection()->addAction(QStringLiteral("cppcheck_file"), m_menuActionFile); + + m_contextActionFile = new QAction(cppcheckIcon, i18n("Cppcheck"), this); + connect(m_contextActionFile, &QAction::triggered, this, [this]() { runCppcheck(false); }); - actionCollection()->addAction(QStringLiteral("cppcheck_file"), m_actionFile); - m_actionProject = new QAction(QIcon::fromTheme(QStringLiteral("cppcheck")), i18n("Cppcheck (Current Project)"), this); - connect(m_actionProject, &QAction::triggered, [this](){ + m_menuActionProject = new QAction(cppcheckIcon, i18n("Analyze Current Project with Cppcheck"), this); + connect(m_menuActionProject, &QAction::triggered, this, [this](){ + runCppcheck(true); + }); + actionCollection()->addAction(QStringLiteral("cppcheck_project"), m_menuActionProject); + + m_contextActionProject = new QAction(cppcheckIcon, i18n("Cppcheck"), this); + connect(m_contextActionProject, &QAction::triggered, this, [this]() { runCppcheck(true); }); - actionCollection()->addAction(QStringLiteral("cppcheck_project"), m_actionProject); - m_actionProjectItem = new QAction(QIcon::fromTheme(QStringLiteral("cppcheck")), i18n("Cppcheck"), this); + m_contextActionProjectItem = new QAction(cppcheckIcon, i18n("Cppcheck"), this); connect(core()->documentController(), &KDevelop::IDocumentController::documentClosed, this, &Plugin::updateActions); @@ -118,8 +130,8 @@ { m_currentProject = nullptr; - m_actionFile->setEnabled(false); - m_actionProject->setEnabled(false); + m_menuActionFile->setEnabled(false); + m_menuActionProject->setEnabled(false); if (isRunning()) { return; @@ -137,8 +149,8 @@ return; } - m_actionFile->setEnabled(true); - m_actionProject->setEnabled(true); + m_menuActionFile->setEnabled(true); + m_menuActionProject->setEnabled(true); } void Plugin::projectClosed(KDevelop::IProject* project) @@ -214,8 +226,8 @@ if (context->hasType(KDevelop::Context::EditorContext) && m_currentProject && !isRunning()) { - extension.addAction(KDevelop::ContextMenuExtension::AnalyzeGroup, m_actionFile); - extension.addAction(KDevelop::ContextMenuExtension::AnalyzeGroup, m_actionProject); + extension.addAction(KDevelop::ContextMenuExtension::AnalyzeFileGroup, m_contextActionFile); + extension.addAction(KDevelop::ContextMenuExtension::AnalyzeProjectGroup, m_contextActionProject); } if (context->hasType(KDevelop::Context::ProjectItemContext) && !isRunning()) { @@ -236,12 +248,12 @@ return extension; } - m_actionProjectItem->disconnect(); - connect(m_actionProjectItem, &QAction::triggered, [this, item](){ + m_contextActionProjectItem->disconnect(); + connect(m_contextActionProjectItem, &QAction::triggered, this, [this, item](){ runCppcheck(item->project(), item->path().toLocalFile()); }); - extension.addAction(KDevelop::ContextMenuExtension::AnalyzeGroup, m_actionProjectItem); + extension.addAction(KDevelop::ContextMenuExtension::AnalyzeProjectGroup, m_contextActionProjectItem); } return extension; diff --git a/app/kdevelopui.rc b/app/kdevelopui.rc --- a/app/kdevelopui.rc +++ b/app/kdevelopui.rc @@ -1,5 +1,5 @@ - + @@ -57,11 +57,6 @@ - - Analy&ze - - - &Navigation @@ -112,6 +107,14 @@ Code + + Analyze Current File With + + + + Analyze Current Project With + +