summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/calcurse.c8
-rw-r--r--src/calcurse.h8
-rw-r--r--src/todo.c15
3 files changed, 12 insertions, 19 deletions
diff --git a/src/calcurse.c b/src/calcurse.c
index 962f665..3708236 100644
--- a/src/calcurse.c
+++ b/src/calcurse.c
@@ -315,7 +315,7 @@ int main(int argc, char **argv)
inday = do_storage(0);
wins_update(FLAG_APP);
} else if (wins_slctd() == TOD && todo_hilt() != 0) {
- todo_flag();
+ todo_flag(todo_get_item(todo_hilt()));
wins_update(FLAG_TOD);
}
break;
@@ -331,7 +331,7 @@ int main(int argc, char **argv)
case KEY_RAISE_PRIORITY:
case KEY_LOWER_PRIORITY:
if (wins_slctd() == TOD && todo_hilt() != 0) {
- todo_chg_priority(key);
+ todo_chg_priority(todo_get_item(todo_hilt()), key);
if (todo_hilt_pos() < 0)
todo_set_first(todo_hilt());
else if (todo_hilt_pos() >= win[TOD].h - 4)
@@ -345,7 +345,7 @@ int main(int argc, char **argv)
day_edit_note(day_get_item(apoint_hilt()), conf.editor);
inday = do_storage(0);
} else if (wins_slctd() == TOD && todo_hilt() != 0)
- todo_edit_note(conf.editor);
+ todo_edit_note(todo_get_item(todo_hilt()), conf.editor);
wins_update(FLAG_ALL);
break;
@@ -353,7 +353,7 @@ int main(int argc, char **argv)
if (wins_slctd() == APP && apoint_hilt() != 0)
day_view_note(day_get_item(apoint_hilt()), conf.pager);
else if (wins_slctd() == TOD && todo_hilt() != 0)
- todo_view_note(conf.pager);
+ todo_view_note(todo_get_item(todo_hilt()), conf.pager);
wins_update(FLAG_ALL);
break;
diff --git a/src/calcurse.h b/src/calcurse.h
index 78bd752..adc742f 100644
--- a/src/calcurse.h
+++ b/src/calcurse.h
@@ -901,11 +901,11 @@ struct todo *todo_add(char *, int, char *);
void todo_write(struct todo *, FILE *);
void todo_delete_note_bynum(unsigned);
void todo_delete(struct todo *);
-void todo_flag(void);
-void todo_chg_priority(int);
+void todo_flag(struct todo *);
+void todo_chg_priority(struct todo *, int);
void todo_update_panel(int);
-void todo_edit_note(const char *);
-void todo_view_note(const char *);
+void todo_edit_note(struct todo *, const char *);
+void todo_view_note(struct todo *, const char *);
void todo_init_list(void);
void todo_free_list(void);
diff --git a/src/todo.c b/src/todo.c
index 2ca648d..5352eb8 100644
--- a/src/todo.c
+++ b/src/todo.c
@@ -189,11 +189,8 @@ void todo_delete(struct todo *todo)
* This way, it is easy to retrive its original priority if the user decides
* that in fact it was not completed.
*/
-void todo_flag(void)
+void todo_flag(struct todo *t)
{
- struct todo *t;
-
- t = todo_get_item(hilt);
t->id = -t->id;
}
@@ -217,14 +214,12 @@ static int todo_get_position(struct todo *needle)
}
/* Change an item priority by pressing '+' or '-' inside TODO panel. */
-void todo_chg_priority(int action)
+void todo_chg_priority(struct todo *backup, int action)
{
- struct todo *backup;
char backup_mesg[BUFSIZ];
int backup_id;
char backup_note[MAX_NOTESIZ + 1];
- backup = todo_get_item(hilt);
strncpy(backup_mesg, backup->mesg, strlen(backup->mesg) + 1);
backup_id = backup->id;
if (backup->note)
@@ -338,16 +333,14 @@ void todo_update_panel(int which_pan)
}
/* Attach a note to a todo */
-void todo_edit_note(const char *editor)
+void todo_edit_note(struct todo *i, const char *editor)
{
- struct todo *i = todo_get_item(hilt);
edit_note(&i->note, editor);
}
/* View a note previously attached to a todo */
-void todo_view_note(const char *pager)
+void todo_view_note(struct todo *i, const char *pager)
{
- struct todo *i = todo_get_item(hilt);
view_note(i->note, pager);
}