Started porting to GApplication
This commit is contained in:
		| @@ -1,5 +1,6 @@ | ||||
| #include <glib.h> | ||||
| #include <gtk/gtk.h> | ||||
| #include <glib/gi18n.h> | ||||
|  | ||||
| #include <swe-glib.h> | ||||
|  | ||||
| @@ -480,14 +481,12 @@ action_new_activate_cb(GtkAction *action, gpointer user_data) | ||||
|     gtk_widget_hide(GTK_WIDGET(dialog_new)); | ||||
| } | ||||
|  | ||||
| int | ||||
| main(int argc, char *argv[]) | ||||
| static void | ||||
| application_activate_cb(GtkApplication *app, gpointer user_data) | ||||
| { | ||||
|     GError *err = NULL; | ||||
|     GtkWidget *window_main; | ||||
|  | ||||
|     gswe_init(); | ||||
|     gtk_init(&argc, &argv); | ||||
|     GtkWidget *window, | ||||
|               *grid; | ||||
|  | ||||
|     builder = gtk_builder_new(); | ||||
|  | ||||
| @@ -495,6 +494,17 @@ main(int argc, char *argv[]) | ||||
|         g_error("Builder error: %s", err->message); | ||||
|     } | ||||
|  | ||||
|     window = gtk_application_window_new(app); | ||||
|     gtk_window_set_title(GTK_WINDOW(window), _("Astrognome")); | ||||
|  | ||||
|     grid = gtk_grid_new(); | ||||
|     gtk_container_add(GTK_CONTAINER(window), grid); | ||||
|  | ||||
|     gtk_widget_show_all(window); | ||||
|  | ||||
|     /* | ||||
|     gtk_init(&argc, &argv); | ||||
|  | ||||
|     window_main = GTK_WIDGET(gtk_builder_get_object(builder, "window_main")); | ||||
|     gtk_window_set_title(GTK_WINDOW(window_main), "Astrognome"); | ||||
|     gtk_builder_connect_signals(builder, NULL); | ||||
| @@ -502,8 +512,26 @@ main(int argc, char *argv[]) | ||||
|     gtk_widget_show(window_main); | ||||
|     gtk_main(); | ||||
|  | ||||
|     g_object_unref(G_OBJECT(builder)); | ||||
|  | ||||
|     return 0; | ||||
|     */ | ||||
| } | ||||
|  | ||||
| int | ||||
| main(int argc, char *argv[]) | ||||
| { | ||||
|     gint status; | ||||
|     GtkApplication *app; | ||||
|  | ||||
|     gswe_init(); | ||||
|  | ||||
|     app = gtk_application_new("eu.polonkai.gergely.astrognome", G_APPLICATION_FLAGS_NONE); | ||||
|     g_signal_connect(app, "activate", G_CALLBACK(application_activate_cb), NULL); | ||||
|  | ||||
|     status = g_application_run(G_APPLICATION(app), argc, argv); | ||||
|  | ||||
|     g_object_unref(app); | ||||
|     g_object_unref(G_OBJECT(builder)); | ||||
|  | ||||
|     return status; | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user