forked from qt-creator/qt-creator
CppCheck: Use IOptionPage::setWidgetCreator() for settings
Change-Id: I0c2b9d96e53ddcecc3d25e519c3df21b1d09ddf7 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -120,6 +120,33 @@ void OptionsWidget::save(CppcheckOptions &options) const
|
|||||||
options.guessArguments = m_guessArguments->isChecked();
|
options.guessArguments = m_guessArguments->isChecked();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class CppcheckOptionsPageWidget : public Core::IOptionsPageWidget
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CppcheckOptionsPageWidget(CppcheckOptionsPage *page)
|
||||||
|
: m_page(page)
|
||||||
|
{
|
||||||
|
m_optionWidget = new OptionsWidget;
|
||||||
|
|
||||||
|
auto vbox = new QVBoxLayout(this);
|
||||||
|
vbox->addWidget(m_optionWidget);
|
||||||
|
|
||||||
|
m_optionWidget->load(m_page->m_tool.options());
|
||||||
|
}
|
||||||
|
|
||||||
|
void apply() final
|
||||||
|
{
|
||||||
|
CppcheckOptions options;
|
||||||
|
m_optionWidget->save(options);
|
||||||
|
m_page->save(options);
|
||||||
|
m_page->m_tool.updateOptions(options);
|
||||||
|
m_page->m_trigger.recheck();
|
||||||
|
}
|
||||||
|
|
||||||
|
OptionsWidget *m_optionWidget;
|
||||||
|
CppcheckOptionsPage *m_page;
|
||||||
|
};
|
||||||
|
|
||||||
CppcheckOptionsPage::CppcheckOptionsPage(CppcheckTool &tool, CppcheckTrigger &trigger):
|
CppcheckOptionsPage::CppcheckOptionsPage(CppcheckTool &tool, CppcheckTrigger &trigger):
|
||||||
m_tool(tool),
|
m_tool(tool),
|
||||||
m_trigger(trigger)
|
m_trigger(trigger)
|
||||||
@@ -130,6 +157,8 @@ CppcheckOptionsPage::CppcheckOptionsPage(CppcheckTool &tool, CppcheckTrigger &tr
|
|||||||
setDisplayCategory(::Debugger::Tr::tr("Analyzer"));
|
setDisplayCategory(::Debugger::Tr::tr("Analyzer"));
|
||||||
setCategoryIconPath(Analyzer::Icons::SETTINGSCATEGORY_ANALYZER);
|
setCategoryIconPath(Analyzer::Icons::SETTINGSCATEGORY_ANALYZER);
|
||||||
|
|
||||||
|
setWidgetCreator([this] { return new CppcheckOptionsPageWidget(this); });
|
||||||
|
|
||||||
CppcheckOptions options;
|
CppcheckOptions options;
|
||||||
if (HostOsInfo::isAnyUnixHost()) {
|
if (HostOsInfo::isAnyUnixHost()) {
|
||||||
options.binary = "cppcheck";
|
options.binary = "cppcheck";
|
||||||
@@ -145,27 +174,6 @@ CppcheckOptionsPage::CppcheckOptionsPage(CppcheckTool &tool, CppcheckTrigger &tr
|
|||||||
m_tool.updateOptions(options);
|
m_tool.updateOptions(options);
|
||||||
}
|
}
|
||||||
|
|
||||||
QWidget *CppcheckOptionsPage::widget()
|
|
||||||
{
|
|
||||||
if (!m_widget)
|
|
||||||
m_widget = new OptionsWidget;
|
|
||||||
m_widget->load(m_tool.options());
|
|
||||||
return m_widget.data();
|
|
||||||
}
|
|
||||||
|
|
||||||
void CppcheckOptionsPage::apply()
|
|
||||||
{
|
|
||||||
CppcheckOptions options;
|
|
||||||
m_widget->save(options);
|
|
||||||
save(options);
|
|
||||||
m_tool.updateOptions(options);
|
|
||||||
m_trigger.recheck();
|
|
||||||
}
|
|
||||||
|
|
||||||
void CppcheckOptionsPage::finish()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void CppcheckOptionsPage::save(const CppcheckOptions &options) const
|
void CppcheckOptionsPage::save(const CppcheckOptions &options) const
|
||||||
{
|
{
|
||||||
QSettings *s = Core::ICore::settings();
|
QSettings *s = Core::ICore::settings();
|
||||||
|
|||||||
@@ -6,10 +6,6 @@
|
|||||||
#include <coreplugin/dialogs/ioptionspage.h>
|
#include <coreplugin/dialogs/ioptionspage.h>
|
||||||
#include <utils/filepath.h>
|
#include <utils/filepath.h>
|
||||||
|
|
||||||
#include <QCoreApplication>
|
|
||||||
#include <QPointer>
|
|
||||||
#include <QWidget>
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
class QLineEdit;
|
class QLineEdit;
|
||||||
class QCheckBox;
|
class QCheckBox;
|
||||||
@@ -75,17 +71,13 @@ class CppcheckOptionsPage final : public Core::IOptionsPage
|
|||||||
public:
|
public:
|
||||||
explicit CppcheckOptionsPage(CppcheckTool &tool, CppcheckTrigger &trigger);
|
explicit CppcheckOptionsPage(CppcheckTool &tool, CppcheckTrigger &trigger);
|
||||||
|
|
||||||
QWidget *widget() final;
|
|
||||||
void apply() final;
|
|
||||||
void finish() final;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
friend class CppcheckOptionsPageWidget;
|
||||||
void save(const CppcheckOptions &options) const;
|
void save(const CppcheckOptions &options) const;
|
||||||
void load(CppcheckOptions &options) const;
|
void load(CppcheckOptions &options) const;
|
||||||
|
|
||||||
CppcheckTool &m_tool;
|
CppcheckTool &m_tool;
|
||||||
CppcheckTrigger &m_trigger;
|
CppcheckTrigger &m_trigger;
|
||||||
QPointer<OptionsWidget> m_widget;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // Cppcheck::Internal
|
} // Cppcheck::Internal
|
||||||
|
|||||||
Reference in New Issue
Block a user