calendarui/controller/src/calendeleteui.cpp
changeset 58 ef813d54df51
parent 50 579cc610882e
child 77 b0711afde476
--- a/calendarui/controller/src/calendeleteui.cpp	Tue Jul 06 14:14:56 2010 +0300
+++ b/calendarui/controller/src/calendeleteui.cpp	Wed Aug 18 09:47:38 2010 +0300
@@ -37,6 +37,10 @@
 #include "calenactionuiutils.h"
 #include "calendateutils.h"
 #include "calenagendautils.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "calendeleteuiTraces.h"
+#endif
 
 
 // Local constants
@@ -50,14 +54,14 @@
 //
 CalenDeleteUi* CalenDeleteUi::NewL( CCalenController& aController )
     {
-    TRACE_ENTRY_POINT;
-
+    OstTraceFunctionEntry0( CALENDELETEUI_NEWL_ENTRY );
+    
     CalenDeleteUi* self = new( ELeave ) CalenDeleteUi( aController, NULL );
     CleanupStack::PushL( self );
     self->ConstructL();
     CleanupStack::Pop( self );
 
-    TRACE_EXIT_POINT;
+    OstTraceFunctionExit0( CALENDELETEUI_NEWL_EXIT );
     return self;
     }
 
@@ -70,9 +74,11 @@
 CalenDeleteUi::CalenDeleteUi( CCalenController& aController, QObject *parent )
     :QObject(parent), iController( aController )
     {
-    TRACE_ENTRY_POINT;
+    OstTraceFunctionEntry0( CALENDELETEUI_CALENDELETEUI_ENTRY );
+    
     iIsDeleting = false;
-    TRACE_EXIT_POINT;
+    
+    OstTraceFunctionExit0( CALENDELETEUI_CALENDELETEUI_EXIT );
     }
 
 // ----------------------------------------------------------------------------
@@ -83,9 +89,9 @@
 //
 CalenDeleteUi::~CalenDeleteUi()
     {
-    TRACE_ENTRY_POINT;
-
-    TRACE_EXIT_POINT;
+    OstTraceFunctionEntry0( DUP1_CALENDELETEUI_CALENDELETEUI_ENTRY );
+    
+    OstTraceFunctionExit0( DUP1_CALENDELETEUI_CALENDELETEUI_EXIT );
     }
 
 // ----------------------------------------------------------------------------
@@ -96,12 +102,14 @@
 //
 void CalenDeleteUi::ConstructL()
     {
-    TRACE_ENTRY_POINT;
+    OstTraceFunctionEntry0( CALENDELETEUI_CONSTRUCTL_ENTRY );
+    
     iController.RegisterForNotificationsL( this, ECalenNotifyCancelDelete );
     iMoreEntriesToDelete = EFalse;
     iDisplayQuery = EFalse;
     iEntriesToDelete = KEntriesToDelete;
-    TRACE_EXIT_POINT;
+    
+    OstTraceFunctionExit0( CALENDELETEUI_CONSTRUCTL_EXIT );
     }
 
 // ----------------------------------------------------------------------------
@@ -112,7 +120,7 @@
 //
 void CalenDeleteUi::HandleNotification(const TCalenNotification aNotification )
     {
-    TRACE_ENTRY_POINT;
+    OstTraceFunctionEntry0( CALENDELETEUI_HANDLENOTIFICATION_ENTRY );
 
     if( aNotification == ECalenNotifyCancelDelete)
         {
@@ -125,7 +133,8 @@
            
             }
         }
-    TRACE_EXIT_POINT;
+    
+    OstTraceFunctionExit0( CALENDELETEUI_HANDLENOTIFICATION_EXIT );
     }
 
 // ----------------------------------------------------------------------------
@@ -136,7 +145,8 @@
 //
 TBool CalenDeleteUi::HandleCommandL( const TCalenCommand& aCommand )
     {
-    TRACE_ENTRY_POINT;
+    OstTraceFunctionEntry0( CALENDELETEUI_HANDLECOMMANDL_ENTRY );
+    
     TBool continueCommand(EFalse);
     
     switch( aCommand.Command() )
@@ -180,7 +190,7 @@
             break;
         }
         
