X-Git-Url: https://git.danieliu.xyz/?p=taskasaur.git;a=blobdiff_plain;f=taskasaur.c;fp=taskasaur.c;h=b00d29a5641c547fc0278000624d5d1f45b6ab1d;hp=582d496e33a0150feb745355930c7cfbe98c001f;hb=1efefba2657678809bc2e718f71ea7776495fd5e;hpb=fc9d31162f04dd3ceb2d222e3aa81549095f767b diff --git a/taskasaur.c b/taskasaur.c index 582d496..b00d29a 100644 --- a/taskasaur.c +++ b/taskasaur.c @@ -8,6 +8,7 @@ char* boardfile_name = "test_board.md"; void normal_handleinput(BoardMenu* boardmenu, int ch); +void popup_handleinput(BoardMenu* boardmenu, int ch); void normal_renderstep(BoardMenu* boardmenu); void popup_renderstep(BoardMenu* boardmenu); @@ -39,6 +40,7 @@ main(int argc, char** argv) normal_handleinput(boardmenu, ch); normal_renderstep(boardmenu); } else { + popup_handleinput(boardmenu, ch); popup_renderstep(boardmenu); } @@ -207,6 +209,24 @@ normal_handleinput(BoardMenu* boardmenu, int ch) } } +void +popup_handleinput(BoardMenu* boardmenu, int ch) +{ + Menu* popup_menu; + + popup_menu = boardmenu->popup_menu; + + switch (ch) { + + case BINDING_SCROLL_UP: + menu_driver(popup_menu, MENU_UP); + break; + case BINDING_SCROLL_DOWN: + menu_driver(popup_menu, MENU_DOWN); + break; + } +} + void normal_renderstep(BoardMenu* boardmenu) { @@ -228,6 +248,8 @@ popup_renderstep(BoardMenu* boardmenu) { if (boardmenu->popup_menu == NULL) return; + render_popup_menu(boardmenu->popup_menu); + } void