summaryrefslogtreecommitdiff
path: root/ui/src/windows
diff options
context:
space:
mode:
Diffstat (limited to 'ui/src/windows')
-rw-r--r--ui/src/windows/tracker.cpp6
-rw-r--r--ui/src/windows/tracker/actions.cpp13
2 files changed, 18 insertions, 1 deletions
diff --git a/ui/src/windows/tracker.cpp b/ui/src/windows/tracker.cpp
index c6dc731..b9a55c0 100644
--- a/ui/src/windows/tracker.cpp
+++ b/ui/src/windows/tracker.cpp
@@ -4,6 +4,7 @@
#include "turns/adw/toastoverlay.hpp"
#include "turns/core/turn_order.hpp"
#include "turns/lang/messages.hpp"
+#include "turns/ui/widgets/preferences.hpp"
#include "turns/ui/widgets/turn_order_view.hpp"
#include <sigc++/adaptors/bind.h>
@@ -15,6 +16,7 @@
#include <glibmm/refptr.h>
#include <glibmm/ustring.h>
#include <glibmm/varianttype.h>
+#include <glibmm/wrap.h>
#include <giomm/liststore.h>
#include <giomm/settings.h>
@@ -53,9 +55,9 @@ namespace turns::ui::windows
, m_title{builder->get_widget<Gtk::Widget>("title")}
, m_turn_order{core::turn_order::create()}
, m_turn_order_view{Gtk::make_managed<widgets::turn_order_view>(m_turn_order)}
+ , m_settings{Gio::Settings::create("ch.arknet.Turns")}
, m_subtitle{m_title, "subtitle"}
, m_css{Gtk::CssProvider::create()}
- , m_settings{Gio::Settings::create("ch.arknet.Turns")}
{
setup_colors();
setup_actions();
@@ -141,10 +143,12 @@ namespace turns::ui::windows
// win.delete
// win.edit
// win.open
+ // win.preferences
{
add_action_with_parameter("delete", Glib::VARIANT_TYPE_INT32, sigc::mem_fun(*this, &tracker::delete_participant));
add_action_with_parameter("edit", Glib::VARIANT_TYPE_INT32, sigc::mem_fun(*this, &tracker::edit_participant));
add_action("open", sigc::mem_fun(*this, &tracker::open));
+ add_action("preferences", sigc::mem_fun(*this, &tracker::preferences));
}
// win.save
diff --git a/ui/src/windows/tracker/actions.cpp b/ui/src/windows/tracker/actions.cpp
index 3210089..c26afbf 100644
--- a/ui/src/windows/tracker/actions.cpp
+++ b/ui/src/windows/tracker/actions.cpp
@@ -1,6 +1,8 @@
+#include "turns/adw/preferencesdialog.hpp"
#include "turns/core/participant.hpp"
#include "turns/core/turn_order.hpp"
#include "turns/lang/messages.hpp"
+#include "turns/ui/widgets/preferences.hpp"
#include "turns/ui/windows/participant_editor.hpp"
#include "turns/ui/windows/tracker.hpp"
@@ -14,10 +16,12 @@
#include <glibmm/wrap.h>
#include <giomm/liststore.h>
+#include <giomm/settings.h>
#include <gtkmm/builder.h>
#include <gtkmm/filedialog.h>
#include <gtkmm/filefilter.h>
+#include <gtkmm/object.h>
#include <adwaita.h>
#include <gio/gio.h>
@@ -89,6 +93,15 @@ namespace turns::ui::windows
dialog->open(sigc::bind(sigc::mem_fun(*this, &tracker::on_open_response), dialog));
}
+ auto tracker::preferences() -> void
+ {
+ auto preferences = Gtk::make_managed<widgets::preferences>(m_settings);
+ auto dialog = Gtk::make_managed<adw::PreferencesDialog>();
+ dialog->add(*preferences);
+ adw_preferences_dialog_set_visible_page(Glib::unwrap(dialog), Glib::unwrap(preferences));
+ dialog->present(this);
+ }
+
auto tracker::save(bool force_ask) -> void
{
if (m_file && !force_ask)