diff options
author | Lukas Fleischer <calcurse@cryptocrack.de> | 2013-05-14 11:16:39 +0200 |
---|---|---|
committer | Lukas Fleischer <calcurse@cryptocrack.de> | 2013-05-14 11:23:27 +0200 |
commit | 9e86e258f2a34a94e63665dd31571bbfb124d0f9 (patch) | |
tree | db7d2c2ceeac1bb47c1031d2aca3b58d0e0ffbf4 | |
parent | ce93fa8adbeb31d160cba198e50e3f828e8def50 (diff) | |
download | calcurse-9e86e258f2a34a94e63665dd31571bbfb124d0f9.zip |
Refactor display_item_date()
Replace nested case differentiations by initializing every single
character for each flag separately and joining all characters
afterwards. This makes it much easier to extend the function later.
Note that the same approach is already used in display_item().
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
-rw-r--r-- | src/day.c | 18 |
1 files changed, 6 insertions, 12 deletions
@@ -401,6 +401,7 @@ display_item_date(struct day_item *day, int incolor, long date, int y, { WINDOW *win; char a_st[100], a_end[100]; + char ch_recur, ch_notify; /* FIXME: Redesign apoint_sec2str() and remove the need for a temporary * appointment item here. */ @@ -412,18 +413,11 @@ display_item_date(struct day_item *day, int incolor, long date, int y, apoint_sec2str(&apt_tmp, date, a_st, a_end); if (incolor == 0) custom_apply_attr(win, ATTR_HIGHEST); - - if (day->type == RECUR_EVNT || day->type == RECUR_APPT) { - if (day_item_get_state(day) & APOINT_NOTIFY) - mvwprintw(win, y, x, " *!%s -> %s", a_st, a_end); - else - mvwprintw(win, y, x, " * %s -> %s", a_st, a_end); - } else if (day_item_get_state(day) & APOINT_NOTIFY) { - mvwprintw(win, y, x, " -!%s -> %s", a_st, a_end); - } else { - mvwprintw(win, y, x, " - %s -> %s", a_st, a_end); - } - + ch_recur = (day->type == RECUR_EVNT || + day->type == RECUR_APPT) ? '*' : '-'; + ch_notify = (day_item_get_state(day) & APOINT_NOTIFY) ? '!' : ' '; + mvwprintw(win, y, x, " %c%c%s -> %s", ch_recur, ch_notify, + a_st, a_end); if (incolor == 0) custom_remove_attr(win, ATTR_HIGHEST); } |