1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-04-09 23:28:06 -05:00

Make sure Escape terminates the About box.

I think it only did so in GTK2 by virtue of the About box being a
GtkDialog. But in GTK3 I've abandoned GtkDialog for not being flexible
enough, so I have to process the Escape key myself.
This commit is contained in:
Simon Tatham 2015-09-26 14:09:27 +01:00
parent 612534a4b4
commit 10d3b73d33

View File

@ -3585,6 +3585,15 @@ static void about_close_clicked(GtkButton *button, gpointer data)
aboutbox = NULL;
}
static void about_key_press(GtkWidget *widget, GdkEventKey *event,
gpointer data)
{
if (event->keyval == GDK_KEY_Escape && aboutbox) {
gtk_widget_destroy(aboutbox);
aboutbox = NULL;
}
}
static void licence_clicked(GtkButton *button, gpointer data)
{
char *title;
@ -3673,6 +3682,9 @@ void about_box(void *window)
our_dialog_add_to_content_area(GTK_WINDOW(aboutbox), w, FALSE, FALSE, 5);
gtk_widget_show(w);
g_signal_connect(G_OBJECT(aboutbox), "key_press_event",
G_CALLBACK(about_key_press), NULL);
set_transient_window_pos(GTK_WIDGET(window), aboutbox);
gtk_window_set_transient_for(GTK_WINDOW(aboutbox),
GTK_WINDOW(window));