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();
|
||||
}
|
||||
|
||||
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):
|
||||
m_tool(tool),
|
||||
m_trigger(trigger)
|
||||
@@ -130,6 +157,8 @@ CppcheckOptionsPage::CppcheckOptionsPage(CppcheckTool &tool, CppcheckTrigger &tr
|
||||
setDisplayCategory(::Debugger::Tr::tr("Analyzer"));
|
||||
setCategoryIconPath(Analyzer::Icons::SETTINGSCATEGORY_ANALYZER);
|
||||
|
||||
setWidgetCreator([this] { return new CppcheckOptionsPageWidget(this); });
|
||||
|
||||
CppcheckOptions options;
|
||||
if (HostOsInfo::isAnyUnixHost()) {
|
||||
options.binary = "cppcheck";
|
||||
@@ -145,27 +174,6 @@ CppcheckOptionsPage::CppcheckOptionsPage(CppcheckTool &tool, CppcheckTrigger &tr
|
||||
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
|
||||
{
|
||||
QSettings *s = Core::ICore::settings();
|
||||
|
||||
Reference in New Issue
Block a user