summaryrefslogtreecommitdiffstats
path: root/scripts/kconfig/lxdialog
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2006-04-12 02:21:25 +0200
committerLinus Torvalds <torvalds@g5.osdl.org>2006-04-14 18:15:09 +0200
commitf043ca43c1ae354346f72dc5826d820d5619f0b2 (patch)
tree8fdd7acccb5c5176543d1e0f83c24aff59b4a75f /scripts/kconfig/lxdialog
parentMerge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/mszer... (diff)
downloadlinux-f043ca43c1ae354346f72dc5826d820d5619f0b2.tar.xz
linux-f043ca43c1ae354346f72dc5826d820d5619f0b2.zip
[PATCH] Enhancing accessibility of lxdialog
For easily getting fairly good accessibility, the TTY cursor should always be left at the focus location. This patch fixes the checklist by just having the list refreshed after the dialog box (hence the cursor position remains in the list). Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'scripts/kconfig/lxdialog')
-rw-r--r--scripts/kconfig/lxdialog/checklist.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/scripts/kconfig/lxdialog/checklist.c b/scripts/kconfig/lxdialog/checklist.c
index db07ae73e051..be0200e9cdaf 100644
--- a/scripts/kconfig/lxdialog/checklist.c
+++ b/scripts/kconfig/lxdialog/checklist.c
@@ -196,8 +196,8 @@ int dialog_checklist(const char *title, const char *prompt, int height,
print_buttons(dialog, height, width, 0);
- wnoutrefresh(list);
wnoutrefresh(dialog);
+ wnoutrefresh(list);
doupdate();
while (key != ESC) {
@@ -225,12 +225,11 @@ int dialog_checklist(const char *title, const char *prompt, int height,
}
scroll--;
print_item(list, items[scroll * 3 + 1], status[scroll], 0, TRUE);
- wnoutrefresh(list);
-
print_arrows(dialog, choice, item_no,
scroll, box_y, box_x + check_x + 5, list_height);
- wrefresh(dialog);
+ wnoutrefresh(dialog);
+ wrefresh(list);
continue; /* wait for another key press */
} else
@@ -252,12 +251,12 @@ int dialog_checklist(const char *title, const char *prompt, int height,
scroll++;
print_item(list, items[(scroll + max_choice - 1) * 3 + 1],
status[scroll + max_choice - 1], max_choice - 1, TRUE);
- wnoutrefresh(list);
print_arrows(dialog, choice, item_no,
scroll, box_y, box_x + check_x + 5, list_height);
- wrefresh(dialog);
+ wnoutrefresh(dialog);
+ wrefresh(list);
continue; /* wait for another key press */
} else
@@ -271,8 +270,8 @@ int dialog_checklist(const char *title, const char *prompt, int height,
choice = i;
print_item(list, items[(scroll + choice) * 3 + 1],
status[scroll + choice], choice, TRUE);
- wnoutrefresh(list);
- wrefresh(dialog);
+ wnoutrefresh(dialog);
+ wrefresh(list);
}
continue; /* wait for another key press */
}
@@ -306,8 +305,8 @@ int dialog_checklist(const char *title, const char *prompt, int height,
print_item(list, items[(scroll + i) * 3 + 1],
status[scroll + i], i, i == choice);
}
- wnoutrefresh(list);
- wrefresh(dialog);
+ wnoutrefresh(dialog);
+ wrefresh(list);
for (i = 0; i < item_no; i++)
if (status[i])