Browse Source

kconfig: enhancing accessibility of lxdialog

Some fix that I forgot for good accessibility of lxdialog (the cursor
should always be left at the focus location):

Have the checklist display the currently highlighted entry last, for having
the cursor left on it (rather than on the last line of the list).

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Samuel Thibault 19 years ago
parent
commit
66392c4f22
1 changed files with 5 additions and 2 deletions
  1. 5 2
      scripts/kconfig/lxdialog/checklist.c

+ 5 - 2
scripts/kconfig/lxdialog/checklist.c

@@ -187,9 +187,12 @@ int dialog_checklist(const char *title, const char *prompt, int height,
 
 	/* Print the list */
 	for (i = 0; i < max_choice; i++) {
-		print_item(list, items[(scroll + i) * 3 + 1],
-			   status[i + scroll], i, i == choice);
+		if (i != choice)
+			print_item(list, items[(scroll + i) * 3 + 1],
+				   status[i + scroll], i, 0);
 	}
+	print_item(list, items[(scroll + choice) * 3 + 1],
+		   status[choice + scroll], choice, 1);
 
 	print_arrows(dialog, choice, item_no, scroll,
 		     box_y, box_x + check_x + 5, list_height);