From: Paul Hänsch Date: Wed, 15 Jul 2026 14:23:28 +0000 (+0200) Subject: throw event, when window close button is pressed X-Git-Url: https://git.plutz.net/?a=commitdiff_plain;h=a69758bc1ffe36f22c84f0e555013ac5e6556593;p=gladerunner throw event, when window close button is pressed --- diff --git a/gladerunner.c b/gladerunner.c index 5abc768..ac12914 100644 --- a/gladerunner.c +++ b/gladerunner.c @@ -25,6 +25,13 @@ void e_si_activate(GtkWidget *wdg, gpointer d) { printf("%s ACTIVATE\n", (char*) d); } +void e_window_close(GtkWidget *wdg, gpointer d) { + printf( + "%s CLOSE\n", + gtk_buildable_get_name(GTK_BUILDABLE(wdg)) + ); +} + void e_widget_clicked(GtkWidget *wdg, gpointer d) { printf( "%s CLICKED\n", @@ -90,10 +97,6 @@ void e_entry_changed(GtkWidget *wdg, gpointer user_data) { ); } -void app_quit(GtkWidget *wdg, gpointer user_data) { - exit(0); -} - // ====== CLI ACTIONS ====== void a_text_view_set(GtkTextView *v, char *c) { @@ -150,11 +153,6 @@ int a_entry(GtkEntry *w, char *cmd, char *args) { else return 0; return 1; } -int a_window(GtkWindow *w, char *cmd, char *args) { - if (!w || !cmd || !cmd[0]) return 0; - else return 0; - return 1; -} int a_text_view(GtkTextView *w, char *cmd, char *args) { if (!w || !cmd || !cmd[0]) return 0; else if (!strcmp(cmd, "set")) a_text_view_set(w, args); @@ -176,7 +174,6 @@ int action(char *cli) { || (GTK_IS_CHECK_MENU_ITEM(wdg) && a_cmi(GTK_CHECK_MENU_ITEM(wdg), cmd, args)) || (GTK_IS_TOGGLE_TOOL_BUTTON(wdg) && a_ttb(GTK_TOGGLE_TOOL_BUTTON(wdg), cmd, args)) || (GTK_IS_ENTRY(wdg) && a_entry(GTK_ENTRY(wdg), cmd, args)) - || (GTK_IS_WINDOW(wdg) && a_window(GTK_WINDOW(wdg), cmd, args)) || (GTK_IS_TEXT_VIEW(wdg) && a_text_view(GTK_TEXT_VIEW(wdg), cmd, args)) || (GTK_IS_EDITABLE(wdg) && a_editable(GTK_EDITABLE(wdg), cmd, args)) || (GTK_IS_BUTTON(wdg) && a_button(GTK_BUTTON(wdg), cmd, args)) @@ -244,11 +241,11 @@ void init_widgets(gpointer wp, gpointer data) { else if (GTK_IS_TOGGLE_BUTTON(wdg)) g_signal_connect(wdg, "toggled", G_CALLBACK(e_tb_toggled), NULL); else if (GTK_IS_CHECK_MENU_ITEM(wdg)) g_signal_connect(wdg, "toggled", G_CALLBACK(e_cmi_toggled), NULL); else if (GTK_IS_TOGGLE_TOOL_BUTTON(wdg)) g_signal_connect(wdg, "toggled", G_CALLBACK(e_ttb_toggled), NULL); + else if (GTK_IS_MENU_ITEM(wdg)) g_signal_connect(wdg, "activate",G_CALLBACK(e_mi_activate), NULL); else if (GTK_IS_ENTRY(wdg) ) g_signal_connect(wdg, "changed", G_CALLBACK(e_entry_changed), NULL); - else if (GTK_IS_WINDOW(wdg)) g_signal_connect(wdg, "destroy", G_CALLBACK(app_quit), NULL); else if (GTK_IS_TOOL_BUTTON(wdg)) g_signal_connect(wdg, "clicked", G_CALLBACK(e_widget_clicked), NULL); - else if (GTK_IS_MENU_ITEM(wdg)) g_signal_connect(wdg, "activate",G_CALLBACK(e_mi_activate), NULL); else if (GTK_IS_BUTTON(wdg)) g_signal_connect(wdg, "clicked", G_CALLBACK(e_widget_clicked), NULL); + else if (GTK_IS_WINDOW(wdg)) g_signal_connect(wdg, "delete-event", G_CALLBACK(e_window_close), NULL); else { printf("%s unknown\n", name); return; } printf("%s loaded\n", name);