diff options
| -rw-r--r-- | gui/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | gui/include/preferences.hpp | 19 | ||||
| -rw-r--r-- | gui/src/init.cpp | 2 | ||||
| -rw-r--r-- | gui/src/main.cpp | 107 | ||||
| -rw-r--r-- | gui/src/preferences.cpp | 34 |
5 files changed, 69 insertions, 94 deletions
diff --git a/gui/CMakeLists.txt b/gui/CMakeLists.txt index 0581552..5623332 100644 --- a/gui/CMakeLists.txt +++ b/gui/CMakeLists.txt @@ -68,6 +68,7 @@ add_library("gui_impl" "src/init.cpp" "src/participant_editor.cpp" "src/participant_row.cpp" + "src/preferences.cpp" "src/settings.cpp" ) diff --git a/gui/include/preferences.hpp b/gui/include/preferences.hpp index c5bace3..9bd2e77 100644 --- a/gui/include/preferences.hpp +++ b/gui/include/preferences.hpp @@ -3,25 +3,22 @@ * SPDX-License-Identifier: LGPL-2.1-only */ -#ifndef TURNS_UI_PREFERENCES_HPP -#define TURNS_UI_PREFERENCES_HPP +#ifndef TURNS_GUI_PREFERENCES_HPP +#define TURNS_GUI_PREFERENCES_HPP -#include "turns/ui/template_widget.hpp" +#include "template_widget.hpp" +#include <adwaitamm/preferencespage.hpp> +#include <adwaitamm/switchrow.hpp> +#include <giomm/settings.h> #include <glibmm/refptr.h> #include <glibmm/ustring.h> - -#include <giomm/settings.h> - #include <gtkmm/button.h> #include <gtkmm/colordialogbutton.h> -#include <adwaitamm/preferencespage.hpp> -#include <adwaitamm/switchrow.hpp> - #include <array> -namespace turns::ui +namespace Turns::gui { struct Preferences : template_widget<Preferences, Adwaita::PreferencesPage> { @@ -53,6 +50,6 @@ namespace turns::ui Gtk::ColorDialogButton * m_secret_color_button{}; Adwaita::SwitchRow * m_skip_defeated{}; }; -} // namespace turns::ui::widgets +} // namespace Turns::gui #endif
\ No newline at end of file diff --git a/gui/src/init.cpp b/gui/src/init.cpp index 734f953..4d68929 100644 --- a/gui/src/init.cpp +++ b/gui/src/init.cpp @@ -2,6 +2,7 @@ #include "participant_editor.hpp" #include "participant_row.hpp" +#include "preferences.hpp" #include <glib-object.h> @@ -9,4 +10,5 @@ auto Turns::gui::init() -> void { g_type_ensure(ParticipantRow{nullptr}.get_type()); g_type_ensure(ParticipantEditor{nullptr}.get_type()); + g_type_ensure(Preferences{}.get_type()); } diff --git a/gui/src/main.cpp b/gui/src/main.cpp index d8b0bf9..61fdde3 100644 --- a/gui/src/main.cpp +++ b/gui/src/main.cpp @@ -4,17 +4,35 @@ */ #include "init.hpp" +#include "settings.hpp" #include <turnsmm.hpp> -#include <turnsmm/enum_helpers.hpp> +#include <sigc++/adaptors/bind.h> +#include <sigc++/functors/mem_fun.h> + +#include <adwaitamm/aboutdialog.hpp> #include <adwaitamm/application.hpp> +#include <adwaitamm/enums.hpp> +#include <adwaitamm/stylemanager.hpp> #include <giomm/application.h> +#include <glibmm/refptr.h> +#include <gtkmm/object.h> #include <libintl.h> #include <clocale> +namespace +{ + auto show_about(Glib::RefPtr<Adwaita::Application> app) + { + auto active_window = app->get_active_window(); + auto dialog = Gtk::make_managed<Adwaita::AboutDialog>("/ch/arknet/Turns/metainfo.xml", ""); + dialog->present(active_window); + } +} // namespace + auto main(int argc, char ** argv) -> int { setlocale(LC_ALL, ""); @@ -27,75 +45,36 @@ auto main(int argc, char ** argv) -> int Turns::init(); Turns::gui::init(); + app->signal_startup().connect([app] { + auto style_manager = Adwaita::StyleManager::get_default(); + style_manager->set_color_scheme(Adwaita::ColorScheme::PreferLight); + + app->add_action("quit", sigc::mem_fun(*app, &Adwaita::Application::quit)); + app->add_action("about", sigc::bind(&show_about, app)); + app->set_accel_for_action("app.quit", "<Primary>q"); + app->set_accel_for_action("win.clear", "<Primary>x"); + app->set_accel_for_action("win.next", "<Primary>space"); + app->set_accel_for_action("win.previous", "<Primary>BackSpace"); + app->set_accel_for_action("win.add_participant", "<Primary>a"); + app->set_accel_for_action("win.open", "<Primary>o"); + app->set_accel_for_action("win.preferences", "<Primary>comma"); + app->set_accel_for_action("win.save", "<Primary>s"); + app->set_accel_for_action("win.save-as", "<Primary><Shift>s"); + }); + + auto settings = Turns::gui::get_settings(); + + // app->signal_activate().connect([app, settings] { + // auto window = new turns::ui::Tracker{app, settings}; + // window->present(); + // }); + return app->run(argc, argv); } -// #include "turns/core/init.hpp" -// #include "turns/core/settings.hpp" -// #include "turns/ui/init.hpp" -// #include "turns/ui/tracker.hpp" - -// #include <sigc++/adaptors/bind.h> -// #include <sigc++/functors/mem_fun.h> - -// #include <glibmm/refptr.h> - -// #include <giomm/application.h> -// #include <giomm/settings.h> - -// #include <gtkmm/application.h> -// #include <gtkmm/builder.h> -// #include <gtkmm/object.h> - -// #include <adwaitamm/aboutdialog.hpp> -// #include <adwaitamm/application.hpp> -// #include <adwaitamm/enums.hpp> -// #include <adwaitamm/stylemanager.hpp> - -// #include <libintl.h> - -// #include <clocale> -// #include <print> - -// auto show_about(Glib::RefPtr<Adwaita::Application> app) -// { -// auto active_window = app->get_active_window(); -// auto dialog = Gtk::make_managed<Adwaita::AboutDialog>("/ch/arknet/Turns/metainfo.xml", ""); -// dialog->present(active_window); -// } - // auto main(int argc, char * argv[]) -> int // { -// auto app = Adwaita::Application::create("ch.arknet.Turns", Gio::Application::Flags::HANDLES_OPEN); -// auto settings = turns::core::get_settings(); - -// turns::core::register_types(); - -// app->signal_startup().connect([app] { -// turns::ui::register_types(); - -// auto style_manager = Adwaita::StyleManager::get_default(); -// style_manager->set_color_scheme(Adwaita::ColorScheme::PreferLight); - -// app->add_action("quit", sigc::mem_fun(*app, &Adwaita::Application::quit)); -// app->add_action("about", sigc::bind(&show_about, app)); -// app->set_accel_for_action("app.quit", "<Primary>q"); -// app->set_accel_for_action("win.clear", "<Primary>x"); -// app->set_accel_for_action("win.next", "<Primary>space"); -// app->set_accel_for_action("win.previous", "<Primary>BackSpace"); -// app->set_accel_for_action("win.add_participant", "<Primary>a"); -// app->set_accel_for_action("win.open", "<Primary>o"); -// app->set_accel_for_action("win.preferences", "<Primary>comma"); -// app->set_accel_for_action("win.save", "<Primary>s"); -// app->set_accel_for_action("win.save-as", "<Primary><Shift>s"); -// }); - -// app->signal_activate().connect([app, settings] { -// auto window = new turns::ui::Tracker{app, settings}; -// window->present(); -// }); - // app->signal_open().connect([app, settings](auto files, auto) { // auto windows = app->get_windows(); // auto window = static_cast<turns::ui::Tracker *>(nullptr); diff --git a/gui/src/preferences.cpp b/gui/src/preferences.cpp index cd6cdbf..24bc952 100644 --- a/gui/src/preferences.cpp +++ b/gui/src/preferences.cpp @@ -3,32 +3,28 @@ * SPDX-License-Identifier: LGPL-2.1-only */ -#include "turns/ui/preferences.hpp" +#include "preferences.hpp" -#include "turns/core/settings.hpp" -#include "turns/ui/template_widget.hpp" +#include "settings.hpp" +#include "template_widget.hpp" #include <sigc++/adaptors/bind.h> #include <sigc++/functors/mem_fun.h> +#include <adwaitamm/switchrow.hpp> +#include <gdkmm/rgba.h> +#include <giomm/settings.h> #include <glibmm/binding.h> #include <glibmm/objectbase.h> #include <glibmm/refptr.h> #include <glibmm/ustring.h> #include <glibmm/variant.h> - -#include <giomm/settings.h> - #include <gtkmm/button.h> #include <gtkmm/colordialog.h> #include <gtkmm/colordialogbutton.h> #include <gtkmm/enums.h> -#include <adwaitamm/switchrow.hpp> - -#include <gdkmm/rgba.h> - -namespace turns::ui +namespace Turns::gui { namespace { @@ -53,14 +49,14 @@ namespace turns::ui return; } - bind_reset(core::settings::key::disposition_friendly_color, m_friendly_reset_button); - bind_setting(core::settings::key::disposition_friendly_color, m_friendly_color_button); - bind_reset(core::settings::key::disposition_hostile_color, m_hostile_reset_button); - bind_setting(core::settings::key::disposition_hostile_color, m_hostile_color_button); - bind_reset(core::settings::key::disposition_secret_color, m_secret_reset_button); - bind_setting(core::settings::key::disposition_secret_color, m_secret_color_button); + bind_reset(settings::key::disposition_friendly_color, m_friendly_reset_button); + bind_setting(settings::key::disposition_friendly_color, m_friendly_color_button); + bind_reset(settings::key::disposition_hostile_color, m_hostile_reset_button); + bind_setting(settings::key::disposition_hostile_color, m_hostile_color_button); + bind_reset(settings::key::disposition_secret_color, m_secret_reset_button); + bind_setting(settings::key::disposition_secret_color, m_secret_color_button); - m_settings->bind(core::settings::key::skip_defeated, m_skip_defeated->property_active()); + m_settings->bind(settings::key::skip_defeated, m_skip_defeated->property_active()); } auto Preferences::bind_reset(Glib::ustring const & key, Gtk::Button * button) -> void @@ -83,4 +79,4 @@ namespace turns::ui button->set_sensitive(m_settings->get_user_value(key, v)); } -} // namespace turns::ui::widgets
\ No newline at end of file +} // namespace Turns::gui
\ No newline at end of file |
