/* * SPDX-FileCopyrightText: 2012, 2016-2018 Bruce Cowan <bruce@bcowan.me.uk> * * SPDX-License-Identifier: LGPL-3.0-or-later */ #include <gtk/gtk.h> #include "config.h" #include "rugby-app-window.h" static void on_activate (GApplication *app, gpointer user_data) { RugbyAppWindow *win = rugby_app_window_new (GTK_APPLICATION (app)); gtk_window_present (GTK_WINDOW (win)); } static void about_activated (GSimpleAction *simple, GVariant *parameter, gpointer user_data) { GtkApplication *app = GTK_APPLICATION (user_data); GtkWindow *window = gtk_application_get_active_window (app); const char *authors[] = { "Bruce Cowan", NULL }; const char *copyright = "Copyright 2012–" COPYRIGHT_YEAR " Bruce Cowan"; gtk_show_about_dialog (window, "logo-icon-name", "face-wink", "program-name", "Rugby", "copyright", copyright, "license-type", GTK_LICENSE_LGPL_3_0, "authors", authors, "comments", "Rugby scores possiblities program", "version", PACKAGE_VERSION, NULL); } static void on_startup (GApplication *app, gpointer user_data) { const GActionEntry app_entries[] = { { .name = "about", .activate = about_activated }, }; g_action_map_add_action_entries (G_ACTION_MAP (app), app_entries, G_N_ELEMENTS (app_entries), app); // CSS styling g_autoptr (GtkCssProvider) provider = gtk_css_provider_new (); gtk_css_provider_load_from_resource (provider, "/uk/me/bcowan/rugby/rugby.css"); gtk_style_context_add_provider_for_screen (gdk_screen_get_default (), GTK_STYLE_PROVIDER (provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); } int main (int argc, char **argv) { GtkApplication *app = gtk_application_new ("uk.me.bcowan.Rugby", G_APPLICATION_FLAGS_NONE); g_signal_connect (app, "startup", G_CALLBACK (on_startup), NULL); g_signal_connect (app, "activate", G_CALLBACK (on_activate), NULL); return g_application_run (G_APPLICATION (app), argc, argv); }