summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@gmail.com>2024-07-16 15:59:45 +0200
committerFelix Morgner <felix.morgner@gmail.com>2024-07-16 16:00:32 +0200
commit92fc3900c9d3084dd4d0d2386ab4d823e356da20 (patch)
tree9240907e95bb58cc5acccbf4885640f3c2909919 /app
parent1e90e6ff6ca16b39c813b73562e1ce37bc8f01a2 (diff)
downloadturns-92fc3900c9d3084dd4d0d2386ab4d823e356da20.tar.xz
turns-92fc3900c9d3084dd4d0d2386ab4d823e356da20.zip
app/ui: add basic tracking UI definition
As part of #5, this change adds the basic definition of the turn tracking UI. As of now, the UI is not functional due to several missing window actions. Additionally, the UI is not only revealed when a turn order is started (as there is no infrastructure in place to manage the lifecycle of a turn order yet), but when the turn order is not empty.
Diffstat (limited to 'app')
-rw-r--r--app/include/turns/app/windows/main.hpp3
-rw-r--r--app/src/windows/main.cpp5
2 files changed, 8 insertions, 0 deletions
diff --git a/app/include/turns/app/windows/main.hpp b/app/include/turns/app/windows/main.hpp
index 5e13cf0..29bad85 100644
--- a/app/include/turns/app/windows/main.hpp
+++ b/app/include/turns/app/windows/main.hpp
@@ -17,6 +17,7 @@
#include <gtkmm/scrolledwindow.h>
#include <gtkmm/stack.h>
#include <gtkmm/widget.h>
+#include <gtkmm/revealer.h>
namespace turns::app::windows
{
@@ -31,6 +32,7 @@ namespace turns::app::windows
auto handle_edit_participant(Glib::VariantBase param) -> void;
AdwApplicationWindow * m_adw;
+ Gtk::Revealer * m_controls;
Gtk::Widget * m_empty;
Gtk::Stack * m_stack;
AdwWindowTitle * m_title;
@@ -39,6 +41,7 @@ namespace turns::app::windows
Glib::PropertyProxy<Glib::ustring> m_subtitle;
Glib::RefPtr<Glib::Binding> m_clear_action_enabled{};
+ Glib::RefPtr<Glib::Binding> m_controls_revealed{};
Glib::RefPtr<Glib::Binding> m_visible_child_widget{};
Glib::RefPtr<Glib::Binding> m_subtitle_text{};
diff --git a/app/src/windows/main.cpp b/app/src/windows/main.cpp
index 04d7329..a532dc0 100644
--- a/app/src/windows/main.cpp
+++ b/app/src/windows/main.cpp
@@ -26,6 +26,7 @@ namespace turns::app::windows
main::main(BaseObjectType * base, Glib::RefPtr<Gtk::Builder> const builder)
: Gtk::ApplicationWindow{base}
, m_adw{ADW_APPLICATION_WINDOW(gobj())}
+ , m_controls{builder->get_widget<Gtk::Revealer>("controls")}
, m_empty(builder->get_widget<Gtk::Widget>("empty"))
, m_stack{builder->get_widget<Gtk::Stack>("stack")}
, m_title(ADW_WINDOW_TITLE(builder->get_widget<Gtk::Widget>("title")->gobj()))
@@ -40,6 +41,10 @@ namespace turns::app::windows
m_clear_action->property_enabled(),
Glib::Binding::Flags::SYNC_CREATE);
+ m_controls_revealed = Glib::Binding::bind_property(m_turn_order->property_n_items(),
+ m_controls->property_reveal_child(),
+ Glib::Binding::Flags::SYNC_CREATE);
+
m_visible_child_widget = Glib::Binding::bind_property(m_turn_order->property_n_items(),
m_stack->property_visible_child(),
Glib::Binding::Flags::SYNC_CREATE,