diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2024-08-17 11:41:43 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2024-08-17 11:41:43 +0200 |
| commit | fb917713e55147c6b0de514924c4867d9e8d5894 (patch) | |
| tree | 5668c2772759a5b4d01cbca15cc03ce36199cbed /ui/include/turns | |
| parent | 46c93e74067de844b35c1249122fcf878a0db924 (diff) | |
| download | turns-fb917713e55147c6b0de514924c4867d9e8d5894.tar.xz turns-fb917713e55147c6b0de514924c4867d9e8d5894.zip | |
ui: add participant shading color preferences
Diffstat (limited to 'ui/include/turns')
| -rw-r--r-- | ui/include/turns/ui/widgets/preferences.hpp | 42 | ||||
| -rw-r--r-- | ui/include/turns/ui/windows/tracker.hpp | 8 |
2 files changed, 48 insertions, 2 deletions
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 <glibmm/refptr.h> + +#include <giomm/settings.h> + +#include <gtkmm/colordialogbutton.h> + +#include <array> + +namespace turns::ui::widgets +{ + struct preferences : template_widget<preferences, adw::PreferencesPage> + { + + auto constexpr inline static children = std::array{ + "friendly", + "hostile", + "secret", + }; + + explicit preferences(Glib::RefPtr<Gio::Settings> settings = {}); + + private: + Glib::RefPtr<Gio::Settings> 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 <glibmm/propertyproxy.h> @@ -17,11 +18,13 @@ #include <gtkmm/applicationwindow.h> #include <gtkmm/builder.h> #include <gtkmm/button.h> +#include <gtkmm/cssprovider.h> #include <gtkmm/filedialog.h> #include <gtkmm/revealer.h> #include <gtkmm/stack.h> #include <gtkmm/widget.h> -#include <gtkmm/cssprovider.h> + +#include <adwaita.h> #include <exception> #include <string> @@ -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<core::turn_order> m_turn_order; widgets::turn_order_view * m_turn_order_view; + Glib::RefPtr<Gio::Settings> m_settings{}; Glib::PropertyProxy<Glib::ustring> m_subtitle; Glib::RefPtr<Gio::File> m_file{}; @@ -77,7 +82,6 @@ namespace turns::ui::windows std::string m_file_buffer{}; Glib::RefPtr<Gtk::CssProvider> m_css{}; - Glib::RefPtr<Gio::Settings> m_settings{}; }; } // namespace turns::ui::windows |
