diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2024-07-15 00:06:06 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2024-07-15 00:06:06 +0200 |
| commit | 081627fcfb9076ce243a9adde4743117bc48a767 (patch) | |
| tree | c2a53a7215bf9c55f314c684002d2518533bc060 /app | |
| parent | ea42d061b3f9ec56eb179014c9a76053f3f4c042 (diff) | |
| download | turns-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.txt | 2 | ||||
| -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.cpp | 7 | ||||
| -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); |
