diff options
author | Lukas Fleischer <lfleischer@calcurse.org> | 2016-01-17 22:54:12 +0100 |
---|---|---|
committer | Lukas Fleischer <lfleischer@calcurse.org> | 2016-01-18 18:08:45 +0100 |
commit | e3ac5542aa1be85ae1116eea44142f85c80b4a34 (patch) | |
tree | bd835796f150a4e26fb49faa34615c33840581d1 | |
parent | beea88e5feb6f14b4912c6aa4878c39a7632977c (diff) | |
download | calcurse-e3ac5542aa1be85ae1116eea44142f85c80b4a34.zip |
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 <lfleischer@calcurse.org>
-rw-r--r-- | src/ical.c | 13 | ||||
-rw-r--r-- | src/ui-todo.c | 8 |
2 files changed, 8 insertions, 13 deletions
@@ -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; |