-    TRACE_EXIT_POINT;
+    OstTraceFunctionExit0( CALENDELETEUI_HANDLECOMMANDL_EXIT );
     return continueCommand;
     }
 
@@ -193,7 +203,7 @@
 //
 void CalenDeleteUi::DeleteThisOrAllL( AgendaUtil::RecurrenceRange aRepeatType )
 {
-	TRACE_ENTRY_POINT;
+    OstTraceFunctionEntry0( CALENDELETEUI_DELETETHISORALLL_ENTRY );
 
 	if( iController.context().instanceId().mEntryLocalUid )
 	{
@@ -205,7 +215,8 @@
 			DeleteSingleInstanceL( instance, aRepeatType );
 		}
 	}
-	TRACE_EXIT_POINT;
+	
+	OstTraceFunctionExit0( CALENDELETEUI_DELETETHISORALLL_EXIT );
 }
 
 // ----------------------------------------------------------------------------
@@ -216,7 +227,8 @@
 //
 TBool CalenDeleteUi::DeleteEntryWithoutQueryL()
     {
-    TRACE_ENTRY_POINT;
+    OstTraceFunctionEntry0( CALENDELETEUI_DELETEENTRYWITHOUTQUERYL_ENTRY );
+    
 	bool continueCommand(EFalse);
     
 	// get the context
@@ -279,7 +291,7 @@
             iController.BroadcastNotification(ECalenNotifyDeleteFailed);    
             }
 	
-    TRACE_EXIT_POINT;
+    OstTraceFunctionExit0( CALENDELETEUI_DELETEENTRYWITHOUTQUERYL_EXIT );
     return continueCommand;
     }
 
@@ -291,8 +303,8 @@
 //
 void CalenDeleteUi::DeleteCurrentEntryL()
 {
-	TRACE_ENTRY_POINT;
-
+    OstTraceFunctionEntry0( CALENDELETEUI_DELETECURRENTENTRYL_ENTRY );
+    
 	// Make sure we're focused on an entry.
 	if (iController.context().instanceId().mEntryLocalUid) {
 		// Fetch the entry
@@ -310,6 +322,8 @@
 					// Show a confirmation note whether the user
 					// wants to delete the single instance or all of them
 					showRepeatingEntryDeleteQuery();
+				} else if (CalenAgendaUtils::isAlldayEvent(entry)) {
+					showDeleteQuery(EDeleteEvent);
 				} else {
 					// If the entry is not a repeating entry,
 					// delete it directly
@@ -318,7 +332,7 @@
 				}
 			}
 	}
-	TRACE_EXIT_POINT;
+	OstTraceFunctionExit0( CALENDELETEUI_DELETECURRENTENTRYL_EXIT );
 }
 
 // ----------------------------------------------------------------------------
@@ -329,11 +343,15 @@
 //
 void CalenDeleteUi::DeleteAllEntriesL()
     {
+    OstTraceFunctionEntry0( CALENDELETEUI_DELETEALLENTRIESL_ENTRY );
+    
 	if(iIsDeleting) {
+		OstTraceFunctionExit0( CALENDELETEUI_DELETEALLENTRIESL_EXIT );
 		return;
 	}
 
     showDeleteQuery(EDeleteAll );
+	OstTraceFunctionExit0( DUP1_CALENDELETEUI_DELETEALLENTRIESL_EXIT );
 	}
 
 // ----------------------------------------------------------------------------
@@ -344,13 +362,15 @@
 //
 void CalenDeleteUi::DeleteEntriesBeforeDateL()
     {
-    TRACE_ENTRY_POINT;
+    OstTraceFunctionEntry0( CALENDELETEUI_DELETEENTRIESBEFOREDATEL_ENTRY );
+    
 	if(iIsDeleting) {
+		OstTraceFunctionExit0( CALENDELETEUI_DELETEENTRIESBEFOREDATEL_EXIT );
 		return;
 	}    
     // launch the datepicker
     dateQuery();
-    TRACE_EXIT_POINT;
+    OstTraceFunctionExit0( DUP1_CALENDELETEUI_DELETEENTRIESBEFOREDATEL_EXIT );
     }
 
 // ----------------------------------------------------------------------------
