From 35314dfdebb0747b03d0d35db2ce9a58edf31a72 Mon Sep 17 00:00:00 2001 From: Lukas Fleischer Date: Fri, 16 May 2014 10:36:26 +0200 Subject: ui-day: Large-scale refactoring Use the generic list box implementation for the appointments panel. This results in some major changes to how the items are printed. Note that this temporarily removes the heading showing the POM and the date as well as the separating line between events and appointments. Signed-off-by: Lukas Fleischer --- src/wins.c | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) (limited to 'src/wins.c') diff --git a/src/wins.c b/src/wins.c index a690fe2..e84bc08 100644 --- a/src/wins.c +++ b/src/wins.c @@ -51,6 +51,7 @@ /* Variables to handle calcurse windows. */ struct window win[NBWINS]; struct scrollwin sw_cal; +struct listbox lb_apt; struct listbox lb_todo; /* User-configurable side bar width. */ @@ -248,18 +249,13 @@ static void wins_init_panels(void) CALHEIGHT + (conf.compact_panels ? 2 : 4), wins_sbar_width(), _("Calendar")); - win[APP].p = - newwin(win[APP].h, win[APP].w, win[APP].y, win[APP].x); - wins_show(win[APP].p, _("Appointments")); - apad.width = win[APP].w - 3; - apad.ptrwin = newpad(apad.length, apad.width); + listbox_init(&lb_apt, win[APP].y, win[APP].x, win[APP].h, win[APP].w, + _("Appointments"), ui_day_height, ui_day_draw); + ui_day_load_items(); listbox_init(&lb_todo, win[TOD].y, win[TOD].x, win[TOD].h, win[TOD].w, _("TODO"), ui_todo_height, ui_todo_draw); ui_todo_load_items(); - - /* Enable function keys (i.e. arrow keys) in those windows */ - keypad(win[APP].p, TRUE); } /* Create all the windows. */ @@ -401,8 +397,7 @@ void wins_scrollwin_ensure_visible(struct scrollwin *sw, unsigned line) void wins_reinit_panels(void) { wins_scrollwin_delete(&sw_cal); - delwin(win[APP].p); - delwin(apad.ptrwin); + listbox_delete(&lb_apt); listbox_delete(&lb_todo); wins_get_config(); wins_init_panels(); @@ -415,8 +410,7 @@ void wins_reinit_panels(void) void wins_reinit(void) { wins_scrollwin_delete(&sw_cal); - delwin(win[APP].p); - delwin(apad.ptrwin); + listbox_delete(&lb_apt); listbox_delete(&lb_todo); delwin(win[STA].p); delwin(win[KEY].p); @@ -547,12 +541,8 @@ void wins_update_border(int flags) wins_scrollwin_draw_deco(&sw_cal, (slctd_win == CAL)); WINS_CALENDAR_UNLOCK; } - if (flags & FLAG_APP) { - if (slctd_win == APP) - border_color(win[APP].p); - else - border_nocolor(win[APP].p); - } + if (flags & FLAG_APP) + listbox_draw_deco(&lb_apt, (slctd_win == APP)); if (flags & FLAG_TOD) listbox_draw_deco(&lb_todo, (slctd_win == TOD)); } @@ -560,7 +550,7 @@ void wins_update_border(int flags) void wins_update_panels(int flags) { if (flags & FLAG_APP) - ui_day_update_panel(slctd_win, *ui_calendar_get_slctd_day()); + ui_day_update_panel(slctd_win); if (flags & FLAG_TOD) ui_todo_update_panel(slctd_win); if (flags & FLAG_CAL) -- cgit v1.2.3-54-g00ecf