diff options
Diffstat (limited to 'app/src/main.cpp')
| -rw-r--r-- | app/src/main.cpp | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/app/src/main.cpp b/app/src/main.cpp deleted file mode 100644 index f179cf8..0000000 --- a/app/src/main.cpp +++ /dev/null @@ -1,97 +0,0 @@ -#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 -{ - setlocale(LC_ALL, ""); - bindtextdomain("turns", LOCALEDIR); - bind_textdomain_codeset("turns", "UTF-8"); - textdomain("turns"); - - 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); - - if (windows.empty()) - { - window = new turns::ui::Tracker{app, settings}; - } - else - { - window = dynamic_cast<turns::ui::Tracker *>(windows[0]); - } - - window->present(); - window->load(files[0]); - }); - - app->signal_window_removed().connect([](auto window) { - auto tracker = dynamic_cast<turns::ui::Tracker *>(window); - if (tracker) - { - delete tracker; - } - }); - - return app->run(argc, argv); -}
\ No newline at end of file |