@@ -361,6 +381,8 @@
 //
 void CalenDeleteUi::dateQuery()
 	{
+    OstTraceFunctionEntry0( CALENDELETEUI_DATEQUERY_ENTRY );
+    
 	// Create a popup with datepicker to select the date.
 	HbDialog *popUp = new HbDialog();
 	popUp->setDismissPolicy(HbDialog::NoDismiss);
@@ -380,12 +402,14 @@
 
 	popUp->setContentWidget(mDatePicker);  
 	mDeleteAction = new HbAction(
-						hbTrId("txt_calendar_button_dialog_delete"), popUp);
+						hbTrId("txt_common_button_delete"), popUp);
 	popUp->addAction(mDeleteAction);
 	mCancelAction = new HbAction(hbTrId("txt_common_button_cancel"),popUp);
 	popUp->addAction(mCancelAction);
 	// Show the popup
 	popUp->open(this, SLOT(handleDateQuery(HbAction*)));
+	
+	OstTraceFunctionExit0( CALENDELETEUI_DATEQUERY_EXIT );
 	}
 
 // ----------------------------------------------------------------------------
@@ -396,6 +420,8 @@
 //
 void CalenDeleteUi::handleDateQuery(HbAction* action)
 {
+    OstTraceFunctionEntry0( CALENDELETEUI_HANDLEDATEQUERY_ENTRY );
+    
 	if(action == mDeleteAction) {
 		// User selected the date before which all the entries has to be deleted
 		QDate selectedDate(mDatePicker->date());
@@ -428,6 +454,8 @@
 	// Reset the member variables
 	mDeleteAction = NULL;
 	mCancelAction = NULL;
+	
+	OstTraceFunctionExit0( CALENDELETEUI_HANDLEDATEQUERY_EXIT );
 }
 // ----------------------------------------------------------------------------
 // CalenDeleteUi::showRepeatingEntryDeleteQuery
@@ -437,6 +465,8 @@
 //
 void CalenDeleteUi::showRepeatingEntryDeleteQuery()
 {
+    OstTraceFunctionEntry0( CALENDELETEUI_SHOWREPEATINGENTRYDELETEQUERY_ENTRY );
+    
     HbDialog *popUp = new HbDialog();
     popUp->setDismissPolicy(HbDialog::NoDismiss);
     popUp->setTimeout(HbDialog::NoTimeout);
@@ -462,7 +492,7 @@
 
     // Add cancel action
     HbAction *cancelAction = new HbAction(
-							hbTrId("txt_calendar_button_softkey1_cancel"));
+							hbTrId("txt_common_button_cancel_singledialog"));
     popUp->addAction(cancelAction);
     connect(editButtonList, SIGNAL(itemSelected(int)), this,
 										SLOT(handleRepeatedEntryDelete(int)));
@@ -472,6 +502,8 @@
     
     // Show the popup
     popUp->open();
+    
+    OstTraceFunctionExit0( CALENDELETEUI_SHOWREPEATINGENTRYDELETEQUERY_EXIT );
 }
 
 // ----------------------------------------------------------------------------
@@ -482,11 +514,17 @@
 //
 void CalenDeleteUi::handleDeleteCancel()
 {
+    OstTraceFunctionEntry0( CALENDELETEUI_HANDLEDELETECANCEL_ENTRY );
+    
 	iController.BroadcastNotification(ECalenNotifyDeleteFailed);
+	
+	OstTraceFunctionExit0( CALENDELETEUI_HANDLEDELETECANCEL_EXIT );
 }
 
 void CalenDeleteUi::handleRepeatedEntryDelete(int index)
 {
+    OstTraceFunctionEntry0( CALENDELETEUI_HANDLEREPEATEDENTRYDELETE_ENTRY );
+    
 	// Fetch the entry
 	// Find all possible instances
 	AgendaEntry instance = CalenActionUiUtils::findPossibleInstanceL(
@@ -509,7 +547,10 @@
 									instance, AgendaUtil::ThisAndAll);
 				break;
 		}
