summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@gmail.com>2024-07-15 00:06:06 +0200
committerFelix Morgner <felix.morgner@gmail.com>2024-07-15 00:06:06 +0200
commit081627fcfb9076ce243a9adde4743117bc48a767 (patch)
treec2a53a7215bf9c55f314c684002d2518533bc060 /app
parentea42d061b3f9ec56eb179014c9a76053f3f4c042 (diff)
downloadturns-081627fcfb9076ce243a9adde4743117bc48a767.tar.xz
turns-081627fcfb9076ce243a9adde4743117bc48a767.zip
app/ui: turn participant creation dialog into generic edit dialog
Diffstat (limited to 'app')
-rw-r--r--app/CMakeLists.txt2
-rw-r--r--app/include/turns/app/windows/participant_editor.hpp (renamed from app/include/turns/app/windows/create_participant.hpp)10
-rw-r--r--app/src/windows/main.cpp7
-rw-r--r--app/src/windows/participant_editor.cpp (renamed from app/src/windows/create_participant.cpp)17
4 files changed, 22 insertions, 14 deletions
diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt
index ac7da67..a65a489 100644
--- a/app/CMakeLists.txt
+++ b/app/CMakeLists.txt
@@ -3,8 +3,8 @@
add_library("app"
"src/application.cpp"
"src/widgets/participant_list_row.cpp"
- "src/windows/create_participant.cpp"
"src/windows/main.cpp"
+ "src/windows/participant_editor.cpp"
)
add_library("turns::app" ALIAS "app")
diff --git a/app/include/turns/app/windows/create_participant.hpp b/app/include/turns/app/windows/participant_editor.hpp
index f572bd5..e9c26a0 100644
--- a/app/include/turns/app/windows/create_participant.hpp
+++ b/app/include/turns/app/windows/participant_editor.hpp
@@ -1,5 +1,5 @@
-#ifndef TURNS_APP_WINDOWS_CREATE_PARTICIPANT_HPP
-#define TURNS_APP_WINDOWS_CREATE_PARTICIPANT_HPP
+#ifndef TURNS_APP_WINDOWS_PARTICIPANT_EDITOR_HPP
+#define TURNS_APP_WINDOWS_PARTICIPANT_EDITOR_HPP
#include <adwaita.h>
#include <glibmm/refptr.h>
@@ -12,14 +12,16 @@
namespace turns::app::windows
{
- struct create_participant : Gtk::Widget
+ struct participant_editor : Gtk::Widget
{
using signal_finished_type = sigc::signal<void (Glib::ustring, float)>;
- create_participant(BaseObjectType * base, Glib::RefPtr<Gtk::Builder> const builder);
+ participant_editor(BaseObjectType * base, Glib::RefPtr<Gtk::Builder> const builder);
auto present(Gtk::Widget * parent) -> void;
+ auto set_title(Glib::ustring const & value) -> void;
+
auto signal_finished() -> signal_finished_type;
private:
diff --git a/app/src/windows/main.cpp b/app/src/windows/main.cpp
index 0a5c18d..d217e9f 100644
--- a/app/src/windows/main.cpp
+++ b/app/src/windows/main.cpp
@@ -1,7 +1,7 @@
#include "turns/app/windows/main.hpp"
#include "turns/app/widgets/participant_list_row.hpp"
-#include "turns/app/windows/create_participant.hpp"
+#include "turns/app/windows/participant_editor.hpp"
#include "turns/lang/messages.hpp"
#include <format>
@@ -58,8 +58,9 @@ namespace turns::app::windows
auto main::handle_add_participant() -> void
{
- auto builder = Gtk::Builder::create_from_resource("/ch/arknet/Turns/windows/create_participant.ui");
- auto dialog = Gtk::Builder::get_widget_derived<windows::create_participant>(builder, "create_participant_dialog");
+ auto builder = Gtk::Builder::create_from_resource("/ch/arknet/Turns/windows/participant_editor.ui");
+ auto dialog = Gtk::Builder::get_widget_derived<windows::participant_editor>(builder, "participant_editor");
+ dialog->set_title(_("Add participant"));
dialog->present(this);
dialog->signal_finished().connect([this](auto name, auto priority) { m_participants->append(name, priority); });
}
diff --git a/app/src/windows/create_participant.cpp b/app/src/windows/participant_editor.cpp
index 86583a0..f89fc20 100644
--- a/app/src/windows/create_participant.cpp
+++ b/app/src/windows/participant_editor.cpp
@@ -1,4 +1,4 @@
-#include "turns/app/windows/create_participant.hpp"
+#include "turns/app/windows/participant_editor.hpp"
#include <print>
@@ -8,7 +8,7 @@
namespace turns::app::windows
{
- create_participant::create_participant(BaseObjectType * base, Glib::RefPtr<Gtk::Builder> const builder)
+ participant_editor::participant_editor(BaseObjectType * base, Glib::RefPtr<Gtk::Builder> const builder)
: Gtk::Widget{base}
, m_adw{ADW_DIALOG(gobj())}
, m_finish{builder->get_widget<Gtk::Button>("finish")}
@@ -17,20 +17,25 @@ namespace turns::app::windows
m_name = ADW_ENTRY_ROW(builder->get_widget<Gtk::ListBoxRow>("name")->gobj());
m_priority = ADW_SPIN_ROW(builder->get_widget<Gtk::ListBoxRow>("priority")->gobj());
- m_finish->signal_clicked().connect(sigc::mem_fun(*this, &create_participant::handle_finish_clicked));
+ m_finish->signal_clicked().connect(sigc::mem_fun(*this, &participant_editor::handle_finish_clicked));
}
- auto create_participant::present(Gtk::Widget * parent) -> void
+ auto participant_editor::present(Gtk::Widget * parent) -> void
{
adw_dialog_present(m_adw, parent->gobj());
}
- auto create_participant::signal_finished() -> signal_finished_type
+ auto participant_editor::set_title(Glib::ustring const & value) -> void
+ {
+ adw_dialog_set_title(m_adw, value.c_str());
+ }
+
+ auto participant_editor::signal_finished() -> signal_finished_type
{
return m_signal_finished;
}
- auto create_participant::handle_finish_clicked() -> void
+ auto participant_editor::handle_finish_clicked() -> void
{
auto name = gtk_editable_get_text(GTK_EDITABLE(m_name));
auto priority = adw_spin_row_get_value(m_priority);