summaryrefslogtreecommitdiff
path: root/ui
diff options
context:
space:
mode:
Diffstat (limited to 'ui')
-rw-r--r--ui/include/turns/ui/widgets/preferences.hpp3
-rw-r--r--ui/res/ui.cmb12
-rw-r--r--ui/src/init.cpp2
-rw-r--r--ui/src/widgets/preferences.cpp4
4 files changed, 17 insertions, 4 deletions
diff --git a/ui/include/turns/ui/widgets/preferences.hpp b/ui/include/turns/ui/widgets/preferences.hpp
index 749d4fd..449957d 100644
--- a/ui/include/turns/ui/widgets/preferences.hpp
+++ b/ui/include/turns/ui/widgets/preferences.hpp
@@ -2,6 +2,7 @@
#define TURNS_UI_WIDGETS_PREFERENCES_HPP
#include "turns/adw/preferencespage.hpp"
+#include "turns/adw/switchrow.hpp"
#include "turns/ui/widgets/template_widget.hpp"
#include <glibmm/refptr.h>
@@ -26,6 +27,7 @@ namespace turns::ui::widgets
"friendly_color_button",
"hostile_color_button",
"secret_color_button",
+ "skip_defeated",
};
explicit preferences(Glib::RefPtr<Gio::Settings> settings = {});
@@ -43,6 +45,7 @@ namespace turns::ui::widgets
Gtk::ColorDialogButton * m_friendly_color_button{};
Gtk::ColorDialogButton * m_hostile_color_button{};
Gtk::ColorDialogButton * m_secret_color_button{};
+ adw::SwitchRow * m_skip_defeated{};
};
} // namespace turns::ui::widgets
diff --git a/ui/res/ui.cmb b/ui/res/ui.cmb
index 2538784..a3f5dd8 100644
--- a/ui/res/ui.cmb
+++ b/ui/res/ui.cmb
@@ -70,8 +70,8 @@
(6,1,"AdwPreferencesPage","gtkmm__CustomObject_preferences",None,None,None,None,None,None,None),
(6,2,"AdwPreferencesGroup","colors",1,None,None,None,None,None,None),
(6,3,"AdwActionRow",None,2,None,None,None,None,None,None),
- (6,4,"AdwActionRow","hostile",2,None,None,None,1,None,None),
- (6,5,"AdwActionRow","secret",2,None,None,None,2,None,None),
+ (6,4,"AdwActionRow",None,2,None,None,None,1,None,None),
+ (6,5,"AdwActionRow",None,2,None,None,None,2,None,None),
(6,7,"GtkColorDialogButton","friendly_color_button",3,None,None,None,-1,None,None),
(6,10,"GtkColorDialogButton","hostile_color_button",4,None,None,None,1,None,None),
(6,11,"GtkColorDialogButton","secret_color_button",5,None,None,None,1,None,None),
@@ -80,7 +80,9 @@
(6,14,"GtkColorDialog",None,11,None,None,None,-1,None,None),
(6,15,"GtkButton","hostile_reset_button",4,None,None,None,1,None,None),
(6,16,"GtkButton","friendly_reset_button",3,None,None,None,1,None,None),
- (6,17,"GtkButton","secret_reset_button",5,None,None,None,1,None,None)
+ (6,17,"GtkButton","secret_reset_button",5,None,None,None,1,None,None),
+ (6,18,"AdwPreferencesGroup","control",1,None,None,None,1,None,None),
+ (6,19,"AdwSwitchRow","skip_defeated",18,None,None,None,-1,None,None)
</object>
<object_property>
(1,1,"AdwApplicationWindow","content",None,None,None,None,None,2,None,None,None,None),
@@ -207,7 +209,9 @@
(6,16,"GtkButton","icon-name","process-stop-symbolic",None,None,None,None,None,None,None,None,None),
(6,16,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
(6,17,"GtkButton","icon-name","process-stop-symbolic",None,None,None,None,None,None,None,None,None),
- (6,17,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None)
+ (6,17,"GtkWidget","valign","center",None,None,None,None,None,None,None,None,None),
+ (6,18,"AdwPreferencesGroup","title","Control",None,None,None,None,None,None,None,None,None),
+ (6,19,"AdwPreferencesRow","title","Skip defeated",None,None,None,None,None,None,None,None,None)
</object_property>
<object_data>
(1,1,"GtkWidget",2,2,None,1,None,None,None,None),
diff --git a/ui/src/init.cpp b/ui/src/init.cpp
index 8d48ced..f8c9e35 100644
--- a/ui/src/init.cpp
+++ b/ui/src/init.cpp
@@ -1,6 +1,7 @@
#include "turns/ui/init.hpp"
#include "turns/ui/widgets/participant_row.hpp"
+#include "turns/ui/widgets/preferences.hpp"
#include "turns/ui/widgets/turn_order_view.hpp"
namespace turns::ui
@@ -9,6 +10,7 @@ namespace turns::ui
auto register_types() -> void
{
static_cast<void>(widgets::participant_row{{}});
+ static_cast<void>(widgets::preferences{{}});
static_cast<void>(widgets::turn_order_view{{}});
}
diff --git a/ui/src/widgets/preferences.cpp b/ui/src/widgets/preferences.cpp
index 187da2e..3af7d15 100644
--- a/ui/src/widgets/preferences.cpp
+++ b/ui/src/widgets/preferences.cpp
@@ -1,5 +1,6 @@
#include "turns/ui/widgets/preferences.hpp"
+#include "turns/adw/switchrow.hpp"
#include "turns/ui/widgets/template_widget.hpp"
#include <sigc++/functors/mem_fun.h>
@@ -36,6 +37,7 @@ namespace turns::ui::widgets
, m_friendly_color_button{get_widget<Gtk::ColorDialogButton>("friendly_color_button")}
, m_hostile_color_button{get_widget<Gtk::ColorDialogButton>("hostile_color_button")}
, m_secret_color_button{get_widget<Gtk::ColorDialogButton>("secret_color_button")}
+ , m_skip_defeated{get_widget<adw::SwitchRow>("skip_defeated")}
{
if (!m_settings)
{
@@ -59,6 +61,8 @@ namespace turns::ui::widgets
bind_reset(key, m_secret_reset_button);
bind_setting(key, m_secret_color_button);
}
+
+ m_settings->bind("skip-defeated", m_skip_defeated->property_active());
}
auto preferences::bind_reset(Glib::ustring const & key, Gtk::Button * button) -> void