1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-03-16 12:03:03 -05:00

Use GtkMessageDialog for dlg_error().

This is a much simpler way to display simple message-box type dialogs,
whose absence I've previously been working around by laboriously
constructing something in my usual style.
This commit is contained in:
Simon Tatham 2015-08-31 14:29:56 +01:00
parent ad8995b0d6
commit 55de891e54

View File

@ -1036,10 +1036,12 @@ void dlg_beep(void *dlg)
gdk_beep(); gdk_beep();
} }
#if !GTK_CHECK_VERSION(3,0,0)
static void errmsg_button_clicked(GtkButton *button, gpointer data) static void errmsg_button_clicked(GtkButton *button, gpointer data)
{ {
gtk_widget_destroy(GTK_WIDGET(data)); gtk_widget_destroy(GTK_WIDGET(data));
} }
#endif
static void set_transient_window_pos(GtkWidget *parent, GtkWidget *child) static void set_transient_window_pos(GtkWidget *parent, GtkWidget *child)
{ {
@ -1084,7 +1086,19 @@ void align_label_left(GtkLabel *label)
void dlg_error_msg(void *dlg, const char *msg) void dlg_error_msg(void *dlg, const char *msg)
{ {
struct dlgparam *dp = (struct dlgparam *)dlg; struct dlgparam *dp = (struct dlgparam *)dlg;
GtkWidget *window, *hbox, *text, *ok; GtkWidget *window;
#if GTK_CHECK_VERSION(3,0,0)
window = gtk_message_dialog_new(GTK_WINDOW(dp->window),
(GTK_DIALOG_MODAL |
GTK_DIALOG_DESTROY_WITH_PARENT),
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"%s", msg);
gtk_dialog_run(GTK_DIALOG(window));
gtk_widget_destroy(window);
#else
GtkWidget *hbox, *text, *ok;
window = gtk_dialog_new(); window = gtk_dialog_new();
text = gtk_label_new(msg); text = gtk_label_new(msg);
@ -1112,6 +1126,8 @@ void dlg_error_msg(void *dlg, const char *msg)
set_transient_window_pos(dp->window, window); set_transient_window_pos(dp->window, window);
gtk_widget_show(window); gtk_widget_show(window);
gtk_main(); gtk_main();
#endif
post_main(); post_main();
} }