+	}else {
+	    iController.BroadcastNotification(ECalenNotifyDeleteFailed);
 	}
+	OstTraceFunctionExit0( CALENDELETEUI_HANDLEREPEATEDENTRYDELETE_EXIT );
 }
 
 // ----------------------------------------------------------------------------
@@ -521,6 +562,8 @@
 void CalenDeleteUi::showDeleteQuery(const TDeleteConfirmationType type,
                                                      const int count)
     {
+    OstTraceFunctionEntry0( CALENDELETEUI_SHOWDELETEQUERY_ENTRY );
+    
     HbMessageBox *popup = new HbMessageBox(HbMessageBox::MessageTypeQuestion);
     popup->setDismissPolicy(HbDialog::NoDismiss);
     popup->setTimeout(HbDialog::NoTimeout);
@@ -551,6 +594,11 @@
             text.append(hbTrId("txt_calendar_info_delete_all_calendar_entries"));
             break;
             }
+        case EDeleteEvent:
+            {
+            text.append(hbTrId("txt_calendar_info_delete_allday_event"));
+            break;
+            }
         default:
             break;
         }
@@ -563,11 +611,13 @@
         popup->removeAction(list[i]);
         }
     mDeleteAction = new HbAction(
-						hbTrId("txt_calendar_button_dialog_delete"), popup);
+						hbTrId("txt_common_button_delete"), popup);
     popup->addAction(mDeleteAction);
-    mCancelAction = new HbAction(hbTrId("txt_calendar_button_cancel"), popup);
+    mCancelAction = new HbAction(hbTrId("txt_common_button_cancel"), popup); 
     popup->addAction(mCancelAction);
     popup->open(this, SLOT(handleDeletion(HbAction*)));
+    
+    OstTraceFunctionExit0( CALENDELETEUI_SHOWDELETEQUERY_EXIT );
     }
 
 // ----------------------------------------------------------------------------
@@ -578,6 +628,8 @@
 //
 void CalenDeleteUi::handleDeletion(HbAction* action)
 {
+    OstTraceFunctionEntry0( CALENDELETEUI_HANDLEDELETION_ENTRY );
+    
 	TCalenNotification notification = ECalenNotifyDeleteFailed;
 	
 	if(action == mDeleteAction) {
@@ -614,6 +666,8 @@
 						iController.Services().agendaInterface()->deleteRepeatedEntry( 
 								instance, mRecurrenceRange );
 					}
+				}else {
+				    iController.BroadcastNotification(ECalenNotifyDeleteFailed); 
 				}
 			}
 				break;
@@ -629,24 +683,31 @@
 				break;
 				
 		}
+	} else {
+		// If the user presses cancel button the notification will be
+		// ECalenNotifyDeleteFailed as default.
+		// Notify the status
+		iController.BroadcastNotification(notification);
 	}
-	// If the user presses cancel button the notification will be
-	// ECalenNotifyDeleteFailed as default.
-	// Notify the status
-	iController.BroadcastNotification(notification);
 	
 	// Reset the member variables
 	mDeleteAction = NULL;
 	mCancelAction = NULL;
+	
+	OstTraceFunctionExit0( CALENDELETEUI_HANDLEDELETION_EXIT );
 }
 
 void CalenDeleteUi::entryDeleted(ulong id)
 {
+    OstTraceFunctionEntry0( CALENDELETEUI_ENTRYDELETED_ENTRY );
+    
     if (iController.context().instanceId().mEntryLocalUid == id) {
         iController.BroadcastNotification(ECalenNotifyEntryDeleted);
     }
     disconnect(iController.Services().agendaInterface(), SIGNAL(entryDeleted(ulong)),
                this, SLOT(entryDeleted(ulong)));
+    
+    OstTraceFunctionExit0( CALENDELETEUI_ENTRYDELETED_EXIT );
 }
 
 // ----------------------------------------------------------------------------
