diff options
Diffstat (limited to 'gui/src/main.cpp')
| -rw-r--r-- | gui/src/main.cpp | 107 |
1 files changed, 43 insertions, 64 deletions
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); |
