]> git.decadent.org.uk Git - ap-utils.git/blobdiff - lib/menu.c
Merge commit 'upstream/1.5'
[ap-utils.git] / lib / menu.c
index 9aeb6d93c5a47dbbc3167ac8a180f9079f8b99b2..e2cfaef3178235bfd66da2f78e2b46d771892cb6 100644 (file)
@@ -44,44 +44,38 @@ void uni_menu(struct umitems *umenu, int num)
 
     post_menu(menu);
 
-    wrefresh(sub_for_menu);
     print_help(umenu[0].help);
 
     while (1) {
+       wrefresh(sub_for_menu);
        switch (getch()) {
        case KEY_DOWN:
        case 'j':
        case 'J':
            menu_driver(menu, REQ_NEXT_ITEM);
-           wrefresh(sub_for_menu);
            break;
        case KEY_RIGHT:
        case 'l':
        case 'L':
            menu_driver(menu, REQ_LAST_ITEM);
-           wrefresh(sub_for_menu);
            break;
        case KEY_LEFT:
        case 'h':
        case 'H':
            menu_driver(menu, REQ_FIRST_ITEM);
-           wrefresh(sub_for_menu);
            break;
        case KEY_UP:
        case 'k':
        case 'K':    
            menu_driver(menu, REQ_PREV_ITEM);
-           wrefresh(sub_for_menu);
            break;
        case KEY_PPAGE:
        case KEY_HOME:
            menu_driver(menu, REQ_FIRST_ITEM);
-           wrefresh(sub_for_menu);
            break;
        case KEY_NPAGE:
        case KEY_END:
            menu_driver(menu, REQ_LAST_ITEM);
-           wrefresh(sub_for_menu);
            break;
        case 'q':
        case 'Q':
@@ -89,9 +83,14 @@ void uni_menu(struct umitems *umenu, int num)
            goto quitmenu;
        case 's':
        case 'S':
-           if (set_oeminfo_allowed)
+           if (set_oeminfo_allowed) {
+               set_menu_mark(menu, " ");
+               set_menu_fore(menu, A_NORMAL);
+               wrefresh(sub_for_menu);
                atmel_set_oeminfo();
-
+               set_menu_mark(menu, "-");
+               set_menu_fore(menu, A_STANDOUT);
+           }
            break;
        /* Enter */
        case 10:
@@ -111,11 +110,12 @@ quitmenu:
            }
            if (umenu[idx].is_menu)
                unpost_menu(menu);
+
            umenu[idx].func();
-           if (umenu[idx].is_menu) {
+
+           if (umenu[idx].is_menu)
                post_menu(menu);
-               wrefresh(sub_for_menu);
-           }
+
            break;
        default:
            continue;