From fb917713e55147c6b0de514924c4867d9e8d5894 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Sat, 17 Aug 2024 11:41:43 +0200 Subject: ui: add participant shading color preferences --- ui/include/turns/ui/widgets/preferences.hpp | 42 +++++++++++++++++++++++++++++ ui/include/turns/ui/windows/tracker.hpp | 8 ++++-- 2 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 ui/include/turns/ui/widgets/preferences.hpp (limited to 'ui/include') diff --git a/ui/include/turns/ui/widgets/preferences.hpp b/ui/include/turns/ui/widgets/preferences.hpp new file mode 100644 index 0000000..21b6eef --- /dev/null +++ b/ui/include/turns/ui/widgets/preferences.hpp @@ -0,0 +1,42 @@ +#ifndef TURNS_UI_WIDGETS_PREFERENCES_HPP +#define TURNS_UI_WIDGETS_PREFERENCES_HPP + +#include "turns/adw/actionrow.hpp" +#include "turns/adw/preferencespage.hpp" +#include "turns/ui/widgets/template_widget.hpp" + +#include + +#include + +#include + +#include + +namespace turns::ui::widgets +{ + struct preferences : template_widget + { + + auto constexpr inline static children = std::array{ + "friendly", + "hostile", + "secret", + }; + + explicit preferences(Glib::RefPtr settings = {}); + + private: + Glib::RefPtr m_settings; + + adw::ActionRow * m_friendly; + adw::ActionRow * m_hostile; + adw::ActionRow * m_secret; + + Gtk::ColorDialogButton m_friendly_button{}; + Gtk::ColorDialogButton m_hostile_button{}; + Gtk::ColorDialogButton m_secret_button{}; + }; +} // namespace turns::ui::widgets + +#endif \ No newline at end of file diff --git a/ui/include/turns/ui/windows/tracker.hpp b/ui/include/turns/ui/windows/tracker.hpp index e14f08a..c6cbccb 100644 --- a/ui/include/turns/ui/windows/tracker.hpp +++ b/ui/include/turns/ui/windows/tracker.hpp @@ -3,6 +3,7 @@ #include "turns/adw/toastoverlay.hpp" #include "turns/core/turn_order.hpp" +#include "turns/ui/widgets/preferences.hpp" #include "turns/ui/widgets/turn_order_view.hpp" #include @@ -17,11 +18,13 @@ #include #include #include +#include #include #include #include #include -#include + +#include #include #include @@ -45,6 +48,7 @@ namespace turns::ui::windows auto delete_participant(Glib::VariantBase param) -> void; auto edit_participant(Glib::VariantBase param) -> void; auto open() -> void; + auto preferences() -> void; auto save(bool force_ask) -> void; auto stop() -> void; @@ -70,6 +74,7 @@ namespace turns::ui::windows Gtk::Widget * m_title; Glib::RefPtr m_turn_order; widgets::turn_order_view * m_turn_order_view; + Glib::RefPtr m_settings{}; Glib::PropertyProxy m_subtitle; Glib::RefPtr m_file{}; @@ -77,7 +82,6 @@ namespace turns::ui::windows std::string m_file_buffer{}; Glib::RefPtr m_css{}; - Glib::RefPtr m_settings{}; }; } // namespace turns::ui::windows -- cgit v1.2.3