diff options
-rw-r--r-- | src/calcurse.c | 8 | ||||
-rw-r--r-- | src/calcurse.h | 8 | ||||
-rw-r--r-- | src/todo.c | 15 |
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); @@ -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); } |