diff options
Diffstat (limited to 'app/src/main.cpp')
| -rw-r--r-- | app/src/main.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/app/src/main.cpp b/app/src/main.cpp index 7595dc3..8016a83 100644 --- a/app/src/main.cpp +++ b/app/src/main.cpp @@ -3,6 +3,7 @@ #include "turns/ui/init.hpp" #include "turns/ui/windows/tracker.hpp" +#include <sigc++/adaptors/bind.h> #include <sigc++/functors/mem_fun.h> #include <glibmm/refptr.h> @@ -10,8 +11,11 @@ #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> @@ -19,7 +23,6 @@ #include <libintl.h> #include <clocale> -#include <print> auto add_new_window(Glib::RefPtr<Gtk::Application> app, Glib::RefPtr<Gtk::Builder> builder, Glib::RefPtr<Gio::Settings> settings) { @@ -31,6 +34,13 @@ auto add_new_window(Glib::RefPtr<Gtk::Application> app, Glib::RefPtr<Gtk::Builde return window; } +auto show_about(Glib::RefPtr<Adwaita::Application> app) +{ + auto active_window = app->get_active_window(); + auto dialog = Gtk::make_managed<Adwaita::AboutDialog>("metainfo/ch.arknet.Turns.metainfo.xml", ""); + dialog->present(active_window); +} + auto main(int argc, char * argv[]) -> int { setlocale(LC_ALL, ""); @@ -50,6 +60,7 @@ auto main(int argc, char * argv[]) -> int 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"); |
