diff --git a/glade/mainWindow.glade b/glade/mainWindow.glade index d5d8008..69b7256 100644 --- a/glade/mainWindow.glade +++ b/glade/mainWindow.glade @@ -78,7 +78,6 @@ 720 405 False - True diff --git a/src/main.c b/src/main.c index 1ce0d5d..a7e06cb 100644 --- a/src/main.c +++ b/src/main.c @@ -7,12 +7,15 @@ static void quit_cb(GSimpleAction *action, GVariant *parameter, gpointer user_data) { - g_print("TODO\n"); + struct mainWindow *mainWindow = *((struct mainWindow **) user_data); + gtk_window_close(GTK_WINDOW(mainWindow->mainWindow)); } static void settings_cb(GSimpleAction *action, GVariant *parameter, gpointer user_data) { + struct mainWindow *mainWindow = *((struct mainWindow **) user_data); + g_print("nTODO\n"); } @@ -23,7 +26,7 @@ const GActionEntry app_actions[] = { static void activate(GApplication *app, gpointer user_data) { - struct mainWindow *mainWindow; + struct mainWindow *mainWindow = *((struct mainWindow **) user_data); struct mdiary_settings *settings; gchar *settings_path; @@ -43,6 +46,7 @@ static void activate(GApplication *app, gpointer user_data) int main(int argc, char *argv[]) { + struct mainWindow *mainWindow; GtkApplication *app; GMenu *app_menu; GMenu *p1; @@ -50,8 +54,8 @@ int main(int argc, char *argv[]) int status; app = gtk_application_new("net.notsyncing.mdiary", G_APPLICATION_FLAGS_NONE); - g_application_register(GTK_APPLICATION(app), NULL, NULL); - g_signal_connect(app, "activate", G_CALLBACK(activate), NULL); + g_application_register(G_APPLICATION(app), NULL, NULL); + g_signal_connect(app, "activate", G_CALLBACK(activate), &mainWindow); app_menu = g_menu_new(); p1 = g_menu_new(); @@ -61,7 +65,7 @@ int main(int argc, char *argv[]) g_menu_append_section(app_menu, NULL, G_MENU_MODEL(p1)); g_menu_append_section(app_menu, NULL, G_MENU_MODEL(p2)); gtk_application_set_app_menu(app, G_MENU_MODEL(app_menu)); - g_action_map_add_action_entries(G_ACTION_MAP(app), app_actions, G_N_ELEMENTS(app_actions), app); + g_action_map_add_action_entries(G_ACTION_MAP(app), app_actions, G_N_ELEMENTS(app_actions), &mainWindow); gtk_application_set_app_menu(GTK_APPLICATION(app), G_MENU_MODEL(app_menu)); g_object_unref(p1); g_object_unref(p2);