X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=src%2Fcal.c;h=5d5c637ff1c43199f8e80a71f9af3b544c4c24d2;hb=c604f2cc0284825a03c762a2e92d459bb9ba86e7;hp=afc18f01670f5abd6a5203287e64190811d7fa6b;hpb=4efcd67595b2da6b9105c75c387c5aad5ef3f5db;p=lackey diff --git a/src/cal.c b/src/cal.c index afc18f0..5d5c637 100644 --- a/src/cal.c +++ b/src/cal.c @@ -26,7 +26,9 @@ void name##_config(const char *group, const char *name, const char *key, const char *value); \ cal_t *name##_cals(void); \ event_t *name##_events(date_t start, date_t end); \ - todo_t *name##_todos(date_t start, date_t end) + todo_t *name##_todos(date_t start, date_t end); \ + void name##_edit(edit_t mode); \ + void name##_save(edit_t mode) /* Prototypes */ CAL(dummy); @@ -201,6 +203,26 @@ void cal_config(const char *group, const char *name, const char *key, const char ical_config(group, name, key, value); } +/* Edit functions */ +void cal_edit(edit_t mode) +{ + const cal_t *cal = + mode == EDIT_EVENT ? EVENT->cal : + mode == EDIT_TODO ? TODO->cal : CAL; + debug("cal_edit"); + if (match(cal->type, "dummy")) dummy_edit(mode); + if (match(cal->type, "ical")) ical_edit(mode); +} + +void cal_save(edit_t mode) +{ + const cal_t *cal = + mode == EDIT_EVENT ? EVENT->cal : + mode == EDIT_TODO ? TODO->cal : CAL; + if (match(cal->type, "dummy")) dummy_save(mode); + if (match(cal->type, "ical")) ical_save(mode); +} + /* Find event for matching target date */ event_t *find_event(date_t *target) {