Splitting the header and the footer will help to display a new footer
like the search string.

Signed-off-by: Daniel Lezcano <daniel.lezc...@linaro.org>
---
 display.c |   28 +++++++++++++++++++++-------
 1 files changed, 21 insertions(+), 7 deletions(-)

diff --git a/display.c b/display.c
index 758d17e..43f3797 100644
--- a/display.c
+++ b/display.c
@@ -41,9 +41,6 @@ static int current_win;
 /* Number of lines in the virtual window */
 static const int maxrows = 1024;
 
-#define footer_label " Q (Quit)  R (Refresh) Other Keys: 'Left', " \
-       "'Right' , 'Up', 'Down', 'enter', , 'Esc'"
-
 struct rowdata {
        int attr;
        void *data;
@@ -71,7 +68,7 @@ static void display_fini(void)
        endwin();
 }
 
-static int show_header_footer(int win)
+static int display_show_header(int win)
 {
        int i;
        int curr_pointer = 0;
@@ -94,8 +91,16 @@ static int show_header_footer(int win)
                curr_pointer += strlen(windata[i].name) + 2;
        }
        wrefresh(header_win);
-       werase(footer_win);
 
+       return 0;
+}
+
+#define footer_label " Q (Quit)  R (Refresh) Other Keys: 'Left', " \
+       "'Right' , 'Up', 'Down', 'enter', , 'Esc'"
+
+static int display_show_footer(int win)
+{
+       werase(footer_win);
        wattron(footer_win, A_REVERSE);
        mvwprintw(footer_win, 0, 0, "%s", footer_label);
        wattroff(footer_win, A_REVERSE);
@@ -415,7 +420,10 @@ int display_init(int wdefault)
        if (!footer_win)
                return -1;
 
-       if (show_header_footer(wdefault))
+       if (display_show_header(wdefault))
+               return -1;
+
+       if (display_show_footer(wdefault))
                return -1;
 
        return display_refresh(wdefault);
@@ -423,13 +431,19 @@ int display_init(int wdefault)
 
 int display_header_footer(int win, const char *line)
 {
+       int ret;
+
        werase(main_win);
        wattron(main_win, A_BOLD);
        mvwprintw(main_win, 0, 0, "%s", line);
        wattroff(main_win, A_BOLD);
        wrefresh(main_win);
 
-       return show_header_footer(win);
+       ret = display_show_header(win);
+       if (ret)
+               return ret;
+
+       return display_show_footer(win);
 }
 
 int display_register(int win, struct display_ops *ops)
-- 
1.7.1


_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to