diff options
author | Brad King <brad.king@kitware.com> | 2016-11-16 12:47:15 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2016-11-16 12:47:15 (GMT) |
commit | 095279bc94c81c4076de20474f1d3dd186764388 (patch) | |
tree | b3f3ad613db99aa8b7bab10d14faea98674b5385 /Source | |
parent | 338e681c761a77bcaf997844607cca13f11ac0b6 (diff) | |
parent | 5ca4abb27f314ce03fc337514c489e67bfcf0ee5 (diff) | |
download | CMake-095279bc94c81c4076de20474f1d3dd186764388.zip CMake-095279bc94c81c4076de20474f1d3dd186764388.tar.gz CMake-095279bc94c81c4076de20474f1d3dd186764388.tar.bz2 |
Merge topic 'ccmake_fix_print_keys'
5ca4abb2 ccmake: Correctly display edit mode and associated keys
a9562eac ccmake: Add missing spaces to match the previous text length
Diffstat (limited to 'Source')
-rw-r--r-- | Source/CursesDialog/cmCursesMainForm.cxx | 91 | ||||
-rw-r--r-- | Source/CursesDialog/cmCursesStringWidget.cxx | 4 |
2 files changed, 46 insertions, 49 deletions
diff --git a/Source/CursesDialog/cmCursesMainForm.cxx b/Source/CursesDialog/cmCursesMainForm.cxx index ebd35f3..4b5b4b1 100644 --- a/Source/CursesDialog/cmCursesMainForm.cxx +++ b/Source/CursesDialog/cmCursesMainForm.cxx @@ -347,61 +347,56 @@ void cmCursesMainForm::PrintKeys(int process /* = 0 */) cw = reinterpret_cast<cmCursesWidget*>(field_userptr(currentField)); } - if (cw) { - cw->PrintKeys(); - } - - // { - // } - // else - // { - char firstLine[512] = ""; - char secondLine[512] = ""; - char thirdLine[512] = ""; - if (process) { - const char* clearLine = - " "; - strcpy(firstLine, clearLine); - strcpy(secondLine, clearLine); - strcpy(thirdLine, clearLine); - } else { - if (this->OkToGenerate) { - sprintf(firstLine, - "Press [c] to configure Press [g] to generate and exit"); + char fmt_s[] = "%s"; + if (cw == CM_NULLPTR || !cw->PrintKeys()) { + char firstLine[512] = ""; + char secondLine[512] = ""; + char thirdLine[512] = ""; + if (process) { + const char* clearLine = + " "; + strcpy(firstLine, clearLine); + strcpy(secondLine, clearLine); + strcpy(thirdLine, clearLine); } else { - sprintf(firstLine, - "Press [c] to configure "); - } - { - const char* toggleKeyInstruction = - "Press [t] to toggle advanced mode (Currently %s)"; - sprintf(thirdLine, toggleKeyInstruction, - this->AdvancedMode ? "On" : "Off"); + if (this->OkToGenerate) { + sprintf(firstLine, + "Press [c] to configure Press [g] to generate and exit"); + } else { + sprintf(firstLine, + "Press [c] to configure "); + } + { + const char* toggleKeyInstruction = + "Press [t] to toggle advanced mode (Currently %s)"; + sprintf(thirdLine, toggleKeyInstruction, + this->AdvancedMode ? "On" : "Off"); + } + sprintf(secondLine, "Press [h] for help " + "Press [q] to quit without generating"); } - sprintf(secondLine, "Press [h] for help " - "Press [q] to quit without generating"); - } - curses_move(y - 4, 0); - char fmt_s[] = "%s"; - char fmt[512] = "Press [enter] to edit option Press [d] to delete an entry"; - if (process) { - strcpy(fmt, " "); + curses_move(y - 4, 0); + char fmt[512] = + "Press [enter] to edit option Press [d] to delete an entry"; + if (process) { + strcpy(fmt, " "); + } + printw(fmt_s, fmt); + curses_move(y - 3, 0); + printw(fmt_s, firstLine); + curses_move(y - 2, 0); + printw(fmt_s, secondLine); + curses_move(y - 1, 0); + printw(fmt_s, thirdLine); } - printw(fmt_s, fmt); - curses_move(y - 3, 0); - printw(fmt_s, firstLine); - curses_move(y - 2, 0); - printw(fmt_s, secondLine); - curses_move(y - 1, 0); - printw(fmt_s, thirdLine); if (cw) { - sprintf(firstLine, "Page %d of %d", cw->GetPage(), this->NumberOfPages); - curses_move(0, 65 - static_cast<unsigned int>(strlen(firstLine)) - 1); - printw(fmt_s, firstLine); + char pageLine[512] = ""; + sprintf(pageLine, "Page %d of %d", cw->GetPage(), this->NumberOfPages); + curses_move(0, 65 - static_cast<unsigned int>(strlen(pageLine)) - 1); + printw(fmt_s, pageLine); } - // } pos_form_cursor(this->Form); } diff --git a/Source/CursesDialog/cmCursesStringWidget.cxx b/Source/CursesDialog/cmCursesStringWidget.cxx index eabc642..ff189f0 100644 --- a/Source/CursesDialog/cmCursesStringWidget.cxx +++ b/Source/CursesDialog/cmCursesStringWidget.cxx @@ -202,7 +202,9 @@ bool cmCursesStringWidget::PrintKeys() printw(fmt_s, firstLine); curses_move(y - 3, 0); - printw(fmt_s, "Editing option, press [enter] to leave edit."); + printw(fmt_s, "Editing option, press [enter] to confirm"); + curses_move(y - 2, 0); + printw(fmt_s, " press [esc] to cancel"); return true; } return false; |