#pragma once #include #include namespace scwx { namespace qt { namespace ui { class SettingsPageWidget : public QWidget { Q_OBJECT public: explicit SettingsPageWidget(QWidget* parent = nullptr); ~SettingsPageWidget(); bool CommitChanges(); void DiscardChanges(); void ResetToDefault(); protected: void AddSettingsInterface(settings::SettingsInterfaceBase* setting); private: class Impl; std::shared_ptr p; }; } // namespace ui } // namespace qt } // namespace scwx