Skip to content

Commit 7551841

Browse files
committed
properly close preferences dialog on escape key
1 parent 2a413c6 commit 7551841

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

src/gtk/preferences_dialog.c

+31
Original file line numberDiff line numberDiff line change
@@ -2024,6 +2024,35 @@ on_dialog_prefs_response(GtkDialog *dialog,
20242024
main_update_parallel_page();
20252025
}
20262026

2027+
/******************************************************************************
2028+
* Name
2029+
* on_dialog_prefs_close
2030+
*
2031+
* Synopsis
2032+
* #include "gui/.h"
2033+
* void on_dialog_prefs_close(GtkDialog * dialog, gpointer user_data)
2034+
*
2035+
* Description
2036+
*
2037+
* Return value
2038+
* void
2039+
*/
2040+
2041+
void
2042+
on_dialog_prefs_close(GtkDialog *dialog, gpointer user_data)
2043+
{
2044+
settings.display_prefs = 0;
2045+
xml_set_value("Xiphos", "layout", "prefsopen", "0");
2046+
2047+
xml_save_settings_doc(settings.fnconfigure);
2048+
gtk_widget_destroy(GTK_WIDGET(dialog));
2049+
2050+
dialog_prefs = NULL;
2051+
speaker_window = NULL;
2052+
speaker_list = NULL;
2053+
main_update_parallel_page();
2054+
}
2055+
20272056
static GtkTreeModel *create_model(void)
20282057
{
20292058
GtkTreeStore *model;
@@ -2938,6 +2967,8 @@ static void create_preferences_dialog(void)
29382967
settings.prefs_width, settings.prefs_height);
29392968
g_signal_connect(dialog_prefs, "response",
29402969
G_CALLBACK(on_dialog_prefs_response), NULL);
2970+
g_signal_connect(dialog_prefs, "close",
2971+
G_CALLBACK(on_dialog_prefs_close), NULL);
29412972

29422973
/* color pickers */
29432974
color_picker.text_background = UI_GET_ITEM(gxml, "colorbutton1");

0 commit comments

Comments
 (0)