From 60a1acc0cf2a045d8c6a4da697c40ce7c78cbb16 Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 7 Jan 2020 16:51:01 +0100 Subject: [PATCH] iOS: use new settings page convenience Change-Id: I307fea9a1243df981547f11c4f5d7cd231c185c0 Reviewed-by: Eike Ziller --- src/plugins/ios/iossettingspage.cpp | 19 +------------------ src/plugins/ios/iossettingspage.h | 11 ----------- src/plugins/ios/iossettingswidget.cpp | 6 ++++++ src/plugins/ios/iossettingswidget.h | 12 ++++++++---- 4 files changed, 15 insertions(+), 33 deletions(-) diff --git a/src/plugins/ios/iossettingspage.cpp b/src/plugins/ios/iossettingspage.cpp index cc1ce8e6bea..a7e0f951d6c 100644 --- a/src/plugins/ios/iossettingspage.cpp +++ b/src/plugins/ios/iossettingspage.cpp @@ -40,24 +40,7 @@ IosSettingsPage::IosSettingsPage() setId(Constants::IOS_SETTINGS_ID); setDisplayName(tr("iOS")); setCategory(ProjectExplorer::Constants::DEVICE_SETTINGS_CATEGORY); -} - -QWidget *IosSettingsPage::widget() -{ - if (!m_widget) - m_widget = new IosSettingsWidget; - return m_widget; -} - -void IosSettingsPage::apply() -{ - m_widget->saveSettings(); - IosConfigurations::updateAutomaticKitList(); -} - -void IosSettingsPage::finish() -{ - delete m_widget; + setWidgetCreator([] { return new IosSettingsWidget; }); } } // namespace Internal diff --git a/src/plugins/ios/iossettingspage.h b/src/plugins/ios/iossettingspage.h index fd3cb969217..3dc9ce52d8b 100644 --- a/src/plugins/ios/iossettingspage.h +++ b/src/plugins/ios/iossettingspage.h @@ -27,26 +27,15 @@ #include -#include - namespace Ios { namespace Internal { -class IosSettingsWidget; - class IosSettingsPage : public Core::IOptionsPage { Q_OBJECT public: IosSettingsPage(); - - QWidget *widget() override; - void apply() override; - void finish() override; - -private: - QPointer m_widget; }; } // namespace Internal diff --git a/src/plugins/ios/iossettingswidget.cpp b/src/plugins/ios/iossettingswidget.cpp index 29346b43282..d5612712cbc 100644 --- a/src/plugins/ios/iossettingswidget.cpp +++ b/src/plugins/ios/iossettingswidget.cpp @@ -94,6 +94,12 @@ IosSettingsWidget::~IosSettingsWidget() delete m_ui; } +void IosSettingsWidget::apply() +{ + saveSettings(); + IosConfigurations::updateAutomaticKitList(); +} + /*! Called on start button click. Selected simulator devices are started. Multiple devices can be started simultaneously provided they in shutdown state. diff --git a/src/plugins/ios/iossettingswidget.h b/src/plugins/ios/iossettingswidget.h index 535a04f45ef..339df65fe5a 100644 --- a/src/plugins/ios/iossettingswidget.h +++ b/src/plugins/ios/iossettingswidget.h @@ -27,24 +27,28 @@ #include "iosconfigurations.h" #include "simulatorcontrol.h" -#include + +#include namespace Ios { namespace Internal { namespace Ui { class IosSettingsWidget; } -class IosSettingsWidget : public QWidget +class IosSettingsWidget : public Core::IOptionsPageWidget { Q_OBJECT public: IosSettingsWidget(); - ~IosSettingsWidget() override; + ~IosSettingsWidget() final; + +private: + void apply() final; + void finish() final {} void saveSettings(); -private: void onStart(); void onCreate(); void onReset();