diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/calcurse.h | 1 | ||||
-rw-r--r-- | src/interaction.c | 12 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/calcurse.h b/src/calcurse.h index cefc850..c2f7b2b 100644 --- a/src/calcurse.h +++ b/src/calcurse.h @@ -723,6 +723,7 @@ void interact_day_item_pipe(void); void interact_day_item_repeat(void); void interact_day_item_cut_free(); void interact_day_item_cut(unsigned *, unsigned *); +void interact_day_item_copy(unsigned *, unsigned *); void interact_day_item_paste(unsigned *, unsigned *); void interact_todo_add(void); void interact_todo_delete(void); diff --git a/src/interaction.c b/src/interaction.c index d3f2cef..abe261d 100644 --- a/src/interaction.c +++ b/src/interaction.c @@ -926,6 +926,18 @@ void interact_day_item_cut(unsigned *nb_events, unsigned *nb_apoints) apoint_hilt_set(0); } +/* Copy an item, so that it can be pasted somewhere else later. */ +void interact_day_item_copy(unsigned *nb_events, unsigned *nb_apoints) +{ + const int NBITEMS = *nb_apoints + *nb_events; + + if (NBITEMS == 0) + return; + + interact_day_item_cut_free(); + day_item_fork(day_get_item(apoint_hilt()), &day_cut); +} + /* Paste a previously cut item. */ void interact_day_item_paste(unsigned *nb_events, unsigned *nb_apoints) { |