summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/calcurse.h2
-rw-r--r--src/day.c29
2 files changed, 31 insertions, 0 deletions
diff --git a/src/calcurse.h b/src/calcurse.h
index 407734d..be2229b 100644
--- a/src/calcurse.h
+++ b/src/calcurse.h
@@ -668,6 +668,8 @@ int day_store_items(long, unsigned *, unsigned *, regex_t *);
struct day_items_nb *day_process_storage(struct date *, unsigned,
struct day_items_nb *);
void day_write_pad(long, int, int, int);
+void day_write_stdout(long, const char *, const char *, const char *,
+ const char *);
void day_popup_item(void);
int day_check_if_item(struct date);
unsigned day_chk_busy_slices(struct date, int, int *);
diff --git a/src/day.c b/src/day.c
index d4badae..fb3a9e7 100644
--- a/src/day.c
+++ b/src/day.c
@@ -455,6 +455,35 @@ void day_write_pad(long date, int width, int length, int incolor)
}
}
+/* Write the appointments and events for the selected day to stdout. */
+void day_write_stdout(long date, const char *fmt_apt, const char *fmt_rapt,
+ const char *fmt_ev, const char *fmt_rev)
+{
+ llist_item_t *i;
+
+ LLIST_FOREACH(&day_items, i) {
+ struct day_item *day = LLIST_TS_GET_DATA(i);
+
+ switch (day->type) {
+ case APPT:
+ print_apoint(fmt_apt, date, day->item.apt);
+ break;
+ case EVNT:
+ print_event(fmt_ev, date, day->item.ev);
+ break;
+ case RECUR_APPT:
+ print_recur_apoint(fmt_rapt, date, day->start, day->item.rapt);
+ break;
+ case RECUR_EVNT:
+ print_recur_event(fmt_rev, date, day->item.rev);
+ break;
+ default:
+ EXIT(_("unknown item type"));
+ /* NOTREACHED */
+ }
+ }
+}
+
/* Display an item inside a popup window. */
void day_popup_item(void)
{