summaryrefslogtreecommitdiff
path: root/textscreen/txt_window.c
diff options
context:
space:
mode:
Diffstat (limited to 'textscreen/txt_window.c')
-rw-r--r--textscreen/txt_window.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/textscreen/txt_window.c b/textscreen/txt_window.c
index b66995d7..9c1f0257 100644
--- a/textscreen/txt_window.c
+++ b/textscreen/txt_window.c
@@ -45,6 +45,13 @@ void TXT_SetWindowAction(txt_window_t *window,
window->actions[position] = action;
}
+static void DefaultCancelAction(TXT_UNCAST_ARG(widget), TXT_UNCAST_ARG(window))
+{
+ TXT_CAST_ARG(txt_window_t, window);
+
+ TXT_CloseWindow(window);
+}
+
txt_window_t *TXT_NewWindow(char *title)
{
int i;
@@ -74,6 +81,7 @@ txt_window_t *TXT_NewWindow(char *title)
cancel_action = TXT_NewWindowAction(KEY_ESCAPE, "Abort");
TXT_SetWindowAction(win, TXT_HORIZ_LEFT, cancel_action);
+ TXT_SignalConnect(cancel_action, "pressed", DefaultCancelAction, win);
accept_action = TXT_NewWindowAction(KEY_ENTER, "Accept");
TXT_SetWindowAction(win, TXT_HORIZ_RIGHT, accept_action);