summaryrefslogtreecommitdiff
path: root/ui/include
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@gmail.com>2024-08-17 11:41:43 +0200
committerFelix Morgner <felix.morgner@gmail.com>2024-08-17 11:41:43 +0200
commitfb917713e55147c6b0de514924c4867d9e8d5894 (patch)
tree5668c2772759a5b4d01cbca15cc03ce36199cbed /ui/include
parent46c93e74067de844b35c1249122fcf878a0db924 (diff)
downloadturns-fb917713e55147c6b0de514924c4867d9e8d5894.tar.xz
turns-fb917713e55147c6b0de514924c4867d9e8d5894.zip
ui: add participant shading color preferences
Diffstat (limited to 'ui/include')
-rw-r--r--ui/include/turns/ui/widgets/preferences.hpp42
-rw-r--r--ui/include/turns/ui/windows/tracker.hpp8
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