Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 15887
b: refs/heads/master
c: 0e175d0
h: refs/heads/master
i:
  15885: 4525d1f
  15883: ae25037
  15879: aa7c731
  15871: 96b0974
v: v3
  • Loading branch information
Sam Ravnborg committed Nov 20, 2005
1 parent 4b01d7d commit 5fec7bd
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 20 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: fa7009d5b59b8acd8071f7b3057d36eeeaf08146
refs/heads/master: 0e175d05a4e72f85918da3ea4bd9f5d3d78face4
30 changes: 11 additions & 19 deletions trunk/scripts/lxdialog/menubox.c
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,8 @@

#include "dialog.h"

static int menu_width, item_x;
#define ITEM_IDENT 4 /* Indent of menu entries. Fixed for all menus */
static int menu_width;

/*
* Print menu item
Expand Down Expand Up @@ -86,13 +87,13 @@ static void print_item(WINDOW * win, const char *item, int choice,
wclrtoeol(win);
#endif
wattrset(win, selected ? item_selected_attr : item_attr);
mvwaddstr(win, choice, item_x, menu_item);
mvwaddstr(win, choice, ITEM_IDENT, menu_item);
if (hotkey) {
wattrset(win, selected ? tag_key_selected_attr : tag_key_attr);
mvwaddch(win, choice, item_x + j, menu_item[j]);
mvwaddch(win, choice, ITEM_IDENT + j, menu_item[j]);
}
if (selected) {
wmove(win, choice, item_x + 1);
wmove(win, choice, ITEM_IDENT + 1);
wrefresh(win);
}
free(menu_item);
Expand Down Expand Up @@ -207,19 +208,10 @@ int dialog_menu(const char *title, const char *prompt, int height, int width,
draw_box(dialog, box_y, box_x, menu_height + 2, menu_width + 2,
menubox_border_attr, menubox_attr);

/*
* Find length of longest item in order to center menu.
* Set 'choice' to default item.
*/
item_x = 0;
for (i = 0; i < item_no; i++) {
item_x =
MAX(item_x, MIN(menu_width, strlen(items[i * 2 + 1]) + 2));
/* Set choice to default item */
for (i = 0; i < item_no; i++)
if (strcmp(current, items[i * 2]) == 0)
choice = i;
}

item_x = (menu_width - item_x) / 2;

/* get the scroll info from the temp file */
if ((f = fopen("lxdialog.scrltmp", "r")) != NULL) {
Expand Down Expand Up @@ -254,10 +246,10 @@ int dialog_menu(const char *title, const char *prompt, int height, int width,
wnoutrefresh(menu);

print_arrows(dialog, item_no, scroll,
box_y, box_x + item_x + 1, menu_height);
box_y, box_x + ITEM_IDENT + 1, menu_height);

print_buttons(dialog, height, width, 0);
wmove(menu, choice, item_x + 1);
wmove(menu, choice, ITEM_IDENT + 1);
wrefresh(menu);

while (key != ESC) {
Expand Down Expand Up @@ -286,7 +278,7 @@ int dialog_menu(const char *title, const char *prompt, int height, int width,
key == KEY_UP || key == KEY_DOWN ||
key == '-' || key == '+' ||
key == KEY_PPAGE || key == KEY_NPAGE) {

/* Remove highligt of current item */
print_item(menu, items[(scroll + choice) * 2 + 1],
choice, FALSE,
(items[(scroll + choice) * 2][0] != ':'));
Expand Down Expand Up @@ -364,7 +356,7 @@ int dialog_menu(const char *title, const char *prompt, int height, int width,
choice, TRUE, (items[(scroll + choice) * 2][0] != ':'));

print_arrows(dialog, item_no, scroll,
box_y, box_x + item_x + 1, menu_height);
box_y, box_x + ITEM_IDENT + 1, menu_height);

wnoutrefresh(dialog);
wrefresh(menu);
Expand Down

0 comments on commit 5fec7bd

Please sign in to comment.