summaryrefslogtreecommitdiff
path: root/src/plugins/cppcheck/cppcheckplugin.cpp
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2023-05-15 18:00:42 +0200
committerhjk <hjk@qt.io>2023-05-16 16:03:37 +0000
commit824de3046c439908372f164b397b324ca09da1fb (patch)
treebb3b004f091455c5e4fb02c76f2b7334b1cded49 /src/plugins/cppcheck/cppcheckplugin.cpp
parent77c19ae213a3e4cbc9717db2a14124ac7ca59e28 (diff)
downloadqt-creator-824de3046c439908372f164b397b324ca09da1fb.tar.gz
CppCheck: Rework settings handling
Change-Id: Id9c9b316c5e0d39bc5fcba14951664e72d947a71 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Diffstat (limited to 'src/plugins/cppcheck/cppcheckplugin.cpp')
-rw-r--r--src/plugins/cppcheck/cppcheckplugin.cpp23
1 files changed, 17 insertions, 6 deletions
diff --git a/src/plugins/cppcheck/cppcheckplugin.cpp b/src/plugins/cppcheck/cppcheckplugin.cpp
index 8d44f0dda5..890e2e3c0a 100644
--- a/src/plugins/cppcheck/cppcheckplugin.cpp
+++ b/src/plugins/cppcheck/cppcheckplugin.cpp
@@ -28,6 +28,8 @@
#include <utils/qtcassert.h>
#include <utils/utilsicons.h>
+using namespace Utils;
+
namespace Cppcheck::Internal {
class CppcheckPluginPrivate final : public QObject
@@ -36,11 +38,11 @@ public:
explicit CppcheckPluginPrivate();
CppcheckTextMarkManager marks;
- CppcheckTool tool{marks, Constants::CHECK_PROGRESS_ID};
+ CppcheckOptions options;
+ CppcheckTool tool{options, marks, Constants::CHECK_PROGRESS_ID};
CppcheckTrigger trigger{marks, tool};
- CppcheckOptionsPage options{tool, trigger};
DiagnosticsModel manualRunModel;
- CppcheckTool manualRunTool{manualRunModel, Constants::MANUAL_CHECK_PROGRESS_ID};
+ CppcheckTool manualRunTool{options, manualRunModel, Constants::MANUAL_CHECK_PROGRESS_ID};
Utils::Perspective perspective{Constants::PERSPECTIVE_ID, ::Cppcheck::Tr::tr("Cppcheck")};
QAction *manualRunAction;
@@ -51,7 +53,11 @@ public:
CppcheckPluginPrivate::CppcheckPluginPrivate()
{
- manualRunTool.updateOptions(tool.options());
+ tool.updateOptions();
+ connect(&options, &AspectContainer::changed, [this] {
+ tool.updateOptions();
+ trigger.recheck();
+ });
auto manualRunView = new DiagnosticView;
manualRunView->setModel(&manualRunModel);
@@ -103,7 +109,12 @@ void CppcheckPluginPrivate::startManualRun()
if (!project)
return;
- ManualRunDialog dialog(manualRunTool.options(), project);
+ manualRunTool.updateOptions();
+
+ auto optionsWidget = new QWidget;
+ options.layouter()(optionsWidget);
+
+ ManualRunDialog dialog(optionsWidget, project);
if (dialog.exec() == ManualRunDialog::Rejected)
return;
@@ -114,7 +125,7 @@ void CppcheckPluginPrivate::startManualRun()
return;
manualRunTool.setProject(project);
- manualRunTool.updateOptions(dialog.options());
+ manualRunTool.updateOptions();
manualRunTool.check(files);
perspective.select();
}