aboutsummaryrefslogtreecommitdiff
path: root/gnu/lib/libdialog
diff options
context:
space:
mode:
authorJordan K. Hubbard <jkh@FreeBSD.org>1996-04-23 01:25:04 +0000
committerJordan K. Hubbard <jkh@FreeBSD.org>1996-04-23 01:25:04 +0000
commit5553e30b4807af6bb735f8dc0ffd12b2766dd9f7 (patch)
treebb4367d830c851dc35e3ced73a9da4baea2de3a7 /gnu/lib/libdialog
parent44d97e5b4227dd28aaf383376863fca0d3137a76 (diff)
downloadsrc-5553e30b4807af6bb735f8dc0ffd12b2766dd9f7.tar.gz
src-5553e30b4807af6bb735f8dc0ffd12b2766dd9f7.zip
Cosmetic tweaks.
Notes
Notes: svn path=/head/; revision=15354
Diffstat (limited to 'gnu/lib/libdialog')
-rw-r--r--gnu/lib/libdialog/checklist.c16
-rw-r--r--gnu/lib/libdialog/radiolist.c1
2 files changed, 13 insertions, 4 deletions
diff --git a/gnu/lib/libdialog/checklist.c b/gnu/lib/libdialog/checklist.c
index 1090293792c3..5d7c03b052b3 100644
--- a/gnu/lib/libdialog/checklist.c
+++ b/gnu/lib/libdialog/checklist.c
@@ -238,6 +238,7 @@ draw:
if (st & DITEM_RESTORE) {
touchwin(save);
wrefresh(save);
+ wmove(dialog, cur_y, cur_x);
}
delwin(save);
}
@@ -316,6 +317,7 @@ draw:
save = dupwin(newscr);
st = ditems[scroll + choice].fire(&ditems[scroll + choice]);
if (st & DITEM_REDRAW) {
+ wmove(dialog, cur_y, cur_x); /* Restore cursor to previous position */
for (i = 0; i < item_no; i++)
status[i] = ditems[i].checked ? ditems[i].checked(&ditems[i]) : FALSE;
for (i = 0; i < max_choice; i++) {
@@ -457,11 +459,17 @@ draw:
case '\r':
if (!button && result) {
if (ditems && ditems[button ? CANCEL_BUTTON : OK_BUTTON].fire) {
- if (ditems[button ? CANCEL_BUTTON : OK_BUTTON].fire(&ditems[button ? CANCEL_BUTTON : OK_BUTTON]) ==
- DITEM_FAILURE) {
- wrefresh(dialog);
- continue;
+ int st;
+ WINDOW *save = dupwin(newscr);
+
+ st = ditems[button ? CANCEL_BUTTON : OK_BUTTON].fire(&ditems[button ? CANCEL_BUTTON : OK_BUTTON]);
+ if (st & DITEM_RESTORE) {
+ touchwin(save);
+ wrefresh(save);
}
+ delwin(save);
+ if (st == DITEM_FAILURE)
+ continue;
}
else {
*result = '\0';
diff --git a/gnu/lib/libdialog/radiolist.c b/gnu/lib/libdialog/radiolist.c
index 970953bb3aed..cb1d1a703afc 100644
--- a/gnu/lib/libdialog/radiolist.c
+++ b/gnu/lib/libdialog/radiolist.c
@@ -337,6 +337,7 @@ draw:
else if (st & DITEM_RESTORE) {
touchwin(save);
wrefresh(save);
+ wmove(dialog, cur_y, cur_x);
}
else if (st & DITEM_RECREATE) {
delwin(save);