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