Refactor todo_chg_priority()

Instead of passing a key, pass the number of steps to increase the
priority by.

Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
This commit is contained in:
Lukas Fleischer 2012-11-18 21:50:15 +01:00
parent f2dca7de3e
commit 8fd6640caf
2 changed files with 9 additions and 19 deletions

View File

@ -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)

View File

@ -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);