From e3ac5542aa1be85ae1116eea44142f85c80b4a34 Mon Sep 17 00:00:00 2001 From: Lukas Fleischer Date: Sun, 17 Jan 2016 22:54:12 +0100 Subject: Support todo items with an undefined priority In addition to priorities 1-9, support todo items without any specific priority, internally represented by priority 0. Signed-off-by: Lukas Fleischer --- src/ical.c | 13 ++++--------- src/ui-todo.c | 8 ++++---- 2 files changed, 8 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/ical.c b/src/ical.c index dfb5dd7..b440dea 100644 --- a/src/ical.c +++ b/src/ical.c @@ -1054,11 +1054,10 @@ ical_read_todo(FILE * fdi, FILE * log, int list, unsigned *notodos, unsigned *noskipped, char *buf, char *lstore, unsigned *lineno) { - const int LOWEST = 9; const int ITEMLINE = *lineno; struct { char *mesg, *note; - int has_priority, priority; + int priority; int completed; } vtodo; int skip_alarm; @@ -1077,8 +1076,6 @@ ical_read_todo(FILE * fdi, FILE * log, int list, unsigned *notodos, } if (starts_with_ci(buf, "END:VTODO")) { - if (!vtodo.has_priority) - vtodo.priority = LOWEST; if (!vtodo.mesg) { ical_log(log, ICAL_VTODO, ITEMLINE, _("could not retrieve item summary.")); @@ -1093,12 +1090,10 @@ ical_read_todo(FILE * fdi, FILE * log, int list, unsigned *notodos, if (starts_with_ci(buf, "PRIORITY:")) { sscanf(buf, "%d", &vtodo.priority); - if (vtodo.priority >= 1 && vtodo.priority <= 9) { - vtodo.has_priority = 1; - } else { + if (vtodo.priority < 0 || vtodo.priority > 9) { ical_log(log, ICAL_VTODO, ITEMLINE, - _("item priority is not acceptable " - "(must be between 1 and 9).")); + _("item priority is invalid " + "(must be between 0 and 9).")); } } else if (starts_with_ci(buf, "STATUS:COMPLETED")) { vtodo.completed = 1; diff --git a/src/ui-todo.c b/src/ui-todo.c index 2a03844..de19272 100644 --- a/src/ui-todo.c +++ b/src/ui-todo.c @@ -50,13 +50,13 @@ void ui_todo_add(void) int ch = 0; const char *mesg = _("Enter the new TODO item:"); const char *mesg_id = - _("Enter the TODO priority [1 (highest) - 9 (lowest)]:"); + _("Enter the TODO priority [0 (none), 1 (highest) - 9 (lowest)]:"); char todo_input[BUFSIZ] = ""; status_mesg(mesg, ""); if (getstring(win[STA].p, todo_input, BUFSIZ, 0, 1) == GETSTRING_VALID) { - while ((ch < '1') || (ch > '9')) { + while ((ch < '0') || (ch > '9')) { status_mesg(mesg_id, ""); ch = wgetch(win[KEY].p); } @@ -259,8 +259,8 @@ void ui_todo_chg_priority(int diff) int id = item->id + diff; struct todo *item_new; - if (id < 1) - id = 1; + if (id < 0) + id = 0; else if (id > 9) id = 9; -- cgit v1.2.3