diff --git a/src/text.c b/src/text.c index bed758a..9644878 100644 --- a/src/text.c +++ b/src/text.c @@ -153,8 +153,6 @@ zenity_text (ZenityData *data, ZenityTextData *text_data) { if (data->dialog_title) gtk_window_set_title (GTK_WINDOW (dialog), data->dialog_title); - gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_CLOSE); - text_buffer = gtk_text_buffer_new (NULL); text_view = gtk_builder_get_object (builder, "zenity_text_view"); gtk_text_view_set_buffer (GTK_TEXT_VIEW (text_view), text_buffer); @@ -230,8 +228,8 @@ zenity_save (GtkWidget *widget, GtkWindow *parent_window) { dialog = gtk_file_chooser_native_new ("Save File", parent_window, GTK_FILE_CHOOSER_ACTION_SAVE, - "Cancel", - "Save"); + "Save", + "Cancel"); chooser = GTK_FILE_CHOOSER (dialog); filter = gtk_file_filter_new (); @@ -272,6 +270,7 @@ zenity_save (GtkWidget *widget, GtkWindow *parent_window) { static void zenity_text_dialog_response (GtkWidget *widget, int response, gpointer data) { + gboolean should_exit = TRUE; ZenityData *zen_data = data; switch (response) { @@ -285,6 +284,7 @@ zenity_text_dialog_response (GtkWidget *widget, int response, gpointer data) { case ZENITY_SAVE_BUTTON: zenity_save (widget, GTK_WINDOW (gtk_widget_get_toplevel (widget))); + should_exit = FALSE; break; default: @@ -296,5 +296,7 @@ zenity_text_dialog_response (GtkWidget *widget, int response, gpointer data) { zenity_util_exit_code_with_data (ZENITY_ESC, zen_data); break; } - gtk_main_quit (); + if (should_exit) { + gtk_main_quit (); + } } diff --git a/src/zenity.ui b/src/zenity.ui index 1e1f599..ef74b4c 100644 --- a/src/zenity.ui +++ b/src/zenity.ui @@ -243,7 +243,7 @@ True True True - True + False right @@ -257,11 +257,9 @@ OK True True - True True - True + False right - False