diff options
Diffstat (limited to 'Source/CursesDialog/cmCursesStringWidget.cxx')
-rw-r--r-- | Source/CursesDialog/cmCursesStringWidget.cxx | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/Source/CursesDialog/cmCursesStringWidget.cxx b/Source/CursesDialog/cmCursesStringWidget.cxx index 3504b3a..2bc39d8 100644 --- a/Source/CursesDialog/cmCursesStringWidget.cxx +++ b/Source/CursesDialog/cmCursesStringWidget.cxx @@ -54,6 +54,18 @@ bool cmCursesStringWidget::HandleInput(int& key, FORM* form, WINDOW* w) strcpy(originalStr, buf); } } + else if ( key == KEY_DOWN || key == ctrl('n') || + key == KEY_UP || key == ctrl('p') || + key == KEY_NPAGE || key == ctrl('d') || + key == KEY_PPAGE || key == ctrl('u')) + { + m_InEdit = false; + delete[] originalStr; + // trick to force forms to update the field buffer + form_driver(form, REQ_NEXT_FIELD); + form_driver(form, REQ_PREV_FIELD); + return false; + } // esc else if (key == 27) { |