From f38661593795e51e45e2dc2ead8a7bf897d226f6 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Mon, 9 Dec 2024 16:29:36 +0100 Subject: Start on global settings, add tint color setting --- include/gui/GlobalSettingsPage.hpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 include/gui/GlobalSettingsPage.hpp (limited to 'include/gui/GlobalSettingsPage.hpp') diff --git a/include/gui/GlobalSettingsPage.hpp b/include/gui/GlobalSettingsPage.hpp new file mode 100644 index 0000000..cd4a50c --- /dev/null +++ b/include/gui/GlobalSettingsPage.hpp @@ -0,0 +1,34 @@ +#pragma once + +#include "StaticPage.hpp" +#include "../GsrInfo.hpp" +#include "../Config.hpp" + +namespace gsr { + class GsrPage; + class PageStack; + class ScrollablePage; + class Subsection; + class RadioButton; + + class GlobalSettingsPage : public StaticPage { + public: + GlobalSettingsPage(const GsrInfo *gsr_info, Config &config, PageStack *page_stack); + GlobalSettingsPage(const GlobalSettingsPage&) = delete; + GlobalSettingsPage& operator=(const GlobalSettingsPage&) = delete; + + void load(); + void save(); + void on_navigate_away_from_page() override; + private: + std::unique_ptr create_appearance_subsection(ScrollablePage *parent_page); + void add_widgets(); + private: + Config &config; + const GsrInfo *gsr_info = nullptr; + + GsrPage *content_page_ptr = nullptr; + PageStack *page_stack = nullptr; + RadioButton *tint_color_radio_button_ptr = nullptr; + }; +} \ No newline at end of file -- cgit v1.2.3