summaryrefslogtreecommitdiff
path: root/gui/src/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gui/src/main.cpp')
-rw-r--r--gui/src/main.cpp107
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);