+/* Helper functions */
+static const char *timestr(date_t date)
+{
+ static char buf[64];
+ if (date.year)
+ sprintf(buf, "%04d-%02d-%02d %02d:%02d",
+ date.year, date.month+1, date.day+1,
+ date.hour, date.min);
+ else
+ sprintf(buf, "[none]");
+ return buf;
+}
+
+/* Event editing */
+static void draw_event(event_t *event)
+{
+ wmove(win, 0, 0);
+ wprintw(win, "Edit Event\n");
+ wprintw(win, " Name: %s\n", event->name ?: "[none]");
+ wprintw(win, " Description: %s\n", event->desc ?: "[none]");
+ wprintw(win, " Location: %s\n", event->loc ?: "[none]");
+ wprintw(win, " Category: %s\n", event->cat ?: "[none]");
+ wprintw(win, " Start Time: %s\n", timestr(event->start));
+ wprintw(win, " End Time: %s\n", timestr(event->end));
+ wprintw(win, " Calendar: %s\n", event->cal->name ?: "[none]");
+}
+
+static int edit_event(event_t *event, int key, mmask_t btn, int row, int col)
+{
+ return 0;
+}
+
+/* Todo editing */
+static void draw_todo(todo_t *todo)
+{
+ wmove(win, 0, 0);
+ wprintw(win, "Edit Todo\n");
+ wprintw(win, " Name: %s\n", todo->name ?: "[none]");
+ wprintw(win, " Description: %s\n", todo->desc ?: "[none]");
+ wprintw(win, " Category: %s\n", todo->cat ?: "[none]");
+ wprintw(win, " Completed: %d%%\n", todo->status);
+ wprintw(win, " Start Time: %s\n", timestr(todo->start));
+ wprintw(win, " Due Date: %s\n", timestr(todo->due));
+ wprintw(win, " Calendar: %s\n", todo->cal->name ?: "[none]");
+}
+
+static int edit_todo(todo_t *todo, int key, mmask_t btn, int row, int col)
+{
+ return 0;
+}
+