From 4ea5ada9050d22fcb7eed67a72358bce11c9b3df Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sat, 10 Aug 2024 00:45:36 +0200 Subject: Settings page save settings, refactor --- include/gui/SettingsPage.hpp | 128 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 include/gui/SettingsPage.hpp (limited to 'include/gui/SettingsPage.hpp') diff --git a/include/gui/SettingsPage.hpp b/include/gui/SettingsPage.hpp new file mode 100644 index 0000000..28689a1 --- /dev/null +++ b/include/gui/SettingsPage.hpp @@ -0,0 +1,128 @@ +#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