From 0198fff6ef058211d122bfb5808e4d7dee32cdf3 Mon Sep 17 00:00:00 2001
From: Frederic Culot <calcurse@culot.org>
Date: Tue, 1 Aug 2006 20:36:29 +0000
Subject: del_apoint() renamed to del_item() and updated to take recurrent
 items into account

---
 src/calcurse.c | 26 +++++++++++++++-----------
 1 file changed, 15 insertions(+), 11 deletions(-)

(limited to 'src')

diff --git a/src/calcurse.c b/src/calcurse.c
index 7432daf..a2d06d9 100755
--- a/src/calcurse.c
+++ b/src/calcurse.c
@@ -1,4 +1,4 @@
-/*	$calcurse: calcurse.c,v 1.1 2006/07/31 21:00:02 culot Exp $	*/
+/*	$calcurse: calcurse.c,v 1.2 2006/08/01 20:36:29 culot Exp $	*/
 
 /*
  * Calcurse - text-based organizer
@@ -107,7 +107,7 @@ void update_windows(int surrounded_window);
 void general_config(void);
 void print_general_options(WINDOW *win);
 void print_option_incolor(WINDOW *win, bool option, int pos_x, int pos_y);
-void del_apoint(void);
+void del_item(void);
 
 /*
  * Calcurse  is  a text-based personal organizer which helps keeping track
@@ -309,7 +309,7 @@ int main(int argc, char **argv)
 
 		case 'D':
 		case 'd':	/* Delete an item */
-			del_apoint();
+			del_item();
 			do_storage = true;
 			break;
 
@@ -768,7 +768,7 @@ void print_option_incolor(WINDOW *win, bool option, int pos_y, int pos_x)
 }
 
   /* Delete an event from the ToDo or Appointment lists */
-void del_apoint(void)
+void del_item(void)
 {
 	char *choices = "[y/n] ";
 	char *del_app_str = _("Do you really want to delete this item ?");
@@ -779,6 +779,7 @@ void del_apoint(void)
 	bool go_for_todo_del = false;
 	int to_be_removed = 0;
 	int answer = 0;
+	int deleted_item_type = 0;
 	
 	/* delete an appointment */
 	if (which_pan == APPOINTMENT && hilt_app != 0) {
@@ -799,17 +800,20 @@ void del_apoint(void)
 		
 		if (go_for_deletion) {
 			if (nb_items != 0) {
-				if (hilt_app <= number_events_inday) { 
-					event_delete_bynum(date, hilt_app - 1);
+				deleted_item_type = day_erase_item(date, hilt_app);
+				if (deleted_item_type == EVNT || 
+				    deleted_item_type == RECUR_EVNT) {
 					number_events_inday--;
 					to_be_removed = 1;
-				} else {
-					apoint_delete_bynum(date, 
-							hilt_app - 
-							number_events_inday - 1);
+				} else if (deleted_item_type == APPT ||
+				    deleted_item_type == RECUR_APPT) {
 					number_apoints_inday--;
 					to_be_removed = 3;
-				}
+				} else { /* NOTREACHED */
+					fputs(_("FATAL ERROR in del_item: no such type\n"), stderr);
+					exit(EXIT_FAILURE);
+				}	
+
 				if (hilt_app > 1) --hilt_app;
 				if (apad->first_onscreen >= to_be_removed)
 					apad->first_onscreen = 
-- 
cgit v1.2.3-70-g09d2