From 3ff5bd46952144926d9bd9beedf50023a51913ee Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Tue, 29 Apr 2025 16:33:32 +0200 Subject: ui: flatten namespace hierarchy --- ui/src/windows/tracker/actions.cpp | 125 ------------------------------ ui/src/windows/tracker/event_handlers.cpp | 105 ------------------------- 2 files changed, 230 deletions(-) delete mode 100644 ui/src/windows/tracker/actions.cpp delete mode 100644 ui/src/windows/tracker/event_handlers.cpp (limited to 'ui/src/windows/tracker') diff --git a/ui/src/windows/tracker/actions.cpp b/ui/src/windows/tracker/actions.cpp deleted file mode 100644 index 54580ca..0000000 --- a/ui/src/windows/tracker/actions.cpp +++ /dev/null @@ -1,125 +0,0 @@ -#include "turns/core/participant.hpp" -#include "turns/lang/messages.hpp" -#include "turns/ui/widgets/participant_editor.hpp" -#include "turns/ui/widgets/preferences.hpp" -#include "turns/ui/windows/tracker.hpp" - -#include -#include - -#include -#include -#include -#include -#include - -#include -#include - -#include -#include -#include -#include - -#include -#include -#include -#include - -#include -#include - -#include - -namespace turns::ui::windows -{ - namespace - { - auto file_filters() - { - auto filters = Gio::ListStore::create(); - auto filter = Gtk::FileFilter::create(); - filter->set_name(_("Turns Files")); - filter->add_pattern("*.trns"); - filters->append(filter); - return filters; - } - } // namespace - - auto tracker::add_participant() -> void - { - auto dialog = Gtk::make_managed(nullptr); - dialog->present(this); - dialog->signal_finished().connect([this](auto n, auto p, auto d) { m_turn_order->add(n, p, d); }); - } - - auto tracker::delete_participant(Glib::VariantBase param) -> void - { - auto index = Glib::VariantBase::cast_dynamic>(param); - m_turn_order->remove(index.get()); - } - - auto tracker::edit_participant(Glib::VariantBase param) -> void - { - auto index = Glib::VariantBase::cast_dynamic>(param); - auto participant = m_turn_order->get_typed_object(index.get()); - auto dialog = Gtk::make_managed(participant); - dialog->present(this); - } - - auto tracker::open() -> void - { - auto dialog = Gtk::FileDialog::create(); - dialog->set_filters(file_filters()); - dialog->open(sigc::bind(sigc::mem_fun(*this, &tracker::on_open_response), dialog)); - } - - auto tracker::preferences() -> void - { - auto preferences = Gtk::make_managed(m_settings); - auto dialog = Gtk::make_managed(); - dialog->add(*preferences); - dialog->set_visible_page(*preferences); - dialog->present(this); - } - - auto tracker::save(bool force_ask) -> void - { - if (m_file && !force_ask) - { - start_replace_content(); - } - else - { - auto dialog = Gtk::FileDialog::create(); - m_file ? dialog->set_initial_file(m_file) : dialog->set_initial_name(_(lang::new_turn_order_file_name)); - dialog->set_filters(file_filters()); - dialog->save(*this, sigc::bind(sigc::mem_fun(*this, &tracker::on_save_response), dialog)); - } - } - - auto tracker::stop() -> void - { - auto dialog = Adwaita::AlertDialog::create(_(lang::stop_turn_order), _(lang::question_clear_turn_order)); - dialog->add_response("stop", _(lang::stop)); - dialog->set_response_appearance("stop", Adwaita::ResponseAppearance::Suggested); - dialog->add_response("clear", _(lang::stop_and_clear)); - dialog->set_response_appearance("clear", Adwaita::ResponseAppearance::Destructive); - dialog->add_response("cancel", _(lang::cancel)); - dialog->set_response_appearance("cancel", Adwaita::ResponseAppearance::Default); - dialog->set_close_response("cancel"); - dialog->set_default_response("cancel"); - dialog->choose(*this, nullptr, [dialog = std::move(dialog), this](auto const & result) { - auto response = dialog->choose_finish(result); - if (response == "cancel") - { - return; - } - if (response == "clear") - { - m_turn_order->clear(); - } - m_turn_order->stop(); - }); - } -} // namespace turns::ui::windows \ No newline at end of file diff --git a/ui/src/windows/tracker/event_handlers.cpp b/ui/src/windows/tracker/event_handlers.cpp deleted file mode 100644 index a3cf788..0000000 --- a/ui/src/windows/tracker/event_handlers.cpp +++ /dev/null @@ -1,105 +0,0 @@ -#include "turns/lang/messages.hpp" -#include "turns/ui/windows/tracker.hpp" - -#include - -#include -#include -#include - -#include -#include - -#include - -#include - -#include -#include -#include -#include - -namespace turns::ui::windows -{ - - auto tracker::on_load_content_done(Glib::RefPtr result) -> void - { - set_sensitive(); - char * data{}; - auto size = std::size_t{}; - - try - { - if (!m_file->load_contents_finish(result, data, size, m_file_etag)) - { - m_file.reset(); - m_file_etag.clear(); - return; - } - - m_turn_order->load(nlohmann::json::parse(std::string_view{data, size})); - } - catch (std::exception const & e) - { - return show_error(e); - } - - auto name = m_file->get_basename(); - show_toast(std::vformat(_(lang::successfully_opened_format), std::make_format_args(name))); - set_title(std::format("{} - {}", _(lang::turns), name)); - } - - auto tracker::on_replace_content_done(Glib::RefPtr result) -> void - { - set_sensitive(); - - try - { - m_file->replace_contents_finish(result, m_file_etag); - } - catch (Gio::Error const & e) - { - return show_error(e); - } - - auto name = m_file->get_basename(); - show_toast(std::vformat(_(lang::successfully_saved_format), std::make_format_args(name))); - set_title(std::format("{} - {}", _(lang::turns), name)); - } - - auto tracker::on_open_response(Glib::RefPtr result, Glib::RefPtr dialog) -> void - { - try - { - m_file = dialog->open_finish(result); - } - catch (std::exception const & e) - { - return show_error(e); - } - - m_file->load_contents_async(sigc::mem_fun(*this, &tracker::on_load_content_done)); - set_sensitive(false); - } - - auto tracker::on_save_response(Glib::RefPtr result, Glib::RefPtr dialog) -> void - { - try - { - m_file = dialog->save_finish(result); - } - catch (std::exception const & e) - { - show_error(e); - } - - start_replace_content(); - set_sensitive(false); - } - - auto tracker::on_settings_changed(Glib::ustring) -> void - { - update_colors(); - } - -} // namespace turns::ui::windows \ No newline at end of file -- cgit v1.2.3