diff options
author | Lukas Fleischer <calcurse@cryptocrack.de> | 2014-05-18 10:19:30 +0200 |
---|---|---|
committer | Lukas Fleischer <calcurse@cryptocrack.de> | 2014-05-18 11:10:56 +0200 |
commit | 2a62351d259096f60c0a4fca78963bd12233786e (patch) | |
tree | 3e5cd3e767055802ef2f6a9c4f6f1f11c2140445 /src/ui-day.c | |
parent | 2a15531bb9df283060e0eb0e7e93ecf33e494b4d (diff) | |
download | calcurse-2a62351d259096f60c0a4fca78963bd12233786e.zip |
Reintroduce heading and separator in appointments
This re-introduces the heading (showing the POM and the current date) as
well as the separating line between events and appointments.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
Diffstat (limited to 'src/ui-day.c')
-rw-r--r-- | src/ui-day.c | 35 |
1 files changed, 25 insertions, 10 deletions
diff --git a/src/ui-day.c b/src/ui-day.c index e52b6d2..9401e18 100644 --- a/src/ui-day.c +++ b/src/ui-day.c @@ -834,28 +834,43 @@ void ui_day_draw(int n, WINDOW *win, int y, int hilt, void *cb_data) struct day_item *item = day_get_item(n); int width = lb_apt.sw.w; - if (item->type < RECUR_APPT) { + if (item->type == EVNT || item->type == RECUR_EVNT) { day_display_item(item, win, !hilt, width, y, 1); - } else { - day_display_item_date(item, win, !hilt, date, y + 1, 1); - day_display_item(item, win, !hilt, width, y + 2, 1); + } else if (item->type == APPT || item->type == RECUR_APPT) { + day_display_item_date(item, win, !hilt, date, y, 1); + day_display_item(item, win, !hilt, width, y + 1, 1); + } else if (item->type == DAY_HEADING) { + unsigned x = width - (strlen(_(monthnames[slctd_date.mm - 1])) + 17); + custom_apply_attr(win, ATTR_HIGHEST); + mvwprintw(win, y, x, "%s %s %02d, %04d", + ui_calendar_get_pom(date), + _(monthnames[slctd_date.mm - 1]), slctd_date.dd, + slctd_date.yyyy); + custom_remove_attr(win, ATTR_HIGHEST); + } else if (item->type == DAY_SEPARATOR) { + wmove(win, y, 0); + whline(win, 0, width); } - } -enum listbox_row_type ui_day_row_type(int i, void *cb_data) +enum listbox_row_type ui_day_row_type(int n, void *cb_data) { - return LISTBOX_ROW_TEXT; + struct day_item *item = day_get_item(n); + + if (item->type == DAY_HEADING || item->type == DAY_SEPARATOR) + return LISTBOX_ROW_CAPTION; + else + return LISTBOX_ROW_TEXT; } int ui_day_height(int n, void *cb_data) { struct day_item *item = day_get_item(n); - if (item->type < RECUR_APPT) - return 1; - else + if (item->type == APPT || item->type == RECUR_APPT) return 3; + else + return 1; } /* Updates the Appointment panel */ |