From 8fd6640caf1961c71c66a9c559f340d86cf17893 Mon Sep 17 00:00:00 2001 From: Lukas Fleischer Date: Sun, 18 Nov 2012 21:50:15 +0100 Subject: Refactor todo_chg_priority() Instead of passing a key, pass the number of steps to increase the priority by. Signed-off-by: Lukas Fleischer --- src/calcurse.c | 3 ++- src/todo.c | 25 +++++++------------------ 2 files changed, 9 insertions(+), 19 deletions(-) diff --git a/src/calcurse.c b/src/calcurse.c index 84bd06a..b3b9098 100644 --- a/src/calcurse.c +++ b/src/calcurse.c @@ -221,7 +221,8 @@ static inline void key_pipe_item(int key) static inline void key_change_priority(int key) { if (wins_slctd() == TOD && todo_hilt() != 0) { - todo_chg_priority(todo_get_item(todo_hilt()), key); + todo_chg_priority(todo_get_item(todo_hilt()), + key == KEY_RAISE_PRIORITY ? 1 : -1); if (todo_hilt_pos() < 0) todo_set_first(todo_hilt()); else if (todo_hilt_pos() >= win[TOD].h - 4) diff --git a/src/todo.c b/src/todo.c index 9b8f283..af25a60 100644 --- a/src/todo.c +++ b/src/todo.c @@ -208,7 +208,7 @@ static int todo_get_position(struct todo *needle) } /* Change an item priority by pressing '+' or '-' inside TODO panel. */ -void todo_chg_priority(struct todo *backup, int action) +void todo_chg_priority(struct todo *backup, int diff) { char backup_mesg[BUFSIZ]; int backup_id; @@ -220,23 +220,12 @@ void todo_chg_priority(struct todo *backup, int action) strncpy(backup_note, backup->note, MAX_NOTESIZ + 1); else backup_note[0] = '\0'; - switch (action) { - case KEY_RAISE_PRIORITY: - if (backup_id > 1) - backup_id--; - else - return; - break; - case KEY_LOWER_PRIORITY: - if (backup_id > 0 && backup_id < 9) - backup_id++; - else - return; - break; - default: - EXIT(_("no such action")); - /* NOTREACHED */ - } + + backup_id += diff; + if (backup_id < 1) + backup_id = 1; + else if (backup_id > 9) + backup_id = 9; todo_delete(todo_get_item(hilt)); backup = todo_add(backup_mesg, backup_id, backup_note); -- cgit v1.2.3