summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Fleischer <lfleischer@calcurse.org>2016-01-17 22:54:12 +0100
committerLukas Fleischer <lfleischer@calcurse.org>2016-01-18 18:08:45 +0100
commite3ac5542aa1be85ae1116eea44142f85c80b4a34 (patch)
treebd835796f150a4e26fb49faa34615c33840581d1
parentbeea88e5feb6f14b4912c6aa4878c39a7632977c (diff)
downloadcalcurse-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.c13
-rw-r--r--src/ui-todo.c8
2 files changed, 8 insertions, 13 deletions
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;