#pragma once #include "StaticPage.hpp" #include "List.hpp" #include "ComboBox.hpp" #include "Entry.hpp" #include "RadioButton.hpp" #include "CheckBox.hpp" #include "Button.hpp" #include "CustomRendererWidget.hpp" #include "../GsrInfo.hpp" #include "../Config.hpp" #include namespace gsr { class ScrollablePage; class SettingsPage : public StaticPage { public: enum class Type { REPLAY, RECORD, STREAM }; SettingsPage(Type type, const GsrInfo &gsr_info, const std::vector &audio_devices, std::optional &config); SettingsPage(const SettingsPage&) = delete; SettingsPage& operator=(const SettingsPage&) = delete; void save(); void on_navigate_away_from_page() override; std::function on_back_button_handler; private: std::unique_ptr