@@ -659,16 +720,17 @@
                                                  const QDateTime& aLastDay,
                                                  int aConfNoteId )
     {
-    TRACE_ENTRY_POINT;
+    OstTraceFunctionEntry0( CALENDELETEUI_HANDLEDELETEMULTIPLEEVENTSL_ENTRY );
     
 	if(iIsDeleting) {
+		OstTraceFunctionExit0( CALENDELETEUI_HANDLEDELETEMULTIPLEEVENTSL_EXIT );
 		return;
 	}
     iConfirmationNoteId = aConfNoteId;
     
     DeleteDayRangeL( aFirstDay, aLastDay );
 
-    TRACE_EXIT_POINT;
+    OstTraceFunctionExit0( DUP1_CALENDELETEUI_HANDLEDELETEMULTIPLEEVENTSL_EXIT );
     }
 
 // ----------------------------------------------------------------------------
@@ -680,8 +742,8 @@
 void CalenDeleteUi::DeleteDayRangeL( const QDateTime& aStart,
                                                       const QDateTime& aEnd )
     {
-    TRACE_ENTRY_POINT;
-
+    OstTraceFunctionEntry0( CALENDELETEUI_DELETEDAYRANGEL_ENTRY );
+    
     iStartTime = aStart;
     iEndTime = aEnd;
     
@@ -696,11 +758,13 @@
     	                | AgendaUtil::IncludeAppointments
     	                | AgendaUtil::IncludeEvents
     	                | AgendaUtil::IncludeReminders
-    	                | AgendaUtil::IncludeIncompletedTodos);
+    	                | AgendaUtil::IncludeIncompletedTodos
+    	                | AgendaUtil::IncludeCompletedTodos
+    	                | AgendaUtil::IncludeAnniversaries);
     // 1: First pass, delete all entries.
     iController.agendaInterface()->deleteEntries(iStartTime, iEndTime, filter);
 
-    TRACE_EXIT_POINT;
+    OstTraceFunctionExit0( CALENDELETEUI_DELETEDAYRANGEL_EXIT );
     }
 
 // ----------------------------------------------------------------------------
@@ -711,7 +775,7 @@
 //
 void CalenDeleteUi::doCompleted( int aFirstPassError )
     {
-    TRACE_ENTRY_POINT;
+    OstTraceFunctionEntry0( CALENDELETEUI_DOCOMPLETED_ENTRY );
 
     if( aFirstPassError == KErrNone )
         {
@@ -727,7 +791,7 @@
     
     iController.BroadcastNotification( ECalenNotifyMultipleEntriesDeleted );
 
-    TRACE_EXIT_POINT;
+    OstTraceFunctionExit0( CALENDELETEUI_DOCOMPLETED_EXIT );
     }
 
 // ----------------------------------------------------------------------------
@@ -738,7 +802,7 @@
 //
 void CalenDeleteUi::deleteEntriesEndingAtMidnight( QDateTime aMidnight )
     {
-    TRACE_ENTRY_POINT;
+    OstTraceFunctionEntry0( CALENDELETEUI_DELETEENTRIESENDINGATMIDNIGHT_ENTRY );
 
     QDateTime start, end;
     QTime startTime(aMidnight.time());
@@ -773,7 +837,7 @@
             }
         }
 
-    TRACE_EXIT_POINT;
+    OstTraceFunctionExit0( CALENDELETEUI_DELETEENTRIESENDINGATMIDNIGHT_EXIT );
     }
 
 // -----------------------------------------------------------------------------
@@ -784,9 +848,11 @@
 //
 void CalenDeleteUi::DeleteSingleInstanceL( AgendaEntry& aInstance )
     {
-    TRACE_ENTRY_POINT;
+    OstTraceFunctionEntry0( CALENDELETEUI_DELETESINGLEINSTANCEL_ENTRY );
+    
     DoDeleteSingleInstanceL( aInstance, EFalse, AgendaUtil::ThisAndAll );
-    TRACE_EXIT_POINT;
+    
+    OstTraceFunctionExit0( CALENDELETEUI_DELETESINGLEINSTANCEL_EXIT );
     }
 
 // -----------------------------------------------------------------------------
