History

kconfig: Left aling menu items in menuconfig

Keeping menu lines on a fixed position creates less visual noise when navigating the menus.

Sam Ravnborg committed 20 years ago

Commit 0e175d01 parent fa7009d1 file · +11 −19Browse files

Showing the changes to scripts (1 of 1 file). Show all

Unified · Split

scripts/lxdialog/menubox.c+11−19
@@ -58,7 +58,8 @@ · 57 unmodified lines
58 58
59#include "dialog.h"59#include "dialog.h"
60 60
61static int menu_width, item_x;61#define ITEM_IDENT 4 /* Indent of menu entries. Fixed for all menus */
62static int menu_width;
62 63
63/*64/*
64 * Print menu item65 * Print menu item
@@ -86,13 +87,13 @@ static void print_item(WINDOW * win, const char *item, int choice, · 21 unmodified lines
86 wclrtoeol(win);87 wclrtoeol(win);
87#endif88#endif
88 wattrset(win, selected ? item_selected_attr : item_attr);89 wattrset(win, selected ? item_selected_attr : item_attr);
89 mvwaddstr(win, choice, item_x, menu_item);90 mvwaddstr(win, choice, ITEM_IDENT, menu_item);
90 if (hotkey) {91 if (hotkey) {
91 wattrset(win, selected ? tag_key_selected_attr : tag_key_attr);92 wattrset(win, selected ? tag_key_selected_attr : tag_key_attr);
92 mvwaddch(win, choice, item_x + j, menu_item[j]);93 mvwaddch(win, choice, ITEM_IDENT + j, menu_item[j]);
93 }94 }
94 if (selected) {95 if (selected) {
95 wmove(win, choice, item_x + 1);96 wmove(win, choice, ITEM_IDENT + 1);
96 wrefresh(win);97 wrefresh(win);
97 }98 }
98 free(menu_item);99 free(menu_item);
@@ -207,19 +208,10 @@ int dialog_menu(const char *title, const char *prompt, int height, int width, · 108 unmodified lines
207 draw_box(dialog, box_y, box_x, menu_height + 2, menu_width + 2,208 draw_box(dialog, box_y, box_x, menu_height + 2, menu_width + 2,
208 menubox_border_attr, menubox_attr);209 menubox_border_attr, menubox_attr);
209 210
210 /*211 /* Set choice to default item */
211 * Find length of longest item in order to center menu.212 for (i = 0; i < item_no; i++)
212 * Set 'choice' to default item.
213 */
214 item_x = 0;
215 for (i = 0; i < item_no; i++) {
216 item_x =
217 MAX(item_x, MIN(menu_width, strlen(items[i * 2 + 1]) + 2));
218 if (strcmp(current, items[i * 2]) == 0)213 if (strcmp(current, items[i * 2]) == 0)
219 choice = i;214 choice = i;
220 }
221
222 item_x = (menu_width - item_x) / 2;
223 215
224 /* get the scroll info from the temp file */216 /* get the scroll info from the temp file */
225 if ((f = fopen("lxdialog.scrltmp", "r")) != NULL) {217 if ((f = fopen("lxdialog.scrltmp", "r")) != NULL) {
@@ -254,10 +246,10 @@ int dialog_menu(const char *title, const char *prompt, int height, int width, · 28 unmodified lines
254 wnoutrefresh(menu);246 wnoutrefresh(menu);
255 247
256 print_arrows(dialog, item_no, scroll,248 print_arrows(dialog, item_no, scroll,
257 box_y, box_x + item_x + 1, menu_height);249 box_y, box_x + ITEM_IDENT + 1, menu_height);
258 250
259 print_buttons(dialog, height, width, 0);251 print_buttons(dialog, height, width, 0);
260 wmove(menu, choice, item_x + 1);252 wmove(menu, choice, ITEM_IDENT + 1);
261 wrefresh(menu);253 wrefresh(menu);
262 254
263 while (key != ESC) {255 while (key != ESC) {
@@ -286,7 +278,7 @@ int dialog_menu(const char *title, const char *prompt, int height, int width, · 22 unmodified lines
286 key == KEY_UP || key == KEY_DOWN ||278 key == KEY_UP || key == KEY_DOWN ||
287 key == '-' || key == '+' ||279 key == '-' || key == '+' ||
288 key == KEY_PPAGE || key == KEY_NPAGE) {280 key == KEY_PPAGE || key == KEY_NPAGE) {
289 281 /* Remove highligt of current item */
290 print_item(menu, items[(scroll + choice) * 2 + 1],282 print_item(menu, items[(scroll + choice) * 2 + 1],
291 choice, FALSE,283 choice, FALSE,
292 (items[(scroll + choice) * 2][0] != ':'));284 (items[(scroll + choice) * 2][0] != ':'));
@@ -364,7 +356,7 @@ int dialog_menu(const char *title, const char *prompt, int height, int width, · 71 unmodified lines
364 choice, TRUE, (items[(scroll + choice) * 2][0] != ':'));356 choice, TRUE, (items[(scroll + choice) * 2][0] != ':'));
365 357
366 print_arrows(dialog, item_no, scroll,358 print_arrows(dialog, item_no, scroll,
367 box_y, box_x + item_x + 1, menu_height);359 box_y, box_x + ITEM_IDENT + 1, menu_height);
368 360
369 wnoutrefresh(dialog);361 wnoutrefresh(dialog);
370 wrefresh(menu);362 wrefresh(menu);