@@ -798,10 +864,11 @@
 void CalenDeleteUi::DeleteSingleInstanceL( AgendaEntry& aInstance, 
                                 AgendaUtil::RecurrenceRange aRepeatType )
     {
-    TRACE_ENTRY_POINT;
+    OstTraceFunctionEntry0( DUP1_CALENDELETEUI_DELETESINGLEINSTANCEL_ENTRY );
+    
     DoDeleteSingleInstanceL( aInstance, ETrue, aRepeatType );
-    TRACE_EXIT_POINT;
     
+    OstTraceFunctionExit0( DUP1_CALENDELETEUI_DELETESINGLEINSTANCEL_EXIT );
     }
 
 // -----------------------------------------------------------------------------
@@ -818,7 +885,8 @@
 									bool aHasRepeatType,
 									AgendaUtil::RecurrenceRange aRepeatType )
 {
-	TRACE_ENTRY_POINT;
+    OstTraceFunctionEntry0( CALENDELETEUI_DODELETESINGLEINSTANCEL_ENTRY );
+    
 	bool repeating = aInstance.isRepeating();
 
 	if( !repeating ) {
@@ -846,7 +914,7 @@
 														EDeleteToDo :
 														EDeleteEntry );
 	}
-	TRACE_EXIT_POINT;
+	OstTraceFunctionExit0( CALENDELETEUI_DODELETESINGLEINSTANCEL_EXIT );
 }
 
 
@@ -859,7 +927,7 @@
 //
 void CalenDeleteUi::DialogDismissedL( const TInt /*aButtonId*/ )
     {
-    TRACE_ENTRY_POINT;
+    OstTraceFunctionEntry0( CALENDELETEUI_DIALOGDISMISSEDL_ENTRY );
     
     // no more entries to delete
     iMoreEntriesToDelete = EFalse;
@@ -867,7 +935,8 @@
     
     // issue notification cancel delete
     iController.BroadcastNotification(ECalenNotifyCancelDelete);
-    TRACE_EXIT_POINT;
+    
+    OstTraceFunctionExit0( CALENDELETEUI_DIALOGDISMISSEDL_EXIT );
     }
 
 // -----------------------------------------------------------------------------
@@ -877,11 +946,11 @@
 //
 void CalenDeleteUi::DeleteEntryL(ulong& aEntryLocalUid)
     {
-    TRACE_ENTRY_POINT;
+    OstTraceFunctionEntry0( CALENDELETEUI_DELETEENTRYL_ENTRY );
     
     iController.Services().agendaInterface()->deleteEntry(aEntryLocalUid);
     
-    TRACE_EXIT_POINT;
+    OstTraceFunctionExit0( CALENDELETEUI_DELETEENTRYL_EXIT );
     }
 
 // -----------------------------------------------------------------------------
@@ -891,8 +960,9 @@
 //
 void CalenDeleteUi::DisplayWaitDialogL()
     {
-    TRACE_ENTRY_POINT;   
-    TRACE_EXIT_POINT;
+    OstTraceFunctionEntry0( CALENDELETEUI_DISPLAYWAITDIALOGL_ENTRY );
+    
+    OstTraceFunctionExit0( CALENDELETEUI_DISPLAYWAITDIALOGL_EXIT );
     }
 
 // -----------------------------------------------------------------------------
@@ -902,11 +972,12 @@
 //
 void CalenDeleteUi::MarkedEntriesDeletedL()
     {
-    TRACE_ENTRY_POINT;    
+    OstTraceFunctionEntry0( CALENDELETEUI_MARKEDENTRIESDELETEDL_ENTRY );
+    
     // notify marked entries deleted
     iController.BroadcastNotification( ECalenNotifyMarkedEntryDeleted );
     
-    TRACE_EXIT_POINT;
+    OstTraceFunctionExit0( CALENDELETEUI_MARKEDENTRIESDELETEDL_EXIT );
     }
 
 // End of File