201037
authorhgs
Mon, 20 Sep 2010 12:44:39 +0530
changeset 75 7ac58b2aae6f
parent 72 27feeedec790
child 79 6ff09f16627b
child 81 ce92091cbd61
201037
agendainterface/inc/CleanupResetAndDestroy.h
agendainterface/inc/CleanupResetAndDestroy.inl
calendarui/application/src/calenserviceprovider.cpp
calendarui/caleneditor/caleneditor.pro
calendarui/caleneditor/inc/caleneditor_p.h
calendarui/caleneditor/inc/caleneditorcustomitem.h
calendarui/caleneditor/inc/caleneditorreminderfield.h
calendarui/caleneditor/inc/caleneditorrepeatfield.h
calendarui/caleneditor/src/caleneditor_p.cpp
calendarui/caleneditor/src/caleneditorcustomitem.cpp
calendarui/caleneditor/src/caleneditorreminderfield.cpp
calendarui/caleneditor/src/caleneditorrepeatfield.cpp
calendarui/caleneditor/traces/OstTraceDefinitions.h
calendarui/caleneditor/traces/caleneditorTraces.h
calendarui/caleneditor/traces/caleneditor_pTraces.h
calendarui/caleneditor/traces/caleneditorcustomitemTraces.h
calendarui/caleneditor/traces/caleneditordatahandlerTraces.h
calendarui/caleneditor/traces/caleneditordocloaderTraces.h
calendarui/caleneditor/traces/caleneditorreminderfieldTraces.h
calendarui/caleneditor/traces/caleneditorrepeatfieldTraces.h
calendarui/caleneditor/traces/fixed_id.definitions
calendarui/commonutils/bwins/calencommonutilsu.def
calendarui/commonutils/eabi/calencommonutilsu.def
calendarui/commonutils/inc/calendateutils.h
calendarui/commonutils/src/calendateutils.cpp
calendarui/controller/inc/calendeleteui.h
calendarui/controller/src/calendeleteui.cpp
calendarui/controller/src/calenviewmanager.cpp
calendarui/inc/calendateutils.h
calendarui/regionalplugins/calenregionalutil/src/calenextrarowformatter.cpp
calendarui/regionalplugins/calenregionalutil/src/calenlunarlocalizer.cpp
calendarui/settings/src/calensettings.cpp
calendarui/views/bwins/calenviewsu.def
calendarui/views/dayview/inc/calendaycontentwidget.h
calendarui/views/dayview/inc/calendayitemview.h
calendarui/views/dayview/inc/calendayview.h
calendarui/views/dayview/src/calendaycontentwidget.cpp
calendarui/views/dayview/src/calendayitemview.cpp
calendarui/views/dayview/src/calendayview.cpp
calendarui/views/dayview/tsrc/unittests/unittest_calendaycontentwidget/calendaycontentwidgetheaders.h
calendarui/views/dayview/tsrc/unittests/unittest_calendaycontentwidget/calendayitemview.h
calendarui/views/dayview/tsrc/unittests/unittest_calendaycontentwidget/calendaymodelmanager.h
calendarui/views/dayview/tsrc/unittests/unittest_calendaycontentwidget/unittest_calendaycontentwidget.cpp
calendarui/views/dayview/tsrc/unittests/unittest_calendaycontentwidget/unittest_calendaycontentwidget.pro
calendarui/views/dayview/tsrc/unittests/unittest_calendayutils/HbDeviceProfile
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calencontext.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calendateutils.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calendaycontentwidget.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calendayinfo.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calendaymodel.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calendayutils.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calennativeview.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calennotificationhandler.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calenservices.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/hb_calencommands.hrh
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/unittest_calendayview.cpp
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/unittest_calendayview.pro
calendarui/views/eabi/calenviewsu.def
calendarui/views/inc/calenmonthgrid.h
calendarui/views/inc/calennativeview.h
calendarui/views/inc/calenthicklinesdrawer.h
calendarui/views/resources/caleneventlistviewitem.css
calendarui/views/src/calenagendaview.cpp
calendarui/views/src/calenagendaviewwidget.cpp
calendarui/views/src/calenmonthgrid.cpp
calendarui/views/src/calenmonthview.cpp
calendarui/views/src/calennativeview.cpp
calendarui/views/src/calenpreviewpane.cpp
calendarui/views/src/calenthicklinesdrawer.cpp
calendarui/views/traces/calenmonthgridTraces.h
calendarui/views/traces/calennativeviewTraces.h
calendarui/views/traces/fixed_id.definitions
clock/clockmw/clocksettingsutility/clocksettingsutility.pro
clock/clockmw/clocksettingsutility/inc/settingsutility.h
clock/clockmw/clocksettingsutility/src/settingsutility.cpp
clock/clockui/clockalarmeditor/src/clockalarmeditor.cpp
clock/clockui/clocksettingsview/inc/clocksettingsview.h
clock/clockui/clocksettingsview/src/clocksettingsview.cpp
clock/clockui/clockviews/clockviews.pro
clock/clockui/clockviews/data/style/clockalarmlistitemprototype.css
clock/clockui/clockviews/data/style/clockalarmlistitemprototype.widgetml
clock/clockui/clockviews/inc/clockmainview.h
clock/clockui/clockviews/src/clockalarmlistmodel.cpp
clock/clockui/clockviews/src/clockmainview.cpp
clock/clockui/clockviews/src/clockworldview.cpp
clock/clockui/clockviews/traces/OstTraceDefinitions.h
clock/clockui/clockviews/traces/clockalarmlistitemprototypeTraces.h
clock/clockui/clockviews/traces/clockalarmlistmodelTraces.h
clock/clockui/clockviews/traces/clockhomecityitemTraces.h
clock/clockui/clockviews/traces/clockmainviewTraces.h
clock/clockui/clockviews/traces/clockworldviewTraces.h
clock/clockui/clockviews/traces/fixed_id.definitions
clock/conf/clockapp.confml
clock/conf/clockapp_101F874D.crml
layers.sysdef.xml
notes/notesui/notesmodel/src/notesmodel.cpp
notes/notesui/notesviews/src/notesmainview.cpp
notes/notesui/notesviews/src/notestodoview.cpp
organizer_plat/calendar_launcher_api/inc/calenlauncher.h
organizer_plat/clock_settings_keys_api/inc/clockdomaincrkeys.h
package_definition.xml
--- a/agendainterface/inc/CleanupResetAndDestroy.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/agendainterface/inc/CleanupResetAndDestroy.h	Mon Sep 20 12:44:39 2010 +0530
@@ -1,10 +1,10 @@
 /*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of the License "Symbian Foundation License v1.0"
+* under the terms of "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
-* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
 * Initial Contributors:
 * Nokia Corporation - initial contribution.
@@ -12,15 +12,14 @@
 * Contributors:
 *
 * Description:   Provides cleanup item to push ResetAndDestroy calls to 
- *                cleanup stack. It is heavily used for RPointerArrays,
- *                which are used all over Symbian's CalenInterimAPI.
- *                Implementation is more or less copy-paste of
- *                cleanup item of Close method and CleanupClosePushL 
- *
+*                cleanup stack. It is heavily used for RPointerArrays,
+*                which are used all over Symbian's CalenInterimAPI.
+*                Implementation is more or less copy-paste of
+*                cleanup item of Close method and CleanupClosePushL 
+*
 */
 
 
-
 #ifndef __CLEANUPRESETANDDESTROY_H__
 #define __CLEANUPRESETANDDESTROY_H__
 
--- a/agendainterface/inc/CleanupResetAndDestroy.inl	Mon Sep 06 15:58:44 2010 +0530
+++ b/agendainterface/inc/CleanupResetAndDestroy.inl	Mon Sep 20 12:44:39 2010 +0530
@@ -1,10 +1,10 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
-* under the terms of the License "Symbian Foundation License v1.0"
+* under the terms of "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
-* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
 * Initial Contributors:
 * Nokia Corporation - initial contribution.
@@ -15,7 +15,7 @@
 *                cleanup stack. It is heavily used for RPointerArrays,
 *                which are used all over Symbian's CalenInterimAPI.
 *                Implementation is more or less copy-paste of
-*                cleanup item of Close method and CleanupClosePushL   
+*                cleanup item of Close method and CleanupClosePushL  
 *
 */
 
--- a/calendarui/application/src/calenserviceprovider.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/application/src/calenserviceprovider.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -48,6 +48,10 @@
 			// Launch the agenda view
 			mController->handleServiceManagerSlot(ECalenAgendaView, date);
 			break;
+		case CalenLauncher::DayView:
+	    // Launch the day view
+	    mController->handleServiceManagerSlot(ECalenDayView, date);
+	    break;
 		default:
 			// Keep Quiet
 			break;
--- a/calendarui/caleneditor/caleneditor.pro	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/caleneditor/caleneditor.pro	Mon Sep 20 12:44:39 2010 +0530
@@ -36,7 +36,8 @@
 	LIBS += -lagendainterface \
 			-lcalencommonutils \
                         -lxqservice \
-			-lcalenlauncher
+			-lcalenlauncher \
+			-lbafl
 			
 	INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
 }
@@ -57,7 +58,7 @@
             caleneditorreminderfield.h \
             caleneditorrepeatfield.h \
             caleneditordatahandler.h
-            
+         
 RESOURCES += caleneditor.qrc
 
 TRANSLATIONS += caleneditor.ts
--- a/calendarui/caleneditor/inc/caleneditor_p.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/caleneditor/inc/caleneditor_p.h	Mon Sep 20 12:44:39 2010 +0530
@@ -28,6 +28,7 @@
 //user includes
 #include <AgendaEntry>
 #include <caleneditor.h>
+#include "calennotificationhandler.h"
 
 #include "caleneditorcommon.h"
 
@@ -52,6 +53,7 @@
 class CalenEditorReminderField;
 class CalenEditorRepeatField;
 class CalenEditorDataHandler;
+class CEnvironmentChangeNotifier;		// Receive system event notifications
 
 // Constants
 const int KNoOfDaysInWeek = 7;
@@ -116,6 +118,16 @@
 	bool isEditRangeThisOnly();
 	bool isAllDayFieldAdded();
 	void forcedSaveEntry();
+
+	/**
+	 * Called from CEnvironmentChangeNotifier when the
+	 * system environment changes
+	 * @param aThisPtr self pointer
+	 * @return EFalse
+	 */
+	static TInt EnvChangeCallbackL( TAny* aThisPtr );
+	TInt DoEnvChange();
+	
 private:
 	void edit(const QFile &handle, bool launchCalendar);
 	void edit(AgendaEntry entry, bool launchCalendar);
@@ -157,6 +169,7 @@
 	void enableFromTotimeFileds(bool, QDateTime, QDateTime);
 	QDateTime defaultTimeSameDay( );
 	void refreshTimeForUncheckAllDay();
+	void launchDialog(QString title);
 	
 private slots:
 	void handleSubjectChange(const QString subject);
@@ -229,7 +242,10 @@
 	bool mOwnsAgendaUtil;
 	bool mLaunchCalendar;
 	bool mMenuItemAdded;
-	
+
+	// Notifications about locale and time changes
+	CEnvironmentChangeNotifier* iEnvChangeNotifier;
+	bool iIgnoreFirstLocaleChange;
 private:
 	friend class CalenEditor;
 #ifdef TESTCALENEDITOR
--- a/calendarui/caleneditor/inc/caleneditorcustomitem.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/caleneditor/inc/caleneditorcustomitem.h	Mon Sep 20 12:44:39 2010 +0530
@@ -88,8 +88,8 @@
 	HbPushButton *mRepeatUntilWidget;
 	HbPushButton *mReminderTimeWidget;
 
-	HbDateTimePicker *mDatePicker;
-	HbDateTimePicker *mTimePicker;
+	QPointer<HbDateTimePicker> mDatePicker;
+	QPointer<HbDateTimePicker> mTimePicker;
 
 	HbExtendedLocale mLocale;
 	
--- a/calendarui/caleneditor/inc/caleneditorreminderfield.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/caleneditor/inc/caleneditorreminderfield.h	Mon Sep 20 12:44:39 2010 +0530
@@ -91,7 +91,7 @@
 	HbDataFormModel* mCalenEditorModel;
 	HbDataFormModelItem* mReminderItem;
 	HbDataFormModelItem *mCustomReminderTimeItem;
-	HbDateTimePicker *mTimePicker;
+	QPointer<HbDateTimePicker> mTimePicker;
 	QTime mReminderTimeForAllDay;
 	QHash<int, int> mReminderHash;
 	bool mReminderTimeAdded;
--- a/calendarui/caleneditor/inc/caleneditorrepeatfield.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/caleneditor/inc/caleneditorrepeatfield.h	Mon Sep 20 12:44:39 2010 +0530
@@ -53,7 +53,8 @@
 	void updateRepeatChoices();
 	void saveRepeatRule();
 	bool isRepeatUntilItemAdded();
-	QDate repeatUntilDate();          
+	QDate repeatUntilDate();
+	void refreshRepeatUntilDate();
 
 private:
 	void insertRepeatUntilItem();
@@ -88,7 +89,7 @@
 	HbDataFormModelItem* mRepeatItem;
 	HbComboBox *mRepeatComboBox;
 	HbDataFormModelItem *mCustomRepeatUntilItem;
-	HbDateTimePicker* mDatePicker;
+	QPointer<HbDateTimePicker> mDatePicker;
 	QDate mRepeatUntilDate;
 	AgendaRepeatRule::RuleType mRepeatRuleType;
 	int mRepeatRoleValue;
--- a/calendarui/caleneditor/src/caleneditor_p.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/caleneditor/src/caleneditor_p.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -21,6 +21,9 @@
 #include <QGraphicsLinearLayout>
 #include <QApplication>
 
+#include <bacntf.h>                   // CEnvironmentChangeNotifier
+#include <coemain.h>                  // EActivePriorityLogonA
+
 #include <hbdataform.h>
 #include <hbmainwindow.h>
 #include <hbinstance.h>
@@ -233,6 +236,16 @@
 		mAgendaUtil = agendaUtil;
 		mOwnsAgendaUtil = false;
 	}
+
+	// Register for system environment changes
+	// TODO: these are temporary changes done in symbian way
+	// till we get proper QT support to listem for locale changes
+	TCallBack envCallback( EnvChangeCallbackL, this );
+	iEnvChangeNotifier =
+			CEnvironmentChangeNotifier::NewL( EActivePriorityLogonA, envCallback );
+	iEnvChangeNotifier->Start();
+	iIgnoreFirstLocaleChange = ETrue;
+	
 	OstTraceFunctionExit0( CALENEDITORPRIVATE_CALENEDITORPRIVATE_EXIT );
 }
 
@@ -285,6 +298,13 @@
 		delete mMainWindow;
 		mMainWindow = 0;
 	}
+
+	if(iEnvChangeNotifier) {
+		iEnvChangeNotifier->Cancel();
+		delete iEnvChangeNotifier;
+		iEnvChangeNotifier = 0;
+	}
+	
 	OstTraceFunctionExit0( DUP1_CALENEDITORPRIVATE_CALENEDITORPRIVATE_EXIT );
 }
 
@@ -556,7 +576,10 @@
 
 	mCalenEditorForm = qobject_cast<HbDataForm *> (
 							mEditorDocLoader->findWidget(CALEN_EDITOR_DATAFORM));
-
+	
+    // Enable the pixmap cache for better scrolling performance
+	mCalenEditorForm->setItemPixmapCacheEnabled(true);
+	    
 	mDescriptionAction = qobject_cast<HbAction *> (
 							mEditorDocLoader->findObject(
 										CALEN_EDITOR_ADD_DESCRIPTION_ACTION));
@@ -1807,6 +1830,18 @@
 }
 
 /*!
+	Launch the notification dialog popup.
+ */
+void CalenEditorPrivate::launchDialog(QString title)
+{
+	OstTraceFunctionEntry0( CALENEDITORPRIVATE_LAUNCHDIALOG_ENTRY );
+	HbNotificationDialog *notificationDialog = new HbNotificationDialog();
+	notificationDialog->setTitle(title);
+	notificationDialog->setTimeout(HbPopup::ConfirmationNoteTimeout);
+	notificationDialog->show();
+	OstTraceFunctionExit0( CALENEDITORPRIVATE_LAUNCHDIALOG_EXIT );
+}
+/*!
 	Save the entry
 	\return true if entry is saved ,false otherwise
  */
@@ -1826,15 +1861,15 @@
 	}
 	if (mNewEntry) {
 		if(mEditedEntry->type() == AgendaEntry::TypeAppoinment) {
-			HbNotificationDialog::launchDialog(hbTrId("txt_calendar_dpopinfo_new_meeting_saved"));
+			launchDialog(hbTrId("txt_calendar_dpopinfo_new_meeting_saved"));
 		} else if(isAllDayEvent()) {
-			HbNotificationDialog::launchDialog(hbTrId("txt_calendar_dpopinfo_new_all_day_event_saved"));
+			launchDialog(hbTrId("txt_calendar_dpopinfo_new_all_day_event_saved"));
 		}
 	} else {
 		if(mEditedEntry->type() == AgendaEntry::TypeAppoinment) {
-			HbNotificationDialog::launchDialog(hbTrId("txt_calendar_dpopinfo_meeting_updated"));
+			launchDialog(hbTrId("txt_calendar_dpopinfo_meeting_updated"));
 		} else if(isAllDayEvent()) {
-			HbNotificationDialog::launchDialog(hbTrId("txt_calendar_dpopinfo_all_day_event_updated"));
+			launchDialog(hbTrId("txt_calendar_dpopinfo_all_day_event_updated"));
 		}
 	}
 	emit q_ptr->entrySaved();
@@ -2116,4 +2151,46 @@
     }
     OstTraceFunctionExit0( CALENEDITORPRIVATE_FORCEDSAVEENTRY_EXIT );
 }
+
+
+// ----------------------------------------------------------------------------
+//  CCalenNotifier::EnvChangeCallbackL
+//  CEnvironmentChangeNotifier callback.  Calendar is only interested in:
+//  EChangesLocale              - System locale changed
+//  EChangesMidnightCrossover   - System time passed midnight
+//  EChangesSystemTime          - System time changed
+// (other items were commented in a header).
+// ----------------------------------------------------------------------------
+//
+TInt CalenEditorPrivate::EnvChangeCallbackL( TAny* aThisPtr )
+{
+    // Return value for functions used as TCallBack objects should be EFalse
+    // unless the function is intended to be called again from a timer.
+   // return EFalse;
+    return static_cast<CalenEditorPrivate*>(aThisPtr)->DoEnvChange();
+}
+// ----------------------------------------------------------------------------
+//  CCalenNotifier::DoEnvChange
+//  EnvChangeCallbackL calls this function
+// ----------------------------------------------------------------------------
+//
+TInt CalenEditorPrivate::DoEnvChange()
+{
+    if( iEnvChangeNotifier && (iEnvChangeNotifier->Change() & EChangesLocale)
+            && !iIgnoreFirstLocaleChange) {
+        mViewFromItem->populateDateTime(mEditedEntry->startTime(), true);
+        mViewToItem->populateDateTime(mEditedEntry->endTime(), false);
+        if (isAllDayEvent()) {
+        	mReminderField->setDisplayTime();
+        }
+        if (mRepeatField->isRepeatUntilItemAdded()) {
+        	mRepeatField->refreshRepeatUntilDate();
+        }
+    }
+    else {
+        iIgnoreFirstLocaleChange = EFalse;
+    }
+    return EFalse ;
+}
+
 // End of file	--Don't remove this.
--- a/calendarui/caleneditor/src/caleneditorcustomitem.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/caleneditor/src/caleneditorcustomitem.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -339,6 +339,22 @@
 												r_qtn_date_usual_with_zero));
 	mPushButtonTime->setText(mLocale.format(defaultDateTime.time(), 
 												r_qtn_time_usual_with_zero));
+												
+	// If the date/time pickers for start date/end date are open and 
+	// locale changes happen, we need to refresh them with proper date/time formats
+	if(!(mDatePicker.isNull())) {
+		mDatePicker->setDisplayFormat(CalenDateUtils::dateFormatString());
+		mDatePicker->setDate(mDate);
+	}
+	if(!(mTimePicker.isNull())) {
+		if(mLocale.timeStyle() == HbExtendedLocale::Time12) {
+			mTimePicker->setDisplayFormat("hh:mm ap");	
+		}else {
+			mTimePicker->setDisplayFormat("hh:mm");
+		}
+		mTimePicker->setTime(mTime);
+	}
+		
 	OstTraceFunctionExit0( CALENEDITORCUSTOMITEM_POPULATEDATETIME_EXIT );
 }
 
@@ -440,6 +456,7 @@
 	mDatePicker = new HbDateTimePicker(mDate, popUp);
 	mDatePicker->setMinimumDate(mMinDate);
 	mDatePicker->setMaximumDate(mMaxDate);
+	mDatePicker->setDisplayFormat(CalenDateUtils::dateFormatString());
 	mDatePicker->setDate(mDate);
 	popUp->setContentWidget(mDatePicker);
 	HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok"), popUp);
--- a/calendarui/caleneditor/src/caleneditorreminderfield.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/caleneditor/src/caleneditorreminderfield.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -59,6 +59,7 @@
 	 mEditorForm(form), 
 	 mCalenEditorModel(model),
 	 mCustomReminderTimeItem(0),
+	 mTimePicker(0),
 	 mReminderTimeAdded(false)
 {
 	OstTraceFunctionEntry0( CALENEDITORREMINDERFIELD_CALENEDITORREMINDERFIELD_ENTRY );
@@ -245,8 +246,10 @@
 			if (!repeatingEntry && sameDay && (currentTime.addSecs(offsetInMins * 60) >= mCalenEditor->editedEntry()->startTime().time())) {
 				setCurrentIndex(ReminderOff); //Alarm has expired already, so making it off.
 				//The slot for index 0 is not called, since after UpdateReminderChoicesForSameDay()
-				//index is 0 itself and there is no change. So explicitly calling it here.
-				handleReminderIndexChanged(0); 
+				//index is 0 itself and there is no change. So explicitly setting the reminder here.
+				reminder.setTimeOffset(mReminderHash.value(ReminderOff));
+				reminder.setAlarmSoundName(QString(" "));
+				mCalenEditor->editedEntry()->setAlarm(reminder);
 			}
 			else {
 				setSavedMeetingReminderIndex();
@@ -710,6 +713,17 @@
 			mReminderTimeForAllDay,
 			r_qtn_time_usual_with_zero);
 	mCustomReminderTimeItem->setContentWidgetData("text", timeString);
+	
+	// If the reminder time picker is open and locale changes happen,
+	// we need to refresh them dynamically with proper time formats
+	if(!(mTimePicker.isNull())) {
+		if(locale.timeStyle() == HbExtendedLocale::Time12) {
+			mTimePicker->setDisplayFormat("hh:mm ap");	
+		}else {
+			mTimePicker->setDisplayFormat("hh:mm");
+		}
+		mTimePicker->setTime(mReminderTimeForAllDay);
+	}
 	OstTraceFunctionExit0( CALENEDITORREMINDERFIELD_SETDISPLAYTIME_EXIT );
 }
 
--- a/calendarui/caleneditor/src/caleneditorrepeatfield.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/caleneditor/src/caleneditorrepeatfield.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -96,6 +96,7 @@
 	mRepeatItem(0),
 	mRepeatComboBox(0),
 	mCustomRepeatUntilItem(0),
+	mDatePicker(0),
 	mRepeatRoleValue(0),
 	mIsBiWeekly(false),
 	mIsWorkdays(false),
@@ -489,6 +490,7 @@
 void CalenEditorRepeatField::launchRepeatUntilDatePicker()
 {
 	OstTraceFunctionEntry0( CALENEDITORREPEATFIELD_LAUNCHREPEATUNTILDATEPICKER_ENTRY );
+	QDate minDate;
 	HbDialog *popUp = new HbDialog();
 	// Set the parent for the dialog
 	// Once the parent object is deleted the dialog will also be deleted
@@ -502,36 +504,26 @@
 	if (mDatePicker) {
 		mDatePicker = 0;
 	}
+	mDatePicker = new HbDateTimePicker(mRepeatUntilDate, popUp);
+
 	if (mRepeatRuleType == AgendaRepeatRule::DailyRule) {
-		QDate minDate = mCalenEditor->editedEntry()->endTime().date().addDays(1);
-		mDatePicker = new HbDateTimePicker(mRepeatUntilDate, popUp);
-		mDatePicker->setMinimumDate(minDate);
-		mDatePicker->setMaximumDate(CalenDateUtils::maxTime().date());
-		mDatePicker->setDate(mRepeatUntilDate);
+		minDate = mCalenEditor->editedEntry()->endTime().date().addDays(1);
 	} else if (mRepeatRuleType == AgendaRepeatRule::WeeklyRule) {
-		QDate minDate;
 		if (!mIsBiWeekly || mIsWorkdays) {
 			minDate = mCalenEditor->editedEntry()->endTime().date().addDays(7);
 		} else {
 			minDate = mCalenEditor->editedEntry()->endTime().date().addDays(14);
 		}
-		mDatePicker = new HbDateTimePicker(mRepeatUntilDate, popUp);
-		mDatePicker->setMinimumDate(minDate);
-		mDatePicker->setMaximumDate(CalenDateUtils::maxTime().date());
-		mDatePicker->setDate(mRepeatUntilDate);
 	} else if (mRepeatRuleType == AgendaRepeatRule::MonthlyRule) {
-		QDate minDate = mCalenEditor->editedEntry()->endTime().date().addMonths(1);
-		mDatePicker = new HbDateTimePicker(mRepeatUntilDate, popUp);
-		mDatePicker->setMinimumDate(minDate);
-		mDatePicker->setMaximumDate(CalenDateUtils::maxTime().date());
-		mDatePicker->setDate(mRepeatUntilDate);
+		minDate = mCalenEditor->editedEntry()->endTime().date().addMonths(1);
 	} else if (mRepeatRuleType == AgendaRepeatRule::YearlyRule) {
-		QDate minDate = mCalenEditor->editedEntry()->endTime().date().addYears(1);
-		mDatePicker = new HbDateTimePicker(mRepeatUntilDate, popUp);
-		mDatePicker->setMinimumDate(minDate);
-		mDatePicker->setMaximumDate(CalenDateUtils::maxTime().date());
-		mDatePicker->setDate(mRepeatUntilDate);
+		minDate = mCalenEditor->editedEntry()->endTime().date().addYears(1);
 	}
+	
+	mDatePicker->setMinimumDate(minDate);
+	mDatePicker->setMaximumDate(CalenDateUtils::maxTime().date());
+	mDatePicker->setDisplayFormat(CalenDateUtils::dateFormatString());
+	mDatePicker->setDate(mRepeatUntilDate);
 	popUp->setContentWidget(mDatePicker);
 	
 	HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok"));
@@ -543,6 +535,21 @@
 }
 
 /*!
+	Refreshes the repeat until date picker when locale with proper date format
+ */
+void CalenEditorRepeatField::refreshRepeatUntilDate()
+{
+	HbExtendedLocale locale = HbExtendedLocale::system();
+        QString dateString = locale.format(mRepeatUntilDate,
+                                r_qtn_date_usual_with_zero);
+        mCustomRepeatUntilItem->setContentWidgetData("text", dateString);
+     
+        if(!(mDatePicker.isNull())) {
+		mDatePicker->setDisplayFormat(CalenDateUtils::dateFormatString());
+		mDatePicker->setDate(mRepeatUntilDate);
+	}
+}
+/*!
 	Sets the repeat until date on the repeat until item
  */
 void CalenEditorRepeatField::setRepeatUntilDate()
@@ -550,13 +557,9 @@
 	OstTraceFunctionEntry0( CALENEDITORREPEATFIELD_SETREPEATUNTILDATE_ENTRY );
 	//Get the previous date which was set
 	QDate previousDate = mRepeatUntilDate;
-	mRepeatUntilDate = mDatePicker->date();
-	if (mRepeatUntilDate.isValid()) {
-		HbExtendedLocale locale = HbExtendedLocale::system();
-		QString dateString = locale.format(mRepeatUntilDate,
-									r_qtn_date_usual_with_zero);
-		mCustomRepeatUntilItem->setContentWidgetData("text", dateString);
-	}
+	 mRepeatUntilDate = mDatePicker->date();
+         if (mRepeatUntilDate.isValid()) 
+		refreshRepeatUntilDate();
 	mCalenEditor->updateReminderChoices();
 	// If the entry's  repeatuntil date is changed from past to a future date
 	// And if the alarm set set is off 
--- a/calendarui/caleneditor/traces/OstTraceDefinitions.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/caleneditor/traces/OstTraceDefinitions.h	Mon Sep 20 12:44:39 2010 +0530
@@ -1,3 +1,20 @@
+/*
+* This is Default Licence added by TraceCompiler
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
 #ifndef __OSTTRACEDEFINITIONS_H__
 #define __OSTTRACEDEFINITIONS_H__
 // OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
--- a/calendarui/caleneditor/traces/caleneditorTraces.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/caleneditor/traces/caleneditorTraces.h	Mon Sep 20 12:44:39 2010 +0530
@@ -1,4 +1,21 @@
-// Created by TraceCompiler 2.2.3
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Definition of CalenEditor class.
+*
+*/
+// Created by TraceCompiler 2.2.4
 // DO NOT EDIT, CHANGES WILL BE LOST
 
 #ifndef __CALENEDITORTRACES_H__
--- a/calendarui/caleneditor/traces/caleneditor_pTraces.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/caleneditor/traces/caleneditor_pTraces.h	Mon Sep 20 12:44:39 2010 +0530
@@ -1,4 +1,20 @@
-// Created by TraceCompiler 2.2.3
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors: 
+ *
+ * Description: Definition file for class CalenEditorPrivate.
+ *
+ */
+// Created by TraceCompiler 2.2.4
 // DO NOT EDIT, CHANGES WILL BE LOST
 
 #ifndef __CALENEDITOR_PTRACES_H__
@@ -158,6 +174,8 @@
 #define CALENEDITORPRIVATE_GETREMINDERCOUNT_ENTRY 0x8a015e
 #define CALENEDITORPRIVATE_FORCEDSAVEENTRY_ENTRY 0x8a015f
 #define CALENEDITORPRIVATE_FORCEDSAVEENTRY_EXIT 0x8a0160
+#define CALENEDITORPRIVATE_LAUNCHDIALOG_ENTRY 0x8a0169
+#define CALENEDITORPRIVATE_LAUNCHDIALOG_EXIT 0x8a016a
 
 
 #endif
--- a/calendarui/caleneditor/traces/caleneditorcustomitemTraces.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/caleneditor/traces/caleneditorcustomitemTraces.h	Mon Sep 20 12:44:39 2010 +0530
@@ -1,4 +1,20 @@
-// Created by TraceCompiler 2.2.3
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors: 
+ *
+ * Description: Definition file for class CalenEditorCustomItem.
+ *
+ */
+// Created by TraceCompiler 2.2.4
 // DO NOT EDIT, CHANGES WILL BE LOST
 
 #ifndef __CALENEDITORCUSTOMITEMTRACES_H__
--- a/calendarui/caleneditor/traces/caleneditordatahandlerTraces.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/caleneditor/traces/caleneditordatahandlerTraces.h	Mon Sep 20 12:44:39 2010 +0530
@@ -1,4 +1,21 @@
-// Created by TraceCompiler 2.2.3
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Definition of CalenEditorDataHandler class.
+*
+*/
+// Created by TraceCompiler 2.2.4
 // DO NOT EDIT, CHANGES WILL BE LOST
 
 #ifndef __CALENEDITORDATAHANDLERTRACES_H__
--- a/calendarui/caleneditor/traces/caleneditordocloaderTraces.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/caleneditor/traces/caleneditordocloaderTraces.h	Mon Sep 20 12:44:39 2010 +0530
@@ -1,4 +1,20 @@
-// Created by TraceCompiler 2.2.3
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors: 
+ *
+ * Description: Definition file for class CalenEditorDocLoader.
+ *
+ */
+// Created by TraceCompiler 2.2.4
 // DO NOT EDIT, CHANGES WILL BE LOST
 
 #ifndef __CALENEDITORDOCLOADERTRACES_H__
--- a/calendarui/caleneditor/traces/caleneditorreminderfieldTraces.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/caleneditor/traces/caleneditorreminderfieldTraces.h	Mon Sep 20 12:44:39 2010 +0530
@@ -1,4 +1,21 @@
-// Created by TraceCompiler 2.2.3
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Definition of CalenEditorReminderField class.
+*
+*/
+// Created by TraceCompiler 2.2.4
 // DO NOT EDIT, CHANGES WILL BE LOST
 
 #ifndef __CALENEDITORREMINDERFIELDTRACES_H__
--- a/calendarui/caleneditor/traces/caleneditorrepeatfieldTraces.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/caleneditor/traces/caleneditorrepeatfieldTraces.h	Mon Sep 20 12:44:39 2010 +0530
@@ -1,4 +1,21 @@
-// Created by TraceCompiler 2.2.3
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Definition of CalenEditorRepeatField class.
+*
+*/
+// Created by TraceCompiler 2.2.4
 // DO NOT EDIT, CHANGES WILL BE LOST
 
 #ifndef __CALENEDITORREPEATFIELDTRACES_H__
--- a/calendarui/caleneditor/traces/fixed_id.definitions	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/caleneditor/traces/fixed_id.definitions	Mon Sep 20 12:44:39 2010 +0530
@@ -1,3 +1,20 @@
+##
+# This is Default Licence added by TraceCompiler
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+##
 #Fixed group and trace id definitions. If this file is removed, the identifiers are rebuilt.
 [GROUP]TRACE_FLOW=0x8a
 [TRACE]TRACE_FLOW[0x8A]_CALENEDITORCUSTOMITEM_CALENEDITORCUSTOMITEM_ENTRY=0x9f
@@ -161,6 +178,8 @@
 [TRACE]TRACE_FLOW[0x8A]_CALENEDITORPRIVATE_ISREMINDERTIMEFORALLDAYADDED_ENTRY=0x92
 [TRACE]TRACE_FLOW[0x8A]_CALENEDITORPRIVATE_ISREPEATUNTILITEMADDED_ENTRY=0x15c
 [TRACE]TRACE_FLOW[0x8A]_CALENEDITORPRIVATE_ISREPEATUNTILITEMADDED_EXIT=0x15d
+[TRACE]TRACE_FLOW[0x8A]_CALENEDITORPRIVATE_LAUNCHDIALOG_ENTRY=0x169
+[TRACE]TRACE_FLOW[0x8A]_CALENEDITORPRIVATE_LAUNCHDIALOG_EXIT=0x16a
 [TRACE]TRACE_FLOW[0x8A]_CALENEDITORPRIVATE_LAUNCHSETTINGSVIEW_ENTRY=0x6e
 [TRACE]TRACE_FLOW[0x8A]_CALENEDITORPRIVATE_LAUNCHSETTINGSVIEW_EXIT=0x6f
 [TRACE]TRACE_FLOW[0x8A]_CALENEDITORPRIVATE_OPENEDITOR_ENTRY=0x28
--- a/calendarui/commonutils/bwins/calencommonutilsu.def	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/commonutils/bwins/calencommonutilsu.def	Mon Sep 20 12:44:39 2010 +0530
@@ -18,4 +18,5 @@
 	?futureOf@CalenDateUtils@@SA?AVQDateTime@@ABV2@H@Z @ 17 NONAME ; class QDateTime CalenDateUtils::futureOf(class QDateTime const &, int)
 	?now@CalenDateUtils@@SA?AVQDateTime@@XZ @ 18 NONAME ; class QDateTime CalenDateUtils::now(void)
 	?isAlldayEvent@CalenAgendaUtils@@SA_NABVAgendaEntry@@@Z @ 19 NONAME ; bool CalenAgendaUtils::isAlldayEvent(class AgendaEntry const &)
+	?dateFormatString@CalenDateUtils@@SA?AVQString@@XZ @ 20 NONAME ; class QString CalenDateUtils::dateFormatString(void)
 
--- a/calendarui/commonutils/eabi/calencommonutilsu.def	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/commonutils/eabi/calencommonutilsu.def	Mon Sep 20 12:44:39 2010 +0530
@@ -18,4 +18,5 @@
 	_ZN14CalenDateUtils9timeOfDayERK9QDateTime @ 17 NONAME
 	_ZN16CalenAgendaUtils16endsAtStartOfDayER11AgendaEntryRK9QDateTime @ 18 NONAME
 	_ZN16CalenAgendaUtils13isAlldayEventERK11AgendaEntry @ 19 NONAME
+	_ZN14CalenDateUtils16dateFormatStringEv @ 20 NONAME
 
--- a/calendarui/commonutils/inc/calendateutils.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/commonutils/inc/calendateutils.h	Mon Sep 20 12:44:39 2010 +0530
@@ -120,6 +120,11 @@
     static QDateTime defaultTime( const QDateTime& date );
     
     static QDateTime futureOf(const QDateTime& dateTime, int numOfDays);
+	
+    /**
+     * @return the dateformat based current locale settings.
+     */
+    static  QString dateFormatString();
     
    
 private:
--- a/calendarui/commonutils/src/calendateutils.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/commonutils/src/calendateutils.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -23,6 +23,8 @@
 #include "calendateutils.h"
 #include <agendautil.h>
 
+#include <hbextendedlocale.h>
+
 //  LOCAL CONSTANTS AND MACROS
 const int KDefaultStartTime(8);    // 8 am ( 0 to 23 hour scale)
 
@@ -266,4 +268,42 @@
      result.setTime(dateTime.time());
      return result;
      }
+ 
+ /*!
+	 Retruns the dateformat based current locale settings.
+  */
+ QString CalenDateUtils::dateFormatString()
+ {
+	 HbExtendedLocale locale = HbExtendedLocale::system();
+ 
+	 QString dateFormat;
+	 switch (locale.dateStyle()) {
+		 case HbExtendedLocale::American:
+			 dateFormat.append("MM");
+			 dateFormat.append(locale.dateSeparator(1));
+			 dateFormat.append("dd");
+			 dateFormat.append(locale.dateSeparator(1));
+			 dateFormat.append("yyyy");
+			 break;
+ 
+		 case HbExtendedLocale::European:
+			 dateFormat.append("dd");
+			 dateFormat.append(locale.dateSeparator(1));
+			 dateFormat.append("MM");
+			 dateFormat.append(locale.dateSeparator(1));
+			 dateFormat.append("yyyy");
+			 break;
+ 
+		 case HbExtendedLocale::Japanese:
+			 dateFormat.append("yyyy");
+			 dateFormat.append(locale.dateSeparator(1));
+			 dateFormat.append("MM");
+			 dateFormat.append(locale.dateSeparator(1));
+			 dateFormat.append("dd");
+			 break;
+	 }
+ 
+	 return dateFormat;
+ }
+ 
 // End of File
--- a/calendarui/controller/inc/calendeleteui.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/controller/inc/calendeleteui.h	Mon Sep 20 12:44:39 2010 +0530
@@ -21,6 +21,7 @@
 
 // System Includes
 #include <QObject>
+#include<QPointer>
 #include <e32base.h>
 #include <hbdatetimepicker.h>
 #include <agendautil.h>
@@ -237,7 +238,7 @@
     bool iIsDeleting; // True, if asynchronous delete is running
     QDateTime iStartTime;
     QDateTime iEndTime;
-    HbDateTimePicker *mDatePicker;
+    QPointer<HbDateTimePicker> mDatePicker;
     HbAction *mDeleteAction;
     HbAction *mCancelAction;
     // Confirmation note id is stored here. Note is shown when asynchronous
--- a/calendarui/controller/src/calendeleteui.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/controller/src/calendeleteui.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -107,6 +107,7 @@
     RArray<TCalenNotification> notifications;
     notifications.Append(ECalenNotifyCancelDelete);
     notifications.Append(ECalenNotifyCloseDialogs);
+    notifications.Append(ECalenNotifySystemLocaleChanged);
     
     iController.RegisterForNotificationsL( this, notifications );
     
@@ -115,6 +116,7 @@
     iMoreEntriesToDelete = EFalse;
     iDisplayQuery = EFalse;
     iEntriesToDelete = KEntriesToDelete;
+    mDatePicker = 0;
     
     OstTraceFunctionExit0( CALENDELETEUI_CONSTRUCTL_EXIT );
     }
@@ -128,24 +130,33 @@
 void CalenDeleteUi::HandleNotification(const TCalenNotification aNotification )
     {
     OstTraceFunctionEntry0( CALENDELETEUI_HANDLENOTIFICATION_ENTRY );
-
-    if( aNotification == ECalenNotifyCancelDelete)
-        {
-        if(iMutlipleContextIdsCount)
-            {
-            // get the context
-            MCalenContext& context = iController.context();
-            // reset the multiple contexts
-            context.resetMultipleContextIds();          
-           
-            }
+    switch(aNotification)  {
+    	case ECalenNotifyCancelDelete:  {
+        	if(iMutlipleContextIdsCount)
+           	 {
+           		 // get the context
+          		  MCalenContext& context = iController.context();
+           		 // reset the multiple contexts
+          		  context.resetMultipleContextIds();          
+           	 }
+		break;
         }
-    else if (aNotification == ECalenNotifyCloseDialogs )
-        {
-    	// Emit the signal to close all the dialogs which are already opened
-    	emit closeDialogs();
+    	case ECalenNotifyCloseDialogs:  {
+    		// Emit the signal to close all the dialogs which are already opened
+    		emit closeDialogs();
+		break;
         }
-    
+	case ECalenNotifySystemLocaleChanged: {
+		//Refresh the date picker of Date query when deleting entries before date
+		if(!(mDatePicker.isNull())) {
+			mDatePicker->setDisplayFormat(CalenDateUtils::dateFormatString());
+			mDatePicker->setDate(QDate::currentDate());
+		}
+		break;
+	}
+	default:
+		break;
+    }
     OstTraceFunctionExit0( CALENDELETEUI_HANDLENOTIFICATION_EXIT );
     }
 
@@ -411,6 +422,7 @@
 	mDatePicker = new  HbDateTimePicker(popUp);
 	mDatePicker->setMinimumDate(CalenDateUtils::minTime().date());
 	mDatePicker->setMaximumDate(currentDate);
+	mDatePicker->setDisplayFormat(CalenDateUtils::dateFormatString());
 	mDatePicker->setDate(currentDate);
 
 	popUp->setContentWidget(mDatePicker);  
--- a/calendarui/controller/src/calenviewmanager.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/controller/src/calenviewmanager.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -221,6 +221,13 @@
 		mController.MainWindow().addView(mCalenAgendaView);
 		mController.MainWindow().setCurrentView(mCalenAgendaView);
 		mController.MainWindow().addView(mCalenAgendaViewAlt);
+	} else if (view == ECalenDayView) {
+	    mFirstView = ECalenDayView;
+	    loadDayView();
+	    ActivateDefaultViewL(ECalenDayView);
+	    // Add day view to mainwindow.
+        mController.MainWindow().addView(mCalenDayView);
+        mController.MainWindow().setCurrentView(mCalenDayView);
 	}
 	OstTraceFunctionExit0( CALENVIEWMANAGER_CONSTRUCTANDACTIVATEVIEW_EXIT );
 }
@@ -390,30 +397,32 @@
     
 	// Load all other views except mFirstView
 	
-	// NOTE: Right now, since Calendar has only two views, month view 
+	// NOTE: Right now, since Calendar has three views, month view, day view 
 	// and agenda view, when client launches agenda view, then there is no need
 	// to construct the month view as per UI REQ., but tomorrow if new views
 	// come after agenda view, then we need to construct those views if they are
-	// native views. Right now, there is a event viewer but its not a native
-	// view. Hence, if agenda view is launched, dont construct month view
-	if (mFirstView != ECalenAgendaView) // check if agenda view is not already loaded
-		{
+	// native views. Right now, day view will be constructed as we need to 
+    // provide an option in options menu to switch between day view and agenda view
+    // There is a event viewer but its not a native view, so no need to constrcut it
+    // It will be constrcuted on demand.
+	// Hence, if agenda view is launched, constrcut the day vuew but dont construct month view.
+    // Vice-versa for when day view is maunched as first view
+	if (mFirstView == ECalenMonthView) {
 		// Load all other views 
 		loadAgendaView();
 		
 		if (!mCalenDayView) {
 		    loadDayView();
 		}
-	}
-	else //agenda view was launched as first view
-	    {
-		// No implementation yet. UI specs not clear
-		// to be commented in with some more code once UI specs is frozen
-		// for agenda view launching as first view after it was saved as activity
-		// when it was launched from month view
-        // loadMonthView();
-        // mCalenMonthView->doLazyLoading();
-	    }
+	} else if (mFirstView == ECalenAgendaView) { //agenda view was launched as first view
+	    // Load day view
+	    if (!mCalenDayView) {
+            loadDayView();
+        }
+    } else if (mFirstView == ECalenDayView) { // Day view was launched as first view
+        // Load agenda view
+        loadAgendaView();
+    }
 
 	// Setup the settings view
 	mSettingsView = new CalenSettingsView(mController.Services());
@@ -558,7 +567,10 @@
 		mCalenMonthView->doPopulation();
 	} else if (ECalenAgendaView == defaultView) {
 		mCalenAgendaView->doPopulation();
-	}
+	} else if (ECalenDayView == defaultView) {
+        mCalenDayView->doPopulation();
+    }
+	
 	OstTraceFunctionExit0( CALENVIEWMANAGER_ACTIVATEDEFAULTVIEWL_EXIT );
 }
 
--- a/calendarui/inc/calendateutils.h	Mon Sep 06 15:58:44 2010 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  ?Description
- *
-*/
-
-#ifndef __CALENDATEUTILS_H__
-#define __CALENDATEUTILS_H__
-
-#include <e32base.h>
-#include <qglobal.h>					// Q_DECL_EXPORT macro
-
-#ifdef  CALENDATEUTILS_DLL
-#define CALENDATEUTIL_EXPORT Q_DECL_EXPORT
-#else
-#define CALENDATEUTIL_EXPORT Q_DECL_IMPORT
-#endif
-
-// forward declarations
-class QDateTime;
-
-/**
- *  CalenDateUtils contains static utility functions useful
- *  when comparing and calculating with dates and times.
- *
- *  @lib Calendar.app
- *  @since 2.1
- */
-
-class CALENDATEUTIL_EXPORT CalenDateUtils 
-    {
-public:
-    static bool onSameDay( const QDateTime& x, const QDateTime& y );
-    static bool onSameMonth( const QDateTime& x, const QDateTime& y );
-    static QDateTime beginningOfDay( const QDateTime& startTime );
-    static QDateTime displayTimeOnDay( const QDateTime& startTime, 
-                                            const QDateTime& day );
-
-    static bool timeRangesIntersect( const QDateTime& xStart,
-                                               const QDateTime& xEnd,
-                                               const QDateTime& yStart, 
-                                               const QDateTime& yEnd );
-
-    /**
-     * Is aTime between KCalenMaxYear/KCalenMaxMonth/KCalenMaxDay
-     * and KCalenMinYear/KCalenMinMonth/KCalenMinDay.
-     * Min/Max day is defined agenda server.
-     * @param aTime aTime to be checked
-     * @return EFalse : Out of range
-     */
-    static bool isValidDay( const QDateTime& time );
-
-    /**
-     * Return Min or Max time if aTime goes out of bounds. 
-     * Valid range is [CalenDateUtils::MinTime(), CalenDateUtils::MaxTime]
-     * @param aTime time to be checked
-     * @return aTime, if aTime in [CalenDateUtils::MinTime(), CalenDateUtils::MaxTime]
-     *         CalenDateUtils::MinTime(), if aTime < CalenDateUtils::MinTime()
-     *         CalenDateUtils::MaxTime(), if aTime > CalenDateUtils::MaxTime()
-     */
-    static QDateTime limitToValidTime( const QDateTime& time );
-
-    /**
-     * Return maximum allowed time. (31.
-     */
-    static QDateTime maxTime();
-
-    /**
-     * Return minimum allowed time.
-     */
-    static QDateTime minTime();
-
-    /**
-     * Return time of day as a minutes from midnight. Useful to get hours::minutes component of datetime, 
-     * regardless of date
-     */
-    static int timeOfDay( const QDateTime& dateTime );
-
-    /**
-     * Round QDateTime to previous full hour, e.g. RoundToPreviousHour( 23.11.2006 9:31 ) = 23.11.2006 9:00
-     */
-    static QDateTime roundToPreviousHour( const QDateTime& dateTime );
-
-    /**
-     * Round QDateTimeIntervalMinutes to previous full hour, e.g. RoundToPreviousHour( 130 min ) = 120 min
-     */
-    static int roundToPreviousHour( const int& minutes );
-    
-
-    /**
-     * @return current time. 
-     */ 
-    static QDateTime now();
-    
-    /**
-     * @return today with time component set to 00:00. 
-     */ 
-    static QDateTime today();
-
-    /**
-     * @return ETrue if given aTime is on today, EFalse otherwise
-     */     
-    static bool isOnToday( const QDateTime& time );
-
-    /* 
-     * Given aDate = DD::MM::YY @ hh:mm:ss, it returns a QDateTime obj DD::MM::YY @ 08:00 am
-     * @param: aDate, which has the DD::MM::YY
-     */
-    static QDateTime defaultTime( const QDateTime& date );
-    
-    static QDateTime futureOf(const QDateTime& dateTime, int numOfDays);
-    
-   
-private:
-    // Hiding constructor, because this is static utility class.
-    //lint -e{1526} 
-    CalenDateUtils();
-
-    // Hiding assignment, because this is static utility class.
-    //lint -e{1526} 
-    CalenDateUtils& operator=( const CalenDateUtils& );
-
-    };
-
-#endif // __CALENDATEUTILS_H__
-
-
-// End of File
--- a/calendarui/regionalplugins/calenregionalutil/src/calenextrarowformatter.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/regionalplugins/calenregionalutil/src/calenextrarowformatter.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -20,6 +20,7 @@
 
 #include <badesca.h> 
 #include <eikenv.h>
+#include <hbparameterlengthlimiter.h>
 
 #include "calendarui_debug.h"
 #include "CalenExtraRowFormatter.h"
@@ -222,15 +223,14 @@
 	
 	// Format all fields to single row 
 	QString textDataString;
-	textDataString = hbTrId(
-						"txt_calendar_preview_title_123242526").arg(
+	textDataString = HbParameterLengthLimiter(
+							hbTrId("txt_calendar_preview_title_123242526")).arg(
 							textDataStringList.at(0)).arg(
-								separator).arg(
-									textDataStringList.at(1)).arg(
-										textDataStringList.at(2)).arg(
-											textDataStringList.at(3)).arg(
-												textDataStringList.at(4));
-
+							separator).arg(textDataStringList.at(1)).arg(
+							separator).arg(textDataStringList.at(2)).arg(
+							separator).arg(textDataStringList.at(3)).arg(
+							separator).arg(textDataStringList.at(4));
+	
 	iText = static_cast<const TUint16*> (
 							textDataString.utf16()), textDataString.length();
 
--- a/calendarui/regionalplugins/calenregionalutil/src/calenlunarlocalizer.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/regionalplugins/calenregionalutil/src/calenlunarlocalizer.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -21,6 +21,7 @@
 #include <qstringlist.h>
 #include <hbi18ndef.h>
 #include <hbglobal.h>
+#include <hbparameterlengthlimiter.h>
 
 #include <badesca.h> 
 #include <eikenv.h>
@@ -184,36 +185,52 @@
 	if ( aInfo.HasFestival() ) 
 	{
 		QString festival = iFestivalNames.at(aInfo.iFestival);
-		localized->iFestival.Set( static_cast<const TUint16*>(festival.utf16()),festival.length());
+		localized->iFestival.Set( 
+			static_cast<const TUint16*>(festival.utf16()),festival.length());
 	}
 
 	if ( aInfo.HasSolarTerm() ) 
 	{
 		QString solarTerm = iSolarTermNames.at(aInfo.iSolarTerm);
-		localized->iSolarTerm.Set( static_cast<const TUint16*>(solarTerm.utf16()),solarTerm.length());
+		localized->iSolarTerm.Set( 
+			static_cast<const TUint16*>(solarTerm.utf16()),solarTerm.length());
 	}
 
 	// Animal year
 	QString animalYear = iAnimalYearNames.at(aInfo.AnimalYear());
-	localized->iAnimalYear.Set( static_cast<const TUint16*>(animalYear.utf16()),animalYear.length());
+	localized->iAnimalYear.Set( 
+		static_cast<const TUint16*>(animalYear.utf16()),animalYear.length());
 
 	// Lunar year
 	QString heavenlyStemNames = iHeavenlyStemNames.at(aInfo.iHeavenlyStem);
-	QString terrestialBranchNames = iTerrestialBranchNames.at(aInfo.iTerrestialBranch);
-	QString lunarYear = hbTrId("txt_calendar_info_lunar_year").arg(heavenlyStemNames).arg(terrestialBranchNames);
-	localized->iLunarYear = static_cast<const TUint16*> (lunarYear.utf16()), lunarYear.length();
+	QString terrestialBranchNames = 
+						iTerrestialBranchNames.at(aInfo.iTerrestialBranch);
+	QString lunarYear = HbParameterLengthLimiter(
+						hbTrId("txt_calendar_info_lunar_year")).arg(
+						heavenlyStemNames).arg(terrestialBranchNames);
+	localized->iLunarYear = 
+			static_cast<const TUint16*> (lunarYear.utf16()), lunarYear.length();
 
 	LocalizeMonthAndDayL(localized, aInfo);
 
-	QString monthAndDay = QString::fromUtf16(localized->LunarMonthAndDay().Ptr(),localized->LunarMonthAndDay().Length());
-	QString yearString = QString::fromUtf16(localized->LunarYear().Ptr(),localized->LunarYear().Length());
-	QString fullLunarDate = hbTrId("txt_calendar_info_lunar_full_date").arg(monthAndDay).arg(yearString);
+	QString monthAndDay = 
+			QString::fromUtf16(localized->LunarMonthAndDay().Ptr(),
+								localized->LunarMonthAndDay().Length());
+	QString yearString = 
+			QString::fromUtf16(localized->LunarYear().Ptr(),
+								localized->LunarYear().Length());
+	QString fullLunarDate = HbParameterLengthLimiter(
+							hbTrId("txt_calendar_info_lunar_full_date")).arg(
+							monthAndDay).arg(yearString);
 	
-	localized->iFullLunarDate = static_cast<const TUint16*> (fullLunarDate.utf16()), fullLunarDate.length();
+	localized->iFullLunarDate = 
+			static_cast<const TUint16*> (fullLunarDate.utf16()), 
+													fullLunarDate.length();
 
 	QString format(r_qtn_date_usual_with_zero);
 	TBuf<100> gregFormatBuf;
-	gregFormatBuf = static_cast<const TUint16*> (format.utf16()), format.length();
+	gregFormatBuf = 
+			static_cast<const TUint16*> (format.utf16()), format.length();
 	
 	aInfo.iGregorianDate.FormatL( localized->iGregorianDate, gregFormatBuf );
 
@@ -262,13 +279,13 @@
 
 	QString formattedString;
 	if(aInfo.iLunarDate.iLeapMonth) {
-		formattedString = hbTrId(
-						"txt_calendar_info_lunar_leap_date").arg(
+		formattedString = HbParameterLengthLimiter(hbTrId(
+						"txt_calendar_info_lunar_leap_date")).arg(
 						QString((QChar*)month.Ptr(),month.Length())).arg(
 						QString((QChar*)day.Ptr(),day.Length()));
 	}else {
-		formattedString = hbTrId(
-						"txt_calendar_info_lunar_date").arg(
+		formattedString = HbParameterLengthLimiter(hbTrId(
+						"txt_calendar_info_lunar_date")).arg(
 						QString((QChar*)month.Ptr(),month.Length())).arg(
 						QString((QChar*)day.Ptr(),day.Length()));
 	}
--- a/calendarui/settings/src/calensettings.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/settings/src/calensettings.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -57,6 +57,9 @@
 	mShowRegionalInfoKey = new XQSettingsKey(
 			XQSettingsKey::TargetCentralRepository,
 			KCRUidCalendar, KCalendarShowRegionalInfo);
+	
+	// Enable the pixmap cache for better scrolling performance
+	mSettingsForm->setItemPixmapCacheEnabled(true);
 }
 
 /*!
@@ -310,9 +313,10 @@
 	mShowWeekNumberItem->setData(HbDataFormModelItem::LabelRole, 
 					QString(hbTrId("txt_calendar_setlabel_show_week_numbers")));
 	mShowWeekNumberItem->setContentWidgetData("objectName", "showWeekNumber");
-	mSettingsModel->appendDataFormItem(mShowWeekNumberItem);
 	mSettingsForm->addConnection(mShowWeekNumberItem, SIGNAL(clicked()), 
 									this, SLOT(handleWeekNumberChange()));
+	mSettingsModel->appendDataFormItem(mShowWeekNumberItem);
+
 }
 
 /*!
--- a/calendarui/views/bwins/calenviewsu.def	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/views/bwins/calenviewsu.def	Mon Sep 20 12:44:39 2010 +0530
@@ -207,4 +207,6 @@
 	?getActiveDay@CalenMonthView@@QAE?AVQDateTime@@XZ @ 206 NONAME ; class QDateTime CalenMonthView::getActiveDay(void)
 	?addRemoveActionsInMenu@CalenMonthView@@AAEXXZ @ 207 NONAME ; void CalenMonthView::addRemoveActionsInMenu(void)
 	??1CalenDayContentScrollArea@@UAE@XZ @ 208 NONAME ; CalenDayContentScrollArea::~CalenDayContentScrollArea(void)
+	?polish@CalenThickLinesDrawer@@MAEXAAVHbStyleParameters@@@Z @ 209 NONAME ; void CalenThickLinesDrawer::polish(class HbStyleParameters &)
+	?checkIfWeCanScroll@CalenMonthGrid@@AAE_NW4scrollDirection@@@Z @ 210 NONAME ; bool CalenMonthGrid::checkIfWeCanScroll(enum scrollDirection)
 
--- a/calendarui/views/dayview/inc/calendaycontentwidget.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/views/dayview/inc/calendaycontentwidget.h	Mon Sep 20 12:44:39 2010 +0530
@@ -26,8 +26,6 @@
 
 // Forward declarations
 class QGraphicsLinearLayout;
-class CalenDayModelManager;
-
 
 class CalenDayContentWidget : public HbWidget
 {
@@ -45,12 +43,11 @@
     };
 
 public:
-    CalenDayContentWidget(CalenDayModelManager &modelManager,
-        QGraphicsItem *parent = 0);
+    CalenDayContentWidget(QGraphicsItem *parent = 0);
     ~CalenDayContentWidget();
 
-    void add(HbWidget* item, CalenWidgetPosition where = ECalenLastWidget);
-    HbWidget* take(CalenWidgetPosition which);
+    void add(HbWidget *item, CalenWidgetPosition where = ECalenLastWidget);
+    HbWidget *take(CalenWidgetPosition which);
     void remove(CalenWidgetPosition which);
 
 signals:
@@ -60,16 +57,11 @@
 public slots:
     void relayoutWidgets(CalenScrollDirection scrollTo);
     void widgetScrolled(const QPointF &newPos);
-    
-protected:
-    void initializeViews();
 
 private:
-    QGraphicsLinearLayout* mLayout; //!< Linear layout for day views
+    QGraphicsLinearLayout *mLayout; //!< Linear layout for day views
 
-    QList<HbWidget*> mWidgets; //!< List of widget instances
-    
-    CalenDayModelManager &mModelManager;  //!< Reference to model manager
+    QList<HbWidget *> mWidgets; //!< List of widget instances
 };
 
 #endif /* CALENDAYCONTENTWIDGET_H_ */
--- a/calendarui/views/dayview/inc/calendayitemview.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/views/dayview/inc/calendayitemview.h	Mon Sep 20 12:44:39 2010 +0530
@@ -55,6 +55,9 @@
     void scrollTo(
         const QModelIndex &index,
         HbAbstractItemView::ScrollHint hint = EnsureVisible);
+    
+    HbMenu *contextMenu() const;
+    void setContextMenu(HbMenu *contextMenu);
 
 public slots:
 
--- a/calendarui/views/dayview/inc/calendayview.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/views/dayview/inc/calendayview.h	Mon Sep 20 12:44:39 2010 +0530
@@ -162,6 +162,8 @@
      */
     void setupSlots();
     
+    void initializeViews();
+    
 private: // members related to view management and gesture handling
     
     CalenDayModelManager* mModelManager;
--- a/calendarui/views/dayview/src/calendaycontentwidget.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/views/dayview/src/calendaycontentwidget.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -17,13 +17,10 @@
 
 // System includes
 #include <QGraphicsLinearLayout>
-#include <HbModelIterator>
 
 // User includes
-#include "calendaymodelmanager.h"
 #include "calendaycontentwidget.h"
 #include "calendayitemview.h"
-#include "calendaycontentscrollarea.h"
 
 /*!
  \class CalenDayContentWidget
@@ -33,16 +30,12 @@
 /*!
  \brief Constructor
  
- \param modelManager Day View model manager
  \param parent The parent of central widget
  */
-CalenDayContentWidget::CalenDayContentWidget(
-    CalenDayModelManager &modelManager,
-    QGraphicsItem *parent) :
-    HbWidget(parent), mLayout(NULL), mModelManager(modelManager)
+CalenDayContentWidget::CalenDayContentWidget(QGraphicsItem *parent) :
+    HbWidget(parent), mLayout(NULL)
 {
     mWidgets.clear();
-    initializeViews();
 }
 
 /*!
@@ -62,32 +55,34 @@
  \param item Widget to be added
  \param where Place where widget should be added (as first/last item)
  */
-void CalenDayContentWidget::add(HbWidget* item, CalenWidgetPosition where)
+void CalenDayContentWidget::add(HbWidget *item, CalenWidgetPosition where)
 {
-    // Create linear, horizontal layout if not exist
-    if (!mLayout) {
-        mLayout = new QGraphicsLinearLayout(Qt::Horizontal, NULL);
-        mLayout->setContentsMargins(0.0, 0.0, 0.0, 0.0);
-        mLayout->setSpacing(0.0);
-    }
+    if (item) {
+        // Create linear, horizontal layout if not exist
+        if (!mLayout) {
+            mLayout = new QGraphicsLinearLayout(Qt::Horizontal, NULL);
+            mLayout->setContentsMargins(0.0, 0.0, 0.0, 0.0);
+            mLayout->setSpacing(0.0);
+        }
 
-    switch (where) {
-        case ECalenFirstWidget: {
-            mLayout->insertItem(0, item);
-            mWidgets.insert(0, item);
-            break;
+        switch (where) {
+            case ECalenFirstWidget: {
+                mLayout->insertItem(0, item);
+                mWidgets.insert(0, item);
+                break;
+            }
+            case ECalenLastWidget:
+            default: {
+                mLayout->addItem(item);
+                mWidgets.append(item);
+            }
         }
-        case ECalenLastWidget:
-        default: {
-            mLayout->addItem(item);
-            mWidgets.append(item);
+
+        // If layout has no parent - apply it to central widget
+        if (mLayout && !mLayout->parentLayoutItem()) {
+            setLayout(mLayout);
         }
     }
-
-    // If layout has no parent - apply it to central widget
-    if (mLayout && !mLayout->parentLayoutItem()) {
-        setLayout(mLayout);
-    }
 }
 
 /*!
@@ -100,24 +95,27 @@
  */
 HbWidget* CalenDayContentWidget::take(CalenWidgetPosition which)
 {
-    Q_ASSERT(mLayout);
-
-    HbWidget* itemToTake = NULL;
-    switch (which) {
-        case ECalenFirstWidget: {
-            itemToTake = mWidgets.takeFirst();
-            break;
+    HbWidget *itemToTake = NULL;
+    if (mWidgets.count() > 0) {
+        switch (which) {
+            case ECalenFirstWidget: {
+                itemToTake = mWidgets.takeFirst();
+                break;
+            }
+            case ECalenLastWidget: {
+                itemToTake = mWidgets.takeLast();
+                break;
+            }
+            default: {
+                // do nothing
+            }
         }
-        case ECalenLastWidget:
-        default: {
-            itemToTake = mWidgets.takeLast();
+
+        if (mLayout && itemToTake) {
+            mLayout->removeItem(itemToTake);
         }
     }
 
-    if (itemToTake) {
-        mLayout->removeItem(itemToTake);
-    }
-
     return itemToTake;
 }
 
@@ -130,22 +128,8 @@
  */
 void CalenDayContentWidget::remove(CalenWidgetPosition which)
 {
-    Q_ASSERT(mLayout);
-
-    HbWidget* itemToRemove = NULL;
-    switch (which) {
-        case ECalenFirstWidget: {
-            itemToRemove = mWidgets.takeFirst();
-            break;
-        }
-        case ECalenLastWidget:
-        default: {
-            itemToRemove = mWidgets.takeLast();
-        }
-    }
-
+    HbWidget *itemToRemove = take(which);
     if (itemToRemove) {
-        mLayout->removeItem(itemToRemove);
         delete itemToRemove;
     }
 }
@@ -163,18 +147,21 @@
  */
 void CalenDayContentWidget::relayoutWidgets(CalenScrollDirection scrollTo)
 {
-    HbWidget* widget = NULL;
+    HbWidget *widget = NULL;
     switch (scrollTo) {
         case ECalenScrollToNext: {
             widget = take(ECalenFirstWidget);
             add(widget, ECalenLastWidget);
             break;
         }
-        case ECalenScrollToPrev:
-        default: {
+        case ECalenScrollToPrev: {
             widget = take(ECalenLastWidget);
             add(widget, ECalenFirstWidget);
         }
+        case ECalenScrollNoDayChange: 
+        default: {
+            // do nothing
+        }
     }
     emit widgetsRelayoutFinished(scrollTo);
 }
@@ -194,53 +181,4 @@
     emit scrollPositionChanged(newPos);
 }
 
-/*!
- \brief Initializes content widgets and adds them to layout.
- 
- \param parent Parent object 
- */
-void CalenDayContentWidget::initializeViews()
-{
-    // Create item views
-    HbModelIterator *iterator(0);
-
-    iterator = new HbModelIterator(&mModelManager.getModel(
-        CalenDayModelManager::PreviousDay));
-    CalenDayItemView *prevItemView = new CalenDayItemView(
-        mModelManager.getServices(), iterator, 0);
-
-    iterator = new HbModelIterator(&mModelManager.getModel(
-        CalenDayModelManager::CurrentDay));
-    CalenDayItemView *currItemView = new CalenDayItemView(
-        mModelManager.getServices(), iterator, 0);
-
-    iterator = new HbModelIterator(&mModelManager.getModel(
-        CalenDayModelManager::NextDay));
-    CalenDayItemView *nextItemView = new CalenDayItemView(
-        mModelManager.getServices(), iterator, 0);
-
-    // Connecting views with widgetScrolled SLOT 
-    // to support simultanous vertical scrolling
-    connect(prevItemView, SIGNAL(scrollPositionChanged(const QPointF&)), this,
-        SLOT(widgetScrolled(const QPointF&)));
-    connect(currItemView, SIGNAL(scrollPositionChanged(const QPointF&)), this,
-        SLOT(widgetScrolled(const QPointF&)));
-    connect(nextItemView, SIGNAL(scrollPositionChanged(const QPointF&)), this,
-        SLOT(widgetScrolled(const QPointF&)));
-
-    if (parentItem()) {
-        // Install event filters to receive events necessary for gesture handling
-        CalenDayContentScrollArea* scrollArea =
-            static_cast<CalenDayContentScrollArea*> (parentItem());
-        prevItemView->installEventFilter(scrollArea);
-        currItemView->installEventFilter(scrollArea);
-        nextItemView->installEventFilter(scrollArea);
-    }
-
-    // Add views to layout
-    add(prevItemView);
-    add(currItemView);
-    add(nextItemView);
-}
-
 // End of File
--- a/calendarui/views/dayview/src/calendayitemview.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/views/dayview/src/calendayitemview.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -26,6 +26,7 @@
 #include "calendayitemview.h"
 #include "calendayutils.h"
 #include "calendaycontainer.h"
+#include "calendayitemview.h"
 #include "calendayinfo.h"
 #include "calendaymodel.h"
 #include "calenservices.h"
@@ -88,6 +89,26 @@
 }
 
 /*!
+ \brief Gets context menu of ItemView
+ 
+ \return Context menu
+ */
+HbMenu *CalenDayItemView::contextMenu() const
+{
+    return mContextMenu;
+}
+
+/*!
+ \brief Sets context menu of ItemView
+ 
+ \param contextMenu Context menu
+ */
+void CalenDayItemView::setContextMenu(HbMenu *contextMenu)
+{
+    mContextMenu = contextMenu;
+}
+
+/*!
  \brief Currently empty implementation.
  */
 void CalenDayItemView::reset()
--- a/calendarui/views/dayview/src/calendayview.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/views/dayview/src/calendayview.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -29,6 +29,7 @@
 #include <HbStyleLoader>
 #include <HbGroupBox>
 #include <HbExtendedLocale>
+#include <HbModelIterator>
 #include <agendautil.h>
 
 // User includes
@@ -41,6 +42,7 @@
 #include "calendaycontentscrollarea.h"
 #include "calendaycontentwidget.h"
 #include "calendayhourscrollarea.h"
+#include "calendayitemview.h"
 #include "calendaymodelmanager.h"
 #include "CalenUid.h"
 #include "CalendarPrivateCRKeys.h"
@@ -70,8 +72,9 @@
     mSettingsManager = new XQSettingsManager(this);
     mSettingsManager->startMonitoring(mRegionalInfoKey);
 
-    //setup Back functionality
-    if (ECalenDayView != mServices.getFirstView()) {
+    //setup Back functionality, launch the month view only when it is
+	// the first view
+    if (ECalenMonthView == mServices.getFirstView()) {
         HbAction* action = new HbAction(Hb::BackNaviAction, this);
         setNavigationAction(action);
         // Connect to the signal triggered by clicking on back button.
@@ -208,9 +211,10 @@
         = static_cast<CalenDayContentScrollArea *> (mDocLoader->findWidget(
             CALEN_DAYVIEW_CONTENTSCROLLAREA));
     // Pass parent object to mContentWidget to install event filters on parent
-    mContentWidget = new CalenDayContentWidget(*mModelManager, mContentScrollArea);
+    mContentWidget = new CalenDayContentWidget(mContentScrollArea);
     mContentScrollArea->setContentWidget(mContentWidget);
-
+    
+    initializeViews();
     setupSlots();
     
     // Set up regional info if variant is correct
@@ -356,6 +360,57 @@
 }
 
 /*!
+   \brief Initializes internal views.
+   
+   CalenDayView uses 3 child views which represent previous, current and next days.
+   This assures that swiping to prev/next day works smoothly, because population
+   of data is done earlier.
+*/
+void CalenDayView::initializeViews()
+{
+    // Create item views
+    HbModelIterator *iterator(0);
+
+    iterator = new HbModelIterator(&mModelManager->getModel(
+        CalenDayModelManager::PreviousDay));
+    CalenDayItemView *prevItemView = new CalenDayItemView(
+        mModelManager->getServices(), iterator, 0);
+
+    iterator = new HbModelIterator(&mModelManager->getModel(
+        CalenDayModelManager::CurrentDay));
+    CalenDayItemView *currItemView = new CalenDayItemView(
+        mModelManager->getServices(), iterator, 0);
+
+    iterator = new HbModelIterator(&mModelManager->getModel(
+        CalenDayModelManager::NextDay));
+    CalenDayItemView *nextItemView = new CalenDayItemView(
+        mModelManager->getServices(), iterator, 0);
+
+    // Connect views with widgetScrolled SLOT to support simultanous vertical scrolling
+    connect(prevItemView, SIGNAL(scrollPositionChanged(const QPointF&)), mContentWidget,
+        SLOT(widgetScrolled(const QPointF&)));
+    connect(currItemView, SIGNAL(scrollPositionChanged(const QPointF&)), mContentWidget,
+        SLOT(widgetScrolled(const QPointF&)));
+    connect(nextItemView, SIGNAL(scrollPositionChanged(const QPointF&)), mContentWidget,
+        SLOT(widgetScrolled(const QPointF&)));
+    
+    // Close menu once closeDialogs() is received
+    connect(this, SIGNAL(closeDialogs()), prevItemView->contextMenu(), SLOT(close()));
+    connect(this, SIGNAL(closeDialogs()), currItemView->contextMenu(), SLOT(close()));
+    connect(this, SIGNAL(closeDialogs()), nextItemView->contextMenu(), SLOT(close()));
+
+    // Install event filters to receive events necessary for gesture handling
+    prevItemView->installEventFilter(mContentScrollArea);
+    currItemView->installEventFilter(mContentScrollArea);
+    nextItemView->installEventFilter(mContentScrollArea);
+
+    // Add views to layout
+    mContentWidget->add(prevItemView);
+    mContentWidget->add(currItemView);
+    mContentWidget->add(nextItemView);
+}
+
+/*!
    \brief This slot triggers new meeting creation view
 */
 void CalenDayView::runNewMeeting()
--- a/calendarui/views/dayview/tsrc/unittests/unittest_calendaycontentwidget/calendaycontentwidgetheaders.h	Mon Sep 06 15:58:44 2010 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Mocked classes for testing CalenDayContentWidget class
-*
-*/
-
-#ifndef CALENSERVICES_H
-#define CALENSERVICES_H
-
-/*!
- Mocked class MCalenServices
- */
-class MCalenServices
-{
-public:
-    MCalenServices() {
-        
-    }
-    
-    ~MCalenServices() {
-        
-    }
-};
-
-#endif // CALENSERVICES_H
-
-
-#ifndef CALENDAYITEMVIEW_H
-#define CALENDAYITEMVIEW_H
-
-#include <QGraphicsItem>
-#include <QPointF>
-#include <HbWidget>
-#include <HbModelIterator>
-
-/*!
- Mocked class CalenDayItemView
- */
-class CalenDayItemView : public HbWidget
-{
-    Q_OBJECT
-    
-public:
-    CalenDayItemView(MCalenServices &services, HbModelIterator *iterator, 
-        QGraphicsItem *parent) : HbWidget(parent) {
-        Q_UNUSED(services)
-        Q_UNUSED(iterator)
-    }
-    
-    void scrollVertically(const QPointF &newPosition) {
-        Q_UNUSED(newPosition)
-    }
-
-signals:
-    void scrollPositionChanged(const QPointF&);
-};
-
-#endif // CALENDAYITEMVIEW_H
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendaycontentwidget/calendayitemview.h	Mon Sep 20 12:44:39 2010 +0530
@@ -0,0 +1,78 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Mocked classes for testing CalenDayContentWidget class
+*
+*/
+
+#ifndef CALENSERVICES_H
+#define CALENSERVICES_H
+
+/*!
+ Mocked class MCalenServices
+ */
+class MCalenServices
+{
+public:
+    MCalenServices() {
+        
+    }
+    
+    ~MCalenServices() {
+        
+    }
+};
+
+#endif // CALENSERVICES_H
+
+
+#ifndef CALENDAYITEMVIEW_H
+#define CALENDAYITEMVIEW_H
+
+#include <QGraphicsItem>
+#include <QPointF>
+#include <HbWidget>
+#include <HbModelIterator>
+
+/*!
+ Mocked class CalenDayItemView
+ */
+class CalenDayItemView : public HbWidget
+{
+    Q_OBJECT
+    
+public:
+    CalenDayItemView(MCalenServices &services, HbModelIterator *iterator, 
+        QGraphicsItem *parent = NULL) : HbWidget(parent) {
+        Q_UNUSED(services)
+        Q_UNUSED(iterator)
+        
+        mCurrentPos = QPointF(0,0);
+    } 
+    ~CalenDayItemView() {
+        
+    }
+    
+    void scrollVertically(const QPointF &newPosition) {
+        mCurrentPos = newPosition;
+    }
+
+signals:
+    void scrollPositionChanged(const QPointF&);
+    
+public:
+    QPointF mCurrentPos;
+};
+
+#endif // CALENDAYITEMVIEW_H
+
--- a/calendarui/views/dayview/tsrc/unittests/unittest_calendaycontentwidget/calendaymodelmanager.h	Mon Sep 06 15:58:44 2010 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Mocked classes for testing CalenDayContentWidget class
-*
-*/
-
-
-#include "calendaycontentwidgetheaders.h"
-
-
-#ifndef CALENDAYMODELMANAGER_H
-#define CALENDAYMODELMANAGER_H
-
-#include <QAbstractListModel>
-
-/*!
- Test class TestAbstractListModel
- */
-class TestAbstractListModel : public QAbstractListModel
-{
-    Q_OBJECT
-    
-public:
-    TestAbstractListModel() : QAbstractListModel() {
-    }
-    
-    ~TestAbstractListModel() {
-    }
-    
-    int rowCount(const QModelIndex &parent) const {
-        Q_UNUSED(parent);
-        return 0;
-    }
-    
-    QVariant data(const QModelIndex &index, int role) const {
-        Q_UNUSED(index);
-        Q_UNUSED(role);
-        return QVariant(0);
-    }
-};
-
-/*!
- Test class CalenDayModelManager
- */
-class CalenDayModelManager : public QObject
-{    
-public:
-    enum ModelDay {
-        PreviousDay = 0,
-        CurrentDay = 1,
-        NextDay = 2,
-        NumberOfDays
-    };
-    
-    CalenDayModelManager() : QObject() {
-        mModel = new TestAbstractListModel();
-        mServices = new MCalenServices();
-    }
-    
-    ~CalenDayModelManager() {
-        if (mModel) {
-            delete mModel;
-            mModel = NULL;
-        }
-        
-        if (mServices) {
-            delete mServices;
-            mServices = NULL;
-        }
-    }
-    
-    QAbstractItemModel &getModel(CalenDayModelManager::ModelDay day) {
-        Q_UNUSED(day)
-        return *mModel;
-    }
-    
-    MCalenServices &getServices() {
-        return *mServices;
-    }
-    
-public:
-    TestAbstractListModel *mModel;
-    MCalenServices *mServices;
-};
-
-#endif//CALENDAYMODELMANAGER_H
--- a/calendarui/views/dayview/tsrc/unittests/unittest_calendaycontentwidget/unittest_calendaycontentwidget.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendaycontentwidget/unittest_calendaycontentwidget.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -17,8 +17,9 @@
 #include <QGraphicsItem>
 #include <QtTest/QtTest>
 
+#define private public
 
-#include "calendaymodelmanager.h"
+#include "calendayitemview.h"
 #include "calendaycontentwidget.h"
 
 class TestCalenContentWidget : public QObject
@@ -36,9 +37,13 @@
     void cleanup();
 
     void testConstructors();
+    void testAdd();
+    void testTake();
+    void testRemove();
+    void testRelayoutWidgets();
+    void testWidgetScrolled(); 
 
 private:
-    CalenDayModelManager *mModelMgr;
     CalenDayContentWidget *mContentWidget;
 };
 
@@ -46,7 +51,7 @@
  Constructor
  */
 TestCalenContentWidget::TestCalenContentWidget() :
-    mModelMgr(NULL), mContentWidget(NULL)
+    mContentWidget(NULL)
 {
 
 }
@@ -64,7 +69,6 @@
  */
 void TestCalenContentWidget::initTestCase()
 {
-    mModelMgr = new CalenDayModelManager();
 }
 
 /*!
@@ -72,9 +76,6 @@
  */
 void TestCalenContentWidget::cleanupTestCase()
 {
-    if (mModelMgr) {
-        delete mModelMgr;
-    }
 }
 
 /*!
@@ -82,7 +83,7 @@
  */
 void TestCalenContentWidget::init()
 {
-
+    mContentWidget = new CalenDayContentWidget();
 }
 
 /*!
@@ -102,9 +103,217 @@
  */
 void TestCalenContentWidget::testConstructors()
 {
-    QVERIFY(!mContentWidget);
-    mContentWidget = new CalenDayContentWidget(*mModelMgr);
-    QVERIFY(mContentWidget);
+    CalenDayContentWidget *contentWidget = NULL;
+    
+    QVERIFY(!contentWidget);
+    contentWidget = new CalenDayContentWidget();
+    QVERIFY(contentWidget);
+    
+    delete contentWidget;
+}
+
+/*!
+ Test add() function
+ 1. Test no error when trying to add NULL pointer
+ 2. Test if widget is added correctly and layout is created
+ 3. Test if widget is added correctly at end of list
+ 4. Test if widget is added correctly as first item
+ 5. Test if widget is added correctly when no position is specified
+ */
+void TestCalenContentWidget::testAdd()
+{
+    QCOMPARE(mContentWidget->mWidgets.count(), 0);
+    QVERIFY(!mContentWidget->mLayout);
+    
+    //1)
+    mContentWidget->add(NULL);
+    QCOMPARE(mContentWidget->mWidgets.count(), 0);
+    QVERIFY(!mContentWidget->mLayout);
+    
+    //2)
+    HbWidget *second = new HbWidget();
+    mContentWidget->add(second);
+    QVERIFY(mContentWidget->mLayout);
+    QCOMPARE(mContentWidget->mWidgets.count(), 1);
+    
+    //3)
+    HbWidget *last = new HbWidget();
+    mContentWidget->add(last, CalenDayContentWidget::ECalenLastWidget);
+    QCOMPARE(mContentWidget->mWidgets.count(), 2);
+    QCOMPARE(mContentWidget->mWidgets.at(1), last);
+    
+    //4)
+    HbWidget *first = new HbWidget();
+    mContentWidget->add(first, CalenDayContentWidget::ECalenFirstWidget);
+    QCOMPARE(mContentWidget->mWidgets.count(), 3);
+    QCOMPARE(mContentWidget->mWidgets.at(0), first);
+    
+    //5)
+    HbWidget *other = new HbWidget();
+    mContentWidget->add(other, CalenDayContentWidget::CalenWidgetPosition(-1));
+    QCOMPARE(mContentWidget->mWidgets.count(), 4);
+    QCOMPARE(mContentWidget->mWidgets.last(), other);
+}
+
+/*!
+ Test take() function
+ 1. Test NULL pointer if there are no widgets to be taken
+ 2. Test if first widget is taken correctly
+ 3. Test if last widget is taken correctly
+ 4. Test default behavior if wrong position is specified
+ */
+void TestCalenContentWidget::testTake()
+{
+    QCOMPARE(mContentWidget->mWidgets.count(), 0);
+    
+    //1)
+    QVERIFY(!mContentWidget->take(CalenDayContentWidget::ECalenFirstWidget));
+    
+    // Prepare data
+    HbWidget *first = new HbWidget();
+    HbWidget *second = new HbWidget();
+    HbWidget *last = new HbWidget();
+    mContentWidget->add(first);
+    mContentWidget->add(second);
+    mContentWidget->add(last);
+    QCOMPARE(mContentWidget->mWidgets.count(), 3);
+        
+    //2)
+    HbWidget *widget = mContentWidget->take(CalenDayContentWidget::ECalenFirstWidget);
+    QCOMPARE(mContentWidget->mWidgets.count(), 2);
+    QCOMPARE(widget, first);
+    
+    delete widget;
+    widget = NULL;
+    
+    //3)
+    widget = mContentWidget->take(CalenDayContentWidget::ECalenLastWidget);
+    QCOMPARE(mContentWidget->mWidgets.count(), 1);
+    QCOMPARE(widget, last);
+        
+    delete widget;
+    widget = NULL;
+    
+    //4)
+    widget = mContentWidget->take(CalenDayContentWidget::CalenWidgetPosition(-1));
+    QCOMPARE(mContentWidget->mWidgets.count(), 1);
+    QVERIFY(!widget);
+}
+
+/*!
+ Test remove() function
+ 1. Test if there is no error if remove is called on empty content
+ 2. Test if first widget is removed correctly
+ 3. Test if last widget is removed correctly
+ */
+void TestCalenContentWidget::testRemove()
+{
+    QCOMPARE(mContentWidget->mWidgets.count(), 0);
+        
+    //1)
+    mContentWidget->remove(CalenDayContentWidget::ECalenFirstWidget);
+    QCOMPARE(mContentWidget->mWidgets.count(), 0);
+    
+    // Prepare data
+    HbWidget *first = new HbWidget();
+    HbWidget *second = new HbWidget();
+    HbWidget *last = new HbWidget();
+    mContentWidget->add(first);
+    mContentWidget->add(second);
+    mContentWidget->add(last);
+    QCOMPARE(mContentWidget->mWidgets.count(), 3);
+        
+    //2)
+    mContentWidget->remove(CalenDayContentWidget::ECalenFirstWidget);
+    QCOMPARE(mContentWidget->mWidgets.count(), 2);
+    QCOMPARE(mContentWidget->mWidgets.first(), second);
+    
+    //3)
+    mContentWidget->remove(CalenDayContentWidget::ECalenLastWidget);
+    QCOMPARE(mContentWidget->mWidgets.count(), 1);
+    QCOMPARE(mContentWidget->mWidgets.last(), second);
+}
+
+/*!
+ Test relayoutWidgets() slot
+ 1. Test if relayout widgets on empty content
+ 2. Test ECalenScrollToNext case
+ 3. Test ECalenScrollToPrev case
+ 4. Test ECalenScrollNoDayChange case
+ 5. Test wrong case
+ */
+void TestCalenContentWidget::testRelayoutWidgets()
+{
+    QCOMPARE(mContentWidget->mWidgets.count(), 0);
+    
+    //1)
+    mContentWidget->relayoutWidgets(ECalenScrollNoDayChange);
+    QCOMPARE(mContentWidget->mWidgets.count(), 0);
+    
+    // Prepare data
+    HbWidget *first = new HbWidget();
+    HbWidget *second = new HbWidget();
+    HbWidget *last = new HbWidget();
+    mContentWidget->add(first);
+    mContentWidget->add(second);
+    mContentWidget->add(last);
+    QCOMPARE(mContentWidget->mWidgets.count(), 3);
+    
+    //2)
+    mContentWidget->relayoutWidgets(ECalenScrollToNext);
+    QCOMPARE(mContentWidget->mWidgets.first(), second);
+    
+    //3)
+    mContentWidget->relayoutWidgets(ECalenScrollToPrev);
+    QCOMPARE(mContentWidget->mWidgets.first(), first);
+    
+    //4)
+    mContentWidget->relayoutWidgets(ECalenScrollNoDayChange);
+    QCOMPARE(mContentWidget->mWidgets.first(), first);
+    
+    //5)
+    mContentWidget->relayoutWidgets(CalenScrollDirection(-1));
+    QCOMPARE(mContentWidget->mWidgets.first(), first);
+}
+
+/*!
+ Test testWidgetScrolled() slot
+ 1. Test widgetScrolled with empty content
+ 2. Test widgetScrolled with 3 views
+ */
+void TestCalenContentWidget::testWidgetScrolled() 
+{
+    QCOMPARE(mContentWidget->mWidgets.count(), 0);
+    QPointF newPos(10, 20);
+    
+    //1)
+    mContentWidget->widgetScrolled(newPos);
+    QCOMPARE(mContentWidget->mWidgets.count(), 0);
+    
+#ifndef __WINSCW__
+    // Prepare data
+    MCalenServices services;
+    HbModelIterator iterator(0);
+    CalenDayItemView *first = new CalenDayItemView(services, &iterator);
+    CalenDayItemView *second = new CalenDayItemView(services, &iterator);
+    CalenDayItemView *last = new CalenDayItemView(services, &iterator);
+    mContentWidget->add(first);
+    mContentWidget->add(second);
+    mContentWidget->add(last);
+    QCOMPARE(mContentWidget->mWidgets.count(), 3);
+    QCOMPARE(first->mCurrentPos, QPointF(0,0));
+    QCOMPARE(second->mCurrentPos, QPointF(0,0));
+    QCOMPARE(last->mCurrentPos, QPointF(0,0));
+    
+    //2
+    mContentWidget->widgetScrolled(newPos);
+    CalenDayItemView *view = static_cast<CalenDayItemView *> (mContentWidget->mWidgets.at(0));
+    QCOMPARE(view->mCurrentPos, newPos);
+    view = static_cast<CalenDayItemView *> (mContentWidget->mWidgets.at(1));
+    QCOMPARE(view->mCurrentPos, newPos);
+    view = static_cast<CalenDayItemView *> (mContentWidget->mWidgets.at(2));
+    QCOMPARE(view->mCurrentPos, newPos);
+#endif // __WINSCW__
 }
 
 QTEST_MAIN(TestCalenContentWidget);
--- a/calendarui/views/dayview/tsrc/unittests/unittest_calendaycontentwidget/unittest_calendaycontentwidget.pro	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendaycontentwidget/unittest_calendaycontentwidget.pro	Mon Sep 20 12:44:39 2010 +0530
@@ -22,7 +22,7 @@
 CONFIG += qtestlib
 CONFIG += symbian_test
 CONFIG += hb
-				
+
 INCLUDEPATH += . \
                ../../../inc/ \
 
@@ -31,8 +31,7 @@
                ../../../src/  
 
 # Input
-HEADERS +=	calendaymodelmanager.h \ 
-            calendaycontentwidgetheaders.h \
+HEADERS +=	calendayitemview.h \
 			calendaycontentwidget.h 
 			
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayutils/HbDeviceProfile	Mon Sep 20 12:44:39 2010 +0530
@@ -0,0 +1,1 @@
+#include "hbdeviceprofile.h"
\ No newline at end of file
--- a/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calencontext.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calencontext.h	Mon Sep 20 12:44:39 2010 +0530
@@ -52,6 +52,13 @@
 		{
 		return QDateTime(QDate(2000, 10, 10));
 		}
+    
+	void setFocusDateAndTimeAndInstance( const QDateTime& focusDateTime,
+                                         const TCalenInstanceId& aInstanceId )
+    {
+        Q_UNUSED(focusDateTime);
+        Q_UNUSED(aInstanceId);
+    }
 
 	};
 
--- a/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calendateutils.h	Mon Sep 06 15:58:44 2010 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,188 +0,0 @@
-/*
- * Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:  ?Description
- *
- */
-
-#ifndef __CALENDATEUTILS_H__
-#define __CALENDATEUTILS_H__
-
-#include <e32base.h>
-#include <qglobal.h>					// Q_DECL_EXPORT macro
-#ifdef  CALENDATEUTILS_DLL
-#define CALENDATEUTIL_EXPORT Q_DECL_EXPORT
-#else
-#define CALENDATEUTIL_EXPORT Q_DECL_IMPORT
-#endif
-
-// forward declarations
-class QDateTime;
-
-/**
- *  CalenDateUtils contains static utility functions useful
- *  when comparing and calculating with dates and times.
- *
- *  @lib Calendar.app
- *  @since 2.1
- */
-
-class CalenDateUtils
-	{
-public:
-	static bool onSameDay(const QDateTime& x, const QDateTime& y)
-		{
-		Q_UNUSED(x);Q_UNUSED(y);
-		return false;
-		}
-	static bool onSameMonth(const QDateTime& x, const QDateTime& y)
-		{
-		Q_UNUSED(x);Q_UNUSED(y);
-		return false;
-		}
-	static QDateTime beginningOfDay(const QDateTime& startTime)
-		{
-		Q_UNUSED(startTime);
-		return QDateTime();
-		}
-	static QDateTime displayTimeOnDay(const QDateTime& startTime,
-			const QDateTime& day)
-		{
-		Q_UNUSED(startTime);Q_UNUSED(day);
-		return QDateTime();
-		}
-
-	static bool timeRangesIntersect(const QDateTime& xStart,
-			const QDateTime& xEnd, const QDateTime& yStart,
-			const QDateTime& yEnd)
-		{
-		Q_UNUSED(xStart);Q_UNUSED(xEnd);Q_UNUSED(yStart);Q_UNUSED(yEnd);
-		return false;
-		}
-
-	/**
-	 * Is aTime between KCalenMaxYear/KCalenMaxMonth/KCalenMaxDay
-	 * and KCalenMinYear/KCalenMinMonth/KCalenMinDay.
-	 * Min/Max day is defined agenda server.
-	 * @param aTime aTime to be checked
-	 * @return EFalse : Out of range
-	 */
-	static bool isValidDay(const QDateTime& time)
-		{
-		Q_UNUSED(time);
-		return false;
-		}
-
-	/**
-	 * Return Min or Max time if aTime goes out of bounds. 
-	 * Valid range is [CalenDateUtils::MinTime(), CalenDateUtils::MaxTime]
-	 * @param aTime time to be checked
-	 * @return aTime, if aTime in [CalenDateUtils::MinTime(), CalenDateUtils::MaxTime]
-	 *         CalenDateUtils::MinTime(), if aTime < CalenDateUtils::MinTime()
-	 *         CalenDateUtils::MaxTime(), if aTime > CalenDateUtils::MaxTime()
-	 */
-	static QDateTime limitToValidTime(const QDateTime& time)
-		{
-		Q_UNUSED(time);
-		return QDateTime();
-		}
-
-	/**
-	 * Return maximum allowed time. (31.
-	 */
-	static QDateTime maxTime()
-		{
-		return QDateTime();
-		}
-
-	/**
-	 * Return minimum allowed time.
-	 */
-	static QDateTime minTime()
-		{
-		return QDateTime();
-		}
-
-	/**
-	 * Return time of day as a minutes from midnight. Useful to get hours::minutes component of datetime, 
-	 * regardless of date
-	 */
-	static int timeOfDay(const QDateTime& dateTime)
-		{
-		Q_UNUSED(dateTime);
-		return 0;
-		}
-
-	/**
-	 * Round QDateTime to previous full hour, e.g. RoundToPreviousHour( 23.11.2006 9:31 ) = 23.11.2006 9:00
-	 */
-	static QDateTime roundToPreviousHour(const QDateTime& dateTime)
-		{
-		Q_UNUSED(dateTime);
-		return QDateTime();
-		}
-
-	/**
-	 * Round QDateTimeIntervalMinutes to previous full hour, e.g. RoundToPreviousHour( 130 min ) = 120 min
-	 */
-	static int roundToPreviousHour(const int& minutes)
-		{
-		Q_UNUSED(minutes);
-		return 0;
-		}
-
-	/**
-	 * @return current time. 
-	 */
-	static QDateTime now()
-		{
-		return QDateTime();
-		}
-
-	/**
-	 * @return today with time component set to 00:00. 
-	 */
-	static QDateTime today()
-		{
-		return QDateTime();
-		}
-
-	/**
-	 * @return ETrue if given aTime is on today, EFalse otherwise
-	 */
-	static bool isOnToday(const QDateTime& time)
-		{
-		Q_UNUSED(time);
-		return false;
-		}
-
-	/* 
-	 * Given aDate = DD::MM::YY @ hh:mm:ss, it returns a QDateTime obj DD::MM::YY @ 08:00 am
-	 * @param: aDate, which has the DD::MM::YY
-	 */
-	static QDateTime defaultTime(const QDateTime& date)
-		{
-		Q_UNUSED(date);
-		return QDateTime();
-		}
-
-	static QDateTime futureOf(const QDateTime& dateTime, int numOfDays)
-		{
-		Q_UNUSED(dateTime);Q_UNUSED(numOfDays);
-		return QDateTime();
-		}
-	};
-
-#endif // __CALENDATEUTILS_H__
-
-// End of File
--- a/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calendaycontentwidget.h	Mon Sep 06 15:58:44 2010 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:  CalenDayContentWidget class definition.
- *
- */
-
-#ifndef CALENDAYCONTENTWIDGET_H_
-#define CALENDAYCONTENTWIDGET_H_
-
-// System includes
-#include <hbwidget.h>
-
-// User includes
-#include "calendaycommonheaders.h"
-
-// Forward declarations
-class QGraphicsLinearLayout;
-class CalenDayModelManager;
-
-class CalenDayContentWidget : public HbWidget
-	{
-Q_OBJECT
-
-public:
-	/*!
-	 \enum CalenWidgetPosition
-	 \brief Enumeration identifies widget position if queue.
-	 */
-	enum CalenWidgetPosition
-		{
-		ECalenLastWidget = 0, ECalenFirstWidget
-		};
-
-public:
-	CalenDayContentWidget(CalenDayModelManager &modelManager,
-			QGraphicsItem *parent = 0)
-		{
-		Q_UNUSED(parent);
-		Q_UNUSED(modelManager);
-		}
-	~CalenDayContentWidget()
-		{
-		}
-
-	void add(HbWidget* item, CalenWidgetPosition where = ECalenLastWidget)
-		{
-		Q_UNUSED(item);
-		Q_UNUSED(where);
-		}
-	HbWidget* take(CalenWidgetPosition which)
-		{
-		Q_UNUSED(which);
-		return 0;
-		}
-	void remove(CalenWidgetPosition which)
-		{
-		Q_UNUSED(which);
-		}
-
-	signals:
-	void widgetsRelayoutFinished(CalenScrollDirection scrollTo);
-	void scrollPositionChanged(const QPointF &newPos);
-
-public slots:
-	void relayoutWidgets(CalenScrollDirection scrollTo)
-		{
-		Q_UNUSED(scrollTo);
-		}
-	void widgetScrolled(const QPointF &newPos)
-		{
-		Q_UNUSED(newPos);
-		}
-	};
-
-#endif /* CALENDAYCONTENTWIDGET_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calendayinfo.h	Mon Sep 20 12:44:39 2010 +0530
@@ -0,0 +1,141 @@
+/*
+* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Mocked classes for testing CalenDayInfo class
+*
+*/
+
+#ifndef  CALENDAYINFO_H
+#define  CALENDAYINFO_H
+
+#include <calinstance.h>
+#include "caleninstanceid.h"
+
+const int KFSCalMaxDescriptionLength = 100;
+
+/*!
+ Mocked struct SCalenApptInfo
+ */
+struct SCalenApptInfo
+{
+    QModelIndex iIndex;
+    QDateTime iStartTime;
+    QDateTime iEndTime;
+    bool iAllDay;
+    TCalenInstanceId iId;
+    AgendaEntry::Status iStatus;
+    TBufC<KFSCalMaxDescriptionLength> iSummary;
+    TUint32 iColor;
+};
+
+/*!
+ Mocked class CalenTimeColumn
+ */
+class CalenTimeColumn
+{
+public:
+    CalenTimeColumn() {
+        
+    }
+    
+    ~CalenTimeColumn() {
+        
+    }
+};
+
+/*!
+ Mocked class CalenTimeRegion
+ */
+class CalenTimeRegion
+{
+public:
+    CalenTimeRegion() {
+        
+    }
+    
+    ~CalenTimeRegion() {
+        
+    }
+    
+    QList<CalenTimeColumn> iColumns;
+    
+    int iStartSlot;
+    int iEndSlot;
+};
+
+/*!
+ Mocked class CalenDayInfo
+ */
+class CalenDayInfo
+{
+public:
+    enum TSlotsInHour
+    {
+        EOne = 1, ETwo, EThree, EFour
+    };
+
+public:
+
+    CalenDayInfo(TSlotsInHour aSlotsInHour) 
+    {
+        Q_UNUSED(aSlotsInHour)
+    }
+    virtual ~CalenDayInfo()
+    {
+        
+    }
+
+    void GetLocation( const SCalenApptInfo& aItemInfo, int& aStartSlot,
+        int& aEndSlot, int& aColumnIndex, int& aColumns ) 
+    {
+        Q_UNUSED(aItemInfo)
+        Q_UNUSED(aStartSlot)
+        Q_UNUSED(aEndSlot)
+        Q_UNUSED(aColumnIndex)
+        Q_UNUSED(aColumns)
+    }
+    
+    int AlldayCount() 
+    {
+        return 0;
+    }
+    
+    const QList<CalenTimeRegion>& RegionList() const 
+    {
+       return mList; 
+    }
+    
+    void InsertAlldayEvent( const SCalenApptInfo& aItemInfo )
+    {
+        Q_UNUSED(aItemInfo)
+            
+        CalenTimeRegion region;
+        
+        region.iStartSlot = 10;
+        region.iEndSlot = 13;
+        region.iColumns << CalenTimeColumn();
+        
+        mList  << region;
+    }
+    
+    void Reset() {}
+    
+    void InsertTimedEvent( const SCalenApptInfo& aItemInfo ) {Q_UNUSED(aItemInfo);}
+    
+public:
+    QList<CalenTimeRegion> mList;
+};
+
+#endif // CALENDAYINFO_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calendaymodel.h	Mon Sep 20 12:44:39 2010 +0530
@@ -0,0 +1,72 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Single day item view model
+*
+*/
+
+#ifndef CALENDAYMODEL_H
+#define CALENDAYMODEL_H
+
+//System includes
+#include <QAbstractItemModel>
+#include <QVariant>
+#include <QDateTime>
+
+#include <agendaentry.h>
+
+//User includes
+
+//Forward declarations
+class MCalenServices;
+
+//Constantss
+const int CalenDayEntry = Qt::UserRole + 1; 
+
+Q_DECLARE_METATYPE(AgendaEntry)
+class CalenDayModel : public QAbstractListModel
+{
+    Q_OBJECT
+public:
+	CalenDayModel(const QDateTime &date, MCalenServices &services,
+						QObject *parent = 0)
+	{
+        Q_UNUSED(date)
+        Q_UNUSED(parent)
+        Q_UNUSED(date)
+	};
+	
+    // from QAbstractListModel
+	int rowCount(const QModelIndex &parent = QModelIndex()) const
+	{
+	    return 0;
+	}
+    QVariant data(const QModelIndex &index, int role) const
+    {
+        Q_UNUSED(index)
+        Q_UNUSED(role)
+        return QVariant();
+    }
+    
+	void refreshModel(const QDateTime &date) 
+	{
+	    Q_UNUSED(date)
+	};
+	
+	QDateTime modelDate() const
+	    {return QDateTime();}
+
+};
+
+#endif //CALENDAYMODEL_H
+
--- a/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calendayutils.h	Mon Sep 06 15:58:44 2010 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:  CalenDayUtils utility class header.
- *
- */
-
-#ifndef CALENDAYUTILS_H_
-#define CALENDAYUTILS_H_
-
-class CalenDayUtils
-	{
-public:
-	static CalenDayUtils *instance()
-		{
-		}
-	~CalenDayUtils()
-		{
-		}
-
-	qreal screenWidth()
-		{
-		return 0;
-		}
-	qreal hourElementWidth()
-		{
-		return 0;
-		}
-	qreal hourElementHeight()
-		{
-		return 0;
-		}
-	qreal contentWidth()
-		{
-		return 0;
-		}
-
-	Qt::Orientation orientation()
-		{
-		return Qt::Horizontal;
-		}
-
-	HbMainWindow* mainWindow()
-		{
-		return 0;
-		}
-
-	bool isHorizontalSwipe(qreal angle)
-		{
-		Q_UNUSED(angle);
-		return false;
-		}
-
-protected:
-	CalenDayUtils()
-		{
-		}
-	};
-
-#endif /* CALENDAYUTILS_H_ */
--- a/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calennativeview.h	Mon Sep 06 15:58:44 2010 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This class is the base class of all Calendar views.
- *
-*/
-
-
-#ifndef CALENNATIVEVIEW_H
-#define CALENNATIVEVIEW_H
-
-#ifdef  CALENVIEWS_DLL
-#define CALENNATIVEVIEW_EXPORT Q_DECL_EXPORT
-#else
-#define CALENNATIVEVIEW_EXPORT Q_DECL_IMPORT
-#endif
-
-//  System includes
-#include <hblabel.h>
-#include <hblistwidget.h>
-#include <hbabstractviewitem.h>
-
-// User includes
-#include "calennotificationhandler.h"   // MCalenNotificationHandler
-#include "calenview.h"
-
-const int WORKAROUND_TO_LIMIT_MAX_SPEED=8000;
-
-class MCalenServices;
-class HbDateTimePicker;
-
-class  CalenNativeView : public CalenView,
-                        public MCalenNotificationHandler
-    {
-    Q_OBJECT
-    
-	public:  // Constructors and destructor
-        /**
-         * Destructor.
-         */
-	    virtual ~CalenNativeView(){}
-	    virtual void populationComplete(){}
-		TBool pluginEnabled(){return EFalse;}
-		virtual void refreshViewOnGoToDate(){}
-		QString *pluginText() {QString* str = new QString("string"); return str;}
-	    /**
-	     * captureScreenshot captures the current screenshot
-	     */
-		CALENNATIVEVIEW_EXPORT void captureScreenshot(bool captureScreenShot = false) {Q_UNUSED(captureScreenShot);}
-		
-	protected:  // New functions
-	    CalenNativeView( MCalenServices& services ) : mServices(services){}
-	    
-	    void HandleNotification( const TCalenNotification notification ){Q_UNUSED(notification);}
-	    virtual void onLocaleChanged(int reason) {Q_UNUSED(reason);}
-	    virtual void onContextChanged() {}
-
-	protected slots:
-	
-        void goToDate(){}
-        void goToSelectedDate(){}
-        void deleteBeforeDate(){}
-        void deleteAllEntries(){}
-        void launchSettingsView(){}
-	    virtual void changeOrientation(Qt::Orientation orientation){Q_UNUSED(orientation);}
-	    /**
-	     * saveActivity saves the current view as an activity
-	     * 
-	     */
-	    void saveActivity(){}
-	    
-    protected:
-    
-        MCalenServices	&mServices; // not owned.
-        int             mActivityId; // Recent Activity ID, currently it holdes wither of ECalenMonthView or ECalenAgendaView
-        QVariantHash    mScreenShotMetadata; // Screenshot
-
-	};
-
-#endif  // CALENNATIVEVIEW_H
-
-// End of file
--- a/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calennotificationhandler.h	Mon Sep 06 15:58:44 2010 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Notification interface for S60 Calendar customizations
-*
-*/
-
-#ifndef CALENNOTIFICATIONHANDLER_H
-#define CALENNOTIFICATIONHANDLER_H
-
-enum TCalenNotification
-    {
-    ECalenNotifyAll                                = 0, // Receive all notifications
-    ECalenNotifyEntryInstanceViewCreated,
-    ECalenNotifyEntryInstanceViewCreationFailed,
-    ECalenNotifyContextChanged,
-    ECalenNotifyExternalDatabaseChanged,
-    ECalenNotifyEntrySaved,
-    ECalenNotifyEntryDeleted,
-    ECalenNotifyMultipleEntriesDeleted,
-    ECalenNotifyInstanceSaved,
-    ECalenNotifyInstanceDeleted,
-    ECalenNotifySystemTimeChanged,
-    ECalenNotifySystemLocaleChanged,
-    ECalenNotifySystemLanguageChanged,
-    ECalenNotifyLostAlarms,
-    ECalenNotifyCmdLineLaunch,
-    ECalenNotifyAvkonViewSwitchLaunch,
-    ECalenNotifySettingsChanged,
-    ECalenNotifyViewCreationStarted,
-    ECalenNotifyDialogClosed,
-    ECalenNotifyCommandFailed,
-    ECalenNotifyDeleteFailed,
-    ECalenNotifyEntryClosed,
-    ECalenNotifySettingsClosed,
-    ECalenNotifySettingsCRepKeyChanged,
-    ECalenNotifyPluginEnabledDisabled,
-    ECalenNotifyEComRegistryChanged,
-    ECalenNotifyResourceChanged,
-    ECalenNotifyViewPopulationComplete,
-    ECalenNotifyAppForegrounded,
-    ECalenNotifyAppBackgrounded,
-    ECalenNotifyMarkedEntryDeleted,
-    ECalenNotifyCheckPluginUnloading,
-    ECalenNotifyEntrySent,
-    ECalenNotifyCancelDelete,
-    ECalenNotifyDayViewClosed,
-	ECalenNotifyMapClosed,
-	ECalenNotifyCancelMapLaunch,
-    ECalenNotifyMissedAlarmViewClosed,
-    ECalenNotifyMissedEventViewClosed,
-    ECalenNotifyEditorClosedFromViewer,
-    /*ECalenNotifyUserDefined1,
-    ECalenNotifyUserDefined2,*/
-    ECalenNotifyThaiPluginEnabled,
-    ECalenNotifyThaiPluginDisabled,
-    ECalenNotifyUserDefined3,
-    ECalenNotifyUserDefined4,
-    ECalenNotifyLast  
-    };
-
-/**
- * Class for handling calendar notifications.
- */
-class MCalenNotificationHandler
-    {
-    public:  // New functions
-        virtual void HandleNotification( const TCalenNotification aNotification ) = 0;
-    };
-
-#endif  // CALENNOTIFICATIONHANDLER_H
-
-// End of file
--- a/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calenservices.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calenservices.h	Mon Sep 20 12:44:39 2010 +0530
@@ -9,6 +9,8 @@
 #define CALENSERVICES_H_
 
 #include "calencontext.h"
+#include "calennotificationhandler.h"
+#include "hb_calencommands.hrh"
 
 /*!
  Mocked class MCalenServices
@@ -27,13 +29,27 @@
     	}
     
     int getFirstView(){ return 0;}
-    TBool IssueCommandL( TInt aCommand  ){ Q_UNUSED(aCommand); return EFalse;}
+    bool IssueCommandL( quint32 aCommand  ){ mLastCommand  = aCommand; return true;}
     AgendaUtil* agendaInterface() {return 0;}
     
+    void RegisterForNotificationsL( MCalenNotificationHandler* aHandler,
+                                    TCalenNotification aNotification ) {}
+    
+    virtual void RegisterForNotificationsL( MCalenNotificationHandler* aHandler,
+                                            RArray<TCalenNotification>& aNotifications )
+    {}
+    
+    void IssueNotificationL( quint32 aNotification ) { mLastCommand  = aNotification; }
+    
+    QString* InfobarTextL() {return 0;}
+    
+    quint32 lastCommand() {return mLastCommand;}
+    
+    quint32 mLastCommand;
+    MCalenContext mContext;
+    
     ~MCalenServices() {
         
     }
-    
-    MCalenContext mContext;
 };
 #endif /* CALENSERVICES_H_ */
--- a/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/hb_calencommands.hrh	Mon Sep 06 15:58:44 2010 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Calendar controller commands
-*
-*/
-
-
-#ifndef HB_CALENCOMMANDS_HRH
-#define HB_CALENCOMMANDS_HRH
-
-
-// 1000 commands for each action ui.
-// We start from 10000 because otherwise we might overlap other command ranges,
-// e.g. Avkon == 3000.
-
-enum TCalenCommandBase
-    {
-    ECalenViewCommandBase               = 20000,
-    ECalenEditCommandBase               = 20100,
-    ECalenDeleteCommandBase             = 20200,
-    ECalenSettingsCommandBase           = 20300,
-    ECalenMapCommandBase		= 20400,
-    ECalenMissedAlarmCommandBase 	= 20500
-    };
-
-enum TCalenCommandId
-    {
-    ECalenMonthView                             = ECalenViewCommandBase,
-    ECalenWeekView,
-    ECalenAgendaView,
-    ECalenDayView,
-    ECalenTodoEditor,
-    ECalenTodoEditorDone,
-    ECalenForwardsToDayView,
-    ECalenNextView,
-    ECalenPrevView,
-    ECalenSwitchView,
-    ECalenShowToolbar,
-    ECalenHideToolbar,
-    ECalenUpdateToolbar,
-    ECalenHidePreview,
-    ECalenShowPreview,
-    ECalenStartActiveStep,
-    ECalenGotoToday,
-    ECalenGotoDate,
-    ECalenEventView,
-    ECalenCmdPromptThenEdit,    
-    ECalenFasterAppExit,
-    ECalenShowNextDay,
-    ECalenShowPrevDay,
-    ECalenNewMeeting                            = ECalenEditCommandBase,
-    ECalenNewAnniv,
-    ECalenNewDayNote,
-    ECalenNewReminder,
-    ECalenNewMeetingRequest,
-    ECalenNewEntry, 
-    ECalenEditCurrentEntry,
-    ECalenEditSeries,
-    ECalenEditOccurrence,
-    ECalenEditEntryFromViewer,
-    ECalenViewCurrentEntry,
-    ECalenNotifyFocusChange,
-    ECalenCompleteTodo,
-    ECalenRestoreTodo,
-    ECalenSend,
-    ECalenDeleteCurrentEntry                    = ECalenDeleteCommandBase,
-    ECalenDeleteEntryWithoutQuery,
-    ECalenDeleteSeries,
-    ECalenDeleteCurrentOccurrence,
-    ECalenDeleteAllEntries,
-    ECalenDeleteEntriesBeforeDate,
-    ECalenCancelDelete,
-    ECalenDeleteEntryFromViewer,
-    ECalenShowSettings                          = ECalenSettingsCommandBase,
-    ECalenGetLocation				= ECalenMapCommandBase,
-    ECalenShowLocation,
-    ECalenGetLocationAndSave,
-    ECalenMissedAlarmsView                      = ECalenMissedAlarmCommandBase,
-    ECalenMissedEventView,
-    ECalenCmdClear,
-    ECalenCmdClearAll,    						
-    ECalenCmdGotoCalendar,
-    ECalenMissedAlarmsViewFromIdle,
-    ECalenMissedEventViewFromIdle,
-    ECalenLastCommand,
-    ECalenRegionalPluginTapEvent
-    };
-
-#endif // HB_CALENCOMMANDS_HRH
-
-// End of file
--- a/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/unittest_calendayview.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/unittest_calendayview.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -19,6 +19,9 @@
 #include "calenservices.h"
 #include "calendateutils.h"
 #include "calendaymodelmanager.h"
+
+#define private public
+
 #include "calendayview.h"
 
 class TestCalenDayView : public QObject
@@ -36,9 +39,20 @@
     void cleanup();
 
     void testConstructors();
-
+    void testPopulationComplete();
+    void testDoPopulation();
+    void testOnBack();
+    void testDayChangeStarted();
+    void testRunChangeToAgendaView();
+    void testRunLunarData();
+    void testRunNewMeeting();
+    void testRunGoToToday();
+    void testChangeView();
+    
+    
 private:
     CalenDayView *mView;
+    MCalenServices mServices;
 };
 
 /*!
@@ -78,7 +92,8 @@
  */
 void TestCalenDayView::init()
 {
-
+    mServices.IssueCommandL(0);
+    mView = new CalenDayView(mServices);
 }
 
 /*!
@@ -89,6 +104,11 @@
 
 }
 
+/*!
+ Test function for constructors
+ 1. Test if content widget is not initialized
+ 2. Test if content widget is correcty created
+ */
 void TestCalenDayView::testConstructors()
 {
 	MCalenServices services;
@@ -103,6 +123,149 @@
     delete testView;
 }
 
+/*!
+   Test if population was done.
+   1)Check if there is no command before
+   2)Check if command population complete is send
+ */
+void TestCalenDayView::testPopulationComplete()
+{
+    //1)
+    QVERIFY(mServices.lastCommand() == 0);
+    
+    //2)
+    mView->doPopulation();
+    
+    QVERIFY(mServices.lastCommand() == ECalenNotifyViewPopulationComplete);
+}
+
+/*!
+   Test if population was done.
+   1)Check if there is no command before
+   2)Check if command population complete is send
+ */
+void TestCalenDayView::testDoPopulation()
+{
+    QVERIFY(mServices.lastCommand() == 0);
+    
+    mView->populationComplete();
+    
+    QVERIFY(mServices.lastCommand() == ECalenNotifyViewPopulationComplete);
+}
+
+/*!
+   Test if population was done.
+   1)Check if there is no command before
+   2)Check if command  month view is send
+ */
+void TestCalenDayView::testOnBack()
+{
+#ifndef __WINSCW__
+    QVERIFY(mServices.lastCommand() == 0);
+    
+    mView->onBack();
+    
+    QVERIFY(mServices.lastCommand() == ECalenMonthView);
+#endif /*__WINSCW__*/
+}
+
+/*!
+   Test if population was done.
+   1)Check if next date is set
+   2)Check if priovor date is set
+ */
+void TestCalenDayView::testDayChangeStarted()
+{
+#ifndef __WINSCW__
+    mView->mDate = QDateTime(QDate(2010,9,8),QTime(10,10,10));
+    mView->dayChangeStarted(ECalenScrollToNext);
+    
+    QVERIFY(mView->mDate == QDateTime(QDate(2010,9,9),QTime(10,10,10)));
+    
+    mView->dayChangeStarted(ECalenScrollToPrev);
+        
+    QVERIFY(mView->mDate == QDateTime(QDate(2010,9,8),QTime(10,10,10)));
+#endif /*__WINSCW__*/
+}
+
+/*!
+   Test if population was done.
+   1)Check if there is no command before
+   2)Check if command go to agenda view is send
+ */
+void TestCalenDayView::testRunChangeToAgendaView()
+{
+#ifndef __WINSCW__
+    QVERIFY(mServices.lastCommand() == 0);
+    
+    mView->runChangeToAgendaView();
+    
+    QVERIFY(mServices.lastCommand() == ECalenAgendaView);
+#endif /*__WINSCW__*/
+}
+
+/*!
+   Test if population was done.
+   1)Check if there is no command before
+   2)Check if command regional info taped is send
+ */
+void TestCalenDayView::testRunLunarData()
+{
+#ifndef __WINSCW__
+    QVERIFY(mServices.lastCommand() == 0);
+    
+    mView->runLunarData();
+    
+    QVERIFY(mServices.lastCommand() == ECalenRegionalPluginTapEvent); 
+#endif /*__WINSCW__*/  
+}
+
+/*!
+   Test if population was done.
+   1)Check if there is no command before
+   2)Check if command new meeting is send
+ */
+void TestCalenDayView::testRunNewMeeting()
+{
+#ifndef __WINSCW__
+    QVERIFY(mServices.lastCommand() == 0);
+    
+    mView->runNewMeeting();
+    
+    QVERIFY(mServices.lastCommand() == ECalenNewMeeting);   
+#endif /*__WINSCW__*/
+}
+
+/*!
+   Test if population was done.
+   1)Check if there is no command before
+   2)Check if command go to today is send
+ */
+void TestCalenDayView::testRunGoToToday()
+{
+#ifndef __WINSCW__
+    QVERIFY(mServices.lastCommand() == 0);
+    
+    mView->runGoToToday();
+    
+    QVERIFY(mServices.lastCommand() == ECalenGotoToday); 
+#endif /*__WINSCW__*/
+}
+
+/*!
+   Test if population was done.
+   1)Check if there is no command before
+   2)Check if command givenn command is send
+ */
+void TestCalenDayView::testChangeView()
+{
+    QVERIFY(mServices.lastCommand() == 0);
+    
+    mView->changeView(ECalenAgendaView);
+    
+    QVERIFY(mServices.lastCommand() == ECalenAgendaView); 
+}
+
 QTEST_MAIN(TestCalenDayView);
 
 #include "unittest_calendayview.moc"
--- a/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/unittest_calendayview.pro	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/unittest_calendayview.pro	Mon Sep 20 12:44:39 2010 +0530
@@ -25,12 +25,17 @@
 				
 INCLUDEPATH += . \
                ../../../inc/ \
-               ../../../../../inc/
+               ../../../../inc/ \
+               ../../../../traces/ \
+               ../../../../../inc/ \
+               
 
 DEPENDPATH  += . \
                ../../../inc/ \
                ../../../src/ \
-               ../../../../../inc/
+               ../../../../inc/ \
+               ../../../../src/ \
+               ../../../../../inc/ 
 
 # Input
 HEADERS +=	hbeffect.h \
@@ -50,12 +55,24 @@
 			calendaycontentscrollarea.h \
 			calendayhourscrollarea.h \
 			calendayutils.h \
-			calendateutils.h \
 			calendayview.h \
-			calencommon.h
+			calencommon.h \
+			calendayitemview.h \
+			calendaycontainer.h \
+			calendayeventspane.h \
+			calendayitem.h \
+			calendaystatusstrip.h
 
 SOURCES +=	unittest_calendayview.cpp \
-			calendayview.cpp 
+			calendayview.cpp \
+			calennativeview.cpp \
+			calendaycontentwidget.cpp \
+            calendayitemview.cpp \
+            calendayutils.cpp \
+            calendaycontainer.cpp \
+            calendayeventspane.cpp \
+            calendayitem.cpp \
+            calendaystatusstrip.cpp
 
 symbian : {
 	TARGET.CAPABILITY = CAP_APPLICATION
@@ -64,7 +81,8 @@
     INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
     
         LIBS += -lagendainterface \
-    		-lxqsettingsmanager
+    		-lxqsettingsmanager \
+    		-lcalencommonutils
 }
 
 # End of file	--Don't remove this.
--- a/calendarui/views/eabi/calenviewsu.def	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/views/eabi/calenviewsu.def	Mon Sep 20 12:44:39 2010 +0530
@@ -267,4 +267,6 @@
 	_ZThn8_N22CalenDayHourScrollAreaD1Ev @ 266 NONAME
 	_ZThn8_N25CalenDayContentScrollAreaD0Ev @ 267 NONAME
 	_ZThn8_N25CalenDayContentScrollAreaD1Ev @ 268 NONAME
+	_ZN14CalenMonthGrid18checkIfWeCanScrollE15scrollDirection @ 269 NONAME
+	_ZN21CalenThickLinesDrawer6polishER17HbStyleParameters @ 270 NONAME
 
--- a/calendarui/views/inc/calenmonthgrid.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/views/inc/calenmonthgrid.h	Mon Sep 20 12:44:39 2010 +0530
@@ -80,6 +80,7 @@
 	void setActiveDates(QDate activeDate);
 	void paint(QPainter* painter, 
 	           const QStyleOptionGraphicsItem* option, QWidget* widget);
+	bool checkIfWeCanScroll(scrollDirection direction);
 	
 public slots:
 	void scrollingFinished();
@@ -107,6 +108,7 @@
 	QColor mGridLineColor;
 	bool mActiveDatesSet;
 	bool mIsGridAdjusting;
+	bool mEventIndicatorNotSet;
 };
 
 #endif // CALENMONTHGRID_H
--- a/calendarui/views/inc/calennativeview.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/views/inc/calennativeview.h	Mon Sep 20 12:44:39 2010 +0530
@@ -26,6 +26,8 @@
 #endif
 
 //  System includes
+#include <QObject>
+#include <QPointer>
 #include <hblabel.h>
 #include <hblistwidget.h>
 #include <hbabstractviewitem.h>
@@ -64,10 +66,11 @@
 	    void HandleNotification( const TCalenNotification notification );
 	    virtual void onLocaleChanged(int reason)=0;
 	    virtual void onContextChanged() {};
-	
+	    virtual bool checkIfWeCanSwipe(QDateTime& date, bool rightGesture);
+	    
 	signals:
-		void closeDialogs();
-	
+			void closeDialogs();
+
 	protected slots:
 	
         void goToDate();
@@ -81,7 +84,9 @@
 	     * 
 	     */
 	    void saveActivity();
-	    
+     private:
+	void refreshDatePicker();
+	
     protected:
     
         MCalenServices	&mServices; // not owned.
@@ -89,7 +94,7 @@
         QVariantHash    mScreenShotMetadata; // Screenshot
         bool mEntriesInDataBase;
     private:
-        HbDateTimePicker	*mDatePicker;
+        QPointer<HbDateTimePicker> mDatePicker;
         bool                mIsCapturedScreenShotValid; // to check if the captured screenshot is valid
 	};
 
--- a/calendarui/views/inc/calenthicklinesdrawer.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/views/inc/calenthicklinesdrawer.h	Mon Sep 20 12:44:39 2010 +0530
@@ -44,7 +44,10 @@
 private:
 	void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, 
 	           QWidget* widget);
-		
+
+protected:
+	void polish(HbStyleParameters &params);
+	
 private:
 	QColor mGridBorderColor;
 	CalendarNamespace::WidgetType typeOfWidget;
--- a/calendarui/views/resources/caleneventlistviewitem.css	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/views/resources/caleneventlistviewitem.css	Mon Sep 20 12:44:39 2010 +0530
@@ -1,7 +1,7 @@
-CalenEventListViewItem{
+CalenEventListViewItem[layoutName="custom"]{
 	layout: custom;
 }
-CalenEventListViewItem[customstretch="true"]{
+CalenEventListViewItem[layoutName="custom"][customstretch="true"]{
 	layout: custom-stretch;
 }
 
--- a/calendarui/views/src/calenagendaview.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/views/src/calenagendaview.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -154,21 +154,15 @@
     // Set self as the current view
     // mServices.MainWindow().setCurrentView(this);
     
-    // Dont override the soft key behavior if day view is the first view
-    if (ECalenAgendaView != mServices.getFirstView()) {
+    // Dont override the soft key behavior if day view or agenda view is the first view
+    if (ECalenMonthView == mServices.getFirstView()) {
 		mSoftKeyAction = new HbAction(Hb::BackNaviAction);
 		setNavigationAction(mSoftKeyAction);
 		// Connect to the signal triggered by clicking on back button.
 		connect(mSoftKeyAction, SIGNAL(triggered()), this,
 		        SLOT(launchMonthView()));
-		if (mSwitchToDayViewAction) {
-			mSwitchToDayViewAction->setVisible(true);
-				}
-	} else {
-		if (mSwitchToDayViewAction) {
-			mSwitchToDayViewAction->setVisible(false);
-		}
 	}
+    
     // Initialize the content widget
     mAgendaViewWidget->showWidget();
     
@@ -240,10 +234,16 @@
     if(HbSwipeGesture *gesture = qobject_cast<HbSwipeGesture *>(event->gesture(Qt::SwipeGesture))) {
         if (gesture->state() == Qt::GestureStarted) {
             if(QSwipeGesture::Left == gesture->sceneHorizontalDirection()) {
-                mServices.IssueCommandL(ECalenShowNextDay);
+                // Check if we can swipe
+                if (checkIfWeCanSwipe(mDate, false)) {
+                    mServices.IssueCommandL(ECalenShowNextDay);
+                }
                 event->accept(Qt::SwipeGesture);
             } else if(QSwipeGesture::Right == gesture->sceneHorizontalDirection()) {
-                mServices.IssueCommandL(ECalenShowPrevDay);
+                // Check if we can swipe
+                if (checkIfWeCanSwipe(mDate, true)) {
+                    mServices.IssueCommandL(ECalenShowPrevDay);
+                }
                event->accept(Qt::SwipeGesture);
             }
         }
--- a/calendarui/views/src/calenagendaviewwidget.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/views/src/calenagendaviewwidget.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -319,7 +319,10 @@
     
     // TODO : remove this line after gestures are available
     mEventsList->installEventFilter(mView);
-
+    
+    // Enable the pixmap cache for better scrolling performance
+    mEventsList->setItemPixmapCacheEnabled(true);
+        
     // Connect to the long press and activation signals
     connect(mEventsList, SIGNAL(longPressed(HbAbstractViewItem*, const QPointF&)),
             this, SLOT(itemLongPressed(HbAbstractViewItem*, const QPointF&)));
--- a/calendarui/views/src/calenmonthgrid.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/views/src/calenmonthgrid.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -67,14 +67,14 @@
 	mIgnoreItemActivated(false),
 	mGridLineColor(HbColorScheme::color("qtc_cal_grid_line")),
     mActiveDatesSet(false),
-    mIsGridAdjusting(false)
+    mIsGridAdjusting(false),
+    mEventIndicatorNotSet(false)
 {
     OstTraceFunctionEntry0( CALENMONTHGRID_CALENMONTHGRID_ENTRY );
     
 	setScrollDirections(Qt::Vertical);
 	setRowCount(KNumOfVisibleRows);
 	setColumnCount(KCalenDaysInWeek);
-	setLongPressEnabled(false);
 	setItemRecycling(false);
 	setSelectionMode(HbGridView::NoSelection);
 	setUniformItemSizes(true);
@@ -84,6 +84,9 @@
 	setFrictionEnabled(false);
 	setFlag(QGraphicsItem::ItemHasNoContents, false);
 	
+	// Enable the pixmap cache for better scrolling performance
+	setItemPixmapCacheEnabled(true);
+	
 	// Disable the rows and columns swapping on orientation change
 	setSwapDimensionsOnOrientationChange(false);
 	
@@ -234,15 +237,16 @@
 	    connect(
 	            HbTheme::instance(), SIGNAL(changed()),
 	            gridItemPrototype, SLOT(handleThemeChange()));
-	    
-		// Set the mode and the prototype
-		setModel(mModel,gridItemPrototype);
 		
 		// Register the widgetml and css files
 		HbStyleLoader::registerFilePath(":/");
 		
 		// Set the layout name
 		setLayoutName("calendarCustomGridItem");
+		
+		// Set the mode and the prototypec --> set it after setting layout name and 
+		// other things as it will avoid unnecessary polish calls
+        setModel(mModel,gridItemPrototype);
 	} else {
 		// Since, we have finished setData, Now unblock the signals
 		mModel->blockSignals(false);
@@ -309,6 +313,11 @@
 	connect(this, SIGNAL(activated(const QModelIndex &)), this,
 						SLOT(itemActivated(const QModelIndex &)));
 	
+	// Check if we need to set the event indicators
+	if(mEventIndicatorNotSet) {
+	    mEventIndicatorNotSet = false;
+	    updateMonthGridWithEventIndicators(monthDataArray);
+	}
 	OstTraceFunctionExit0( CALENMONTHGRID_UPDATEMONTHGRIDWITHINACTIVEMONTHS_EXIT );
 }
 
@@ -321,15 +330,22 @@
     OstTraceFunctionEntry0( CALENMONTHGRID_UPDATEMONTHGRIDWITHEVENTINDICATORS_ENTRY );
     
 	int count(monthDataArray.count());
-	for(int i = 0; i < count; i++) {
-		// Check if the day has events
-		if (monthDataArray[i].HasEvents()) {
-			QModelIndex itemIndex = mModel->index(i,0);
-			QVariant itemData = itemIndex.data(Qt::UserRole + 1);
-			QVariantList list = itemData.toList();
-			list.replace(CalendarNamespace::CalendarMonthEventRole, true);
-			mModel->itemFromIndex(itemIndex)->setData(list);
-		}
+	
+	// Check if model is updated with all the dates
+	// If not, return false for later updation
+	if(count == mModel->rowCount()) {
+        for(int i = 0; i < count; i++) {
+            // Check if the day has events
+            if (monthDataArray[i].HasEvents()) {
+                QModelIndex itemIndex = mModel->index(i,0);
+                QVariant itemData = itemIndex.data(Qt::UserRole + 1);
+                QVariantList list = itemData.toList();
+                list.replace(CalendarNamespace::CalendarMonthEventRole, true);
+                mModel->itemFromIndex(itemIndex)->setData(list);
+            }
+        }
+	} else {
+	    mEventIndicatorNotSet = true;
 	}
 	
 	OstTraceFunctionExit0( CALENMONTHGRID_UPDATEMONTHGRIDWITHEVENTINDICATORS_EXIT );
@@ -446,7 +462,7 @@
 {
     OstTraceFunctionEntry0( CALENMONTHGRID_GESTUREEVENT_ENTRY );
     
-    // Dont listem for any gesture when grid is getting adjusted as listening to those was causing
+    // Dont listen for any gesture when grid is getting adjusted as listening to those was causing
     // grid to stop abruptly i between
     if (mIsGridAdjusting) {
         // consume the event and return
@@ -468,18 +484,9 @@
                 // Use our defined threshold temporarily till scrollarea 
                 // frm orbit side is made clever enough not to scroll in other direction
                 // apart frm the registered scroll direction
-                QPointF delta = gesture->delta();
-                // Check the current orientation of the device and
-                // swap the vertical and horizontal distances in landscape
-                qreal horizontalDiff = 0.0;
-                qreal verticalDiff = 0.0;
-                if (hbInstance->allMainWindows().at(0)->orientation() == Qt::Vertical) {
-                    horizontalDiff = delta.x();
-                    verticalDiff = delta.y();
-                } else {
-                    horizontalDiff = delta.y();
-                    verticalDiff = delta.x();
-                }
+                QPointF delta = gesture->sceneOffset();
+                qreal horizontalDiff = delta.x();
+                qreal verticalDiff = delta.y();
                 if (abs(horizontalDiff) > MAX_PAN_DIRECTION_THRESHOLD) {
                     // Now see if y coord diff has crossed threshold
                     if (verticalDiff > MAX_PAN_DIRECTION_THRESHOLD) {
@@ -538,6 +545,15 @@
         }
     }
    
+   // Check if we can scroll
+   if (!checkIfWeCanScroll(mDirection)) {
+       // We cannot scroll, return back
+       mIsPanGesture = false;
+       mIgnoreItemActivated = false;
+       mDirection = invalid;
+       event->accept(Qt::PanGesture);
+   }
+   
    if (mDirection!= invalid) {
         // Call the parent class to perform the pan gesture
         // When scrolling finished, month grid will adjust to show the proper month
@@ -922,11 +938,15 @@
 {
     OstTraceFunctionEntry0( CALENMONTHGRID_ITEMACTIVATED_ENTRY );
     
-	if (mIgnoreItemActivated) {
+    QList<CalenMonthData >& monthDataList = mView->monthDataList();
+    // Chekc if we need to ignore the event or the newly tapped date is
+    // not valid date
+	if (mIgnoreItemActivated || !(CalenDateUtils::isValidDay(monthDataList[index.row()].Day()))) {
 		mIgnoreItemActivated = false;
 		OstTraceFunctionExit0( CALENMONTHGRID_ITEMACTIVATED_EXIT );
 		return;
 	}
+	
 	mIsNonActiveDayFocused = false;
 	// Check if the same item has been tapped twice
 	if (mCurrentRow == index.row()) {
@@ -956,7 +976,6 @@
 		// Check if inactive date is tapped
 		QDateTime activeMonth = mView->getActiveDay();
 		int month = activeMonth.date().month();
-		QList<CalenMonthData >& monthDataList = mView->monthDataList();
 		if(month != monthDataList[mCurrentRow].Day().date().month()){
 			// Set the flag
 			mIsNonActiveDayFocused = true;
@@ -1150,7 +1169,6 @@
 {
     OstTraceFunctionEntry0( CALENMONTHGRID_ORIENTATIONCHANGED_ENTRY );
     
-    Q_UNUSED(newOrientation)
 	// We are overriding this function to avoid the default behavior of
 	// hbgridview on orientation change as it swaps the row and column counts
 	// Calculate the proper index to be scrolled to
@@ -1271,6 +1289,34 @@
 }
 
 /*!
+ Function to check if scrolling is allowed. This function will make an effect
+ only when you are going to month that is not supported by us.
+ */
+bool CalenMonthGrid::checkIfWeCanScroll(scrollDirection direction)
+{
+    OstTraceFunctionEntry0( CALENMONTHGRID_CHECKIFWECANSCROLL_ENTRY );
+    
+    bool value = true;
+    
+    // Get the current active Date
+    QDateTime activeDate = mView->getActiveDay();
+    // if direction is up, then check if the next month is
+    // not January, 2101
+    if (direction == up) {
+        QDateTime nextMonth = activeDate.addMonths(1);
+        value = CalenDateUtils::isValidDay(nextMonth);
+    } else if (direction == down) { // if direction is up, then check if the next month is
+        // not December, 1899
+        QDateTime prevMonth = activeDate.addMonths(-1);
+        value = CalenDateUtils::isValidDay(prevMonth);
+    }
+    
+    OstTraceFunctionExit0( CALENMONTHGRID_CHECKIFWECANSCROLL_EXIT );
+    
+    return value;
+}
+
+/*!
  Slot to handle the change in theme
  */
 void CalenMonthGrid::handleThemeChange()
--- a/calendarui/views/src/calenmonthview.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/views/src/calenmonthview.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -1569,72 +1569,76 @@
 {
     OstTraceFunctionEntry0( CALENMONTHVIEW_HANDLEPREVIEWPANEGESTURE_ENTRY );
     
-	QGraphicsLinearLayout* viewLayout = static_cast<QGraphicsLinearLayout *>
-												(widget()->layout());
-	
-	// Set the effect in progress flags for next and previous panes
-	// For current pane, we would have set it in gestureEvent() function
-	mPrevPreviewPane->effectStarted();
-	mNextPreviewPane->effectStarted();
-	
-	if(rightGesture) {
-		// Need to bring up the previous day preview pane
-		// Create the effect on mCurrPreviewPane to slide to right side
-		mPrevPaneParent->setVisible(true);
-		if (mOrientation == Qt::Vertical) {
-			HbEffect::add(mCurrPaneLayoutWidget,
-						  ":/fxml/portrait_preview_pane_hide_on_right_gesture",
-						  "hide");
-			HbEffect::add(mPrevPaneLayoutWidget,
-						  ":/fxml/portrait_preview_pane_show_on_right_gesture",
-						  "show");
-		} else {
-			HbEffect::add(mCurrPaneLayoutWidget,
-						  ":/fxml/landscape_preview_pane_hide_on_right_gesture",
-						  "hide");
-			HbEffect::add(mPrevPaneLayoutWidget,
-						  ":/fxml/landscape_preview_pane_show_on_right_gesture",
-						  "show");
-		}
-		// Start the effects
-		HbEffect::start(mCurrPaneLayoutWidget, "hide");
-		HbEffect::start(mPrevPaneLayoutWidget, "show", 
-										this, "handleRightEffectCompleted");
-		
-		//Remove the mCurrPreviewPane from the layout and add mPrevPreviewPane
-		// to the layout
-		viewLayout->removeAt(1);
-		viewLayout->addItem(mPrevPaneParent);
-	} else {
-		// Need to bring up the previous day preview pane
-		// Create the effect on mCurrPreviewPane to slide to left side
-		mNextPaneParent->setVisible(true);
-		if (mOrientation == Qt::Vertical) {
-			HbEffect::add(mCurrPaneLayoutWidget,
-						  ":/fxml/portrait_preview_pane_hide_on_left_gesture",
-						  "hide");
-			HbEffect::add(mNextPaneLayoutWidget,
-						  ":/fxml/portrait_preview_pane_show_on_left_gesture",
-						  "show");
-		} else {
-			HbEffect::add(mCurrPaneLayoutWidget,
-						  ":/fxml/landscape_preview_pane_hide_on_left_gesture",
-						  "hide");
-			HbEffect::add(mNextPaneLayoutWidget,
-						  ":/fxml/landscape_preview_pane_show_on_left_gesture",
-						  "show");
-		}
-		
-		// Start the effects
-		HbEffect::start(mCurrPaneLayoutWidget, "hide");
-		HbEffect::start(mNextPaneLayoutWidget, "show", 
-										this, "handleLeftEffectCompleted");
-		
-		//Remove the mCurrPreviewPane from the layout and add mNextPreviewPane
-		// to the layout
-		viewLayout->removeAt(1);
-		viewLayout->addItem(mNextPaneParent);
-	}
+    // Check if we can swipe, if yes, then proceed, else, do nothing
+    if (checkIfWeCanSwipe(mDate, rightGesture)) {
+    
+        QGraphicsLinearLayout* viewLayout = static_cast<QGraphicsLinearLayout *>
+                                                    (widget()->layout());
+        
+        // Set the effect in progress flags for next and previous panes
+        // For current pane, we would have set it in gestureEvent() function
+        mPrevPreviewPane->effectStarted();
+        mNextPreviewPane->effectStarted();
+        
+        if(rightGesture) {
+            // Need to bring up the previous day preview pane
+            // Create the effect on mCurrPreviewPane to slide to right side
+            mPrevPaneParent->setVisible(true);
+            if (mOrientation == Qt::Vertical) {
+                HbEffect::add(mCurrPaneLayoutWidget,
+                              ":/fxml/portrait_preview_pane_hide_on_right_gesture",
+                              "hide");
+                HbEffect::add(mPrevPaneLayoutWidget,
+                              ":/fxml/portrait_preview_pane_show_on_right_gesture",
+                              "show");
+            } else {
+                HbEffect::add(mCurrPaneLayoutWidget,
+                              ":/fxml/landscape_preview_pane_hide_on_right_gesture",
+                              "hide");
+                HbEffect::add(mPrevPaneLayoutWidget,
+                              ":/fxml/landscape_preview_pane_show_on_right_gesture",
+                              "show");
+            }
+            // Start the effects
+            HbEffect::start(mCurrPaneLayoutWidget, "hide");
+            HbEffect::start(mPrevPaneLayoutWidget, "show", 
+                                            this, "handleRightEffectCompleted");
+            
+            //Remove the mCurrPreviewPane from the layout and add mPrevPreviewPane
+            // to the layout
+            viewLayout->removeAt(1);
+            viewLayout->addItem(mPrevPaneParent);
+        } else {
+            // Need to bring up the previous day preview pane
+            // Create the effect on mCurrPreviewPane to slide to left side
+            mNextPaneParent->setVisible(true);
+            if (mOrientation == Qt::Vertical) {
+                HbEffect::add(mCurrPaneLayoutWidget,
+                              ":/fxml/portrait_preview_pane_hide_on_left_gesture",
+                              "hide");
+                HbEffect::add(mNextPaneLayoutWidget,
+                              ":/fxml/portrait_preview_pane_show_on_left_gesture",
+                              "show");
+            } else {
+                HbEffect::add(mCurrPaneLayoutWidget,
+                              ":/fxml/landscape_preview_pane_hide_on_left_gesture",
+                              "hide");
+                HbEffect::add(mNextPaneLayoutWidget,
+                              ":/fxml/landscape_preview_pane_show_on_left_gesture",
+                              "show");
+            }
+            
+            // Start the effects
+            HbEffect::start(mCurrPaneLayoutWidget, "hide");
+            HbEffect::start(mNextPaneLayoutWidget, "show", 
+                                            this, "handleLeftEffectCompleted");
+            
+            //Remove the mCurrPreviewPane from the layout and add mNextPreviewPane
+            // to the layout
+            viewLayout->removeAt(1);
+            viewLayout->addItem(mNextPaneParent);
+        }
+    }
 	
 	OstTraceFunctionExit0( CALENMONTHVIEW_HANDLEPREVIEWPANEGESTURE_EXIT );
 }
@@ -1795,4 +1799,5 @@
     
     OstTraceFunctionExit0( CALENMONTHVIEW_UPDATEDAYLABEL_EXIT );
 }
+
 // End of file  --Don't remove this.
--- a/calendarui/views/src/calennativeview.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/views/src/calennativeview.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -52,7 +52,8 @@
 CalenNativeView::CalenNativeView(MCalenServices &services) :
 	mServices(services),
 	mEntriesInDataBase(false),
-	mIsCapturedScreenShotValid(false)
+	mIsCapturedScreenShotValid(false),
+	mDatePicker(0)
 {
     OstTraceFunctionEntry0( CALENNATIVEVIEW_CALENNATIVEVIEW_ENTRY );
     
@@ -123,6 +124,18 @@
 }
 
 /*!
+ Refreshes the already open date picker with proper 
+ date format as per current locale settings.
+ */
+ void CalenNativeView::refreshDatePicker()
+{
+	if(!(mDatePicker.isNull())) {
+		mDatePicker->setDisplayFormat(CalenDateUtils::dateFormatString());
+		mDatePicker->setDate(QDate::currentDate());
+	}
+}
+
+/*!
  Slot to handle gotodate
  */
 void CalenNativeView::goToDate()
@@ -144,6 +157,7 @@
 	// Set the date range.
 	mDatePicker->setMinimumDate(CalenDateUtils::minTime().date());
 	mDatePicker->setMaximumDate(CalenDateUtils::maxTime().date());
+	mDatePicker->setDisplayFormat(CalenDateUtils::dateFormatString());
 	mDatePicker->setDate(QDate::currentDate());
 	
 	popUp->setContentWidget(mDatePicker);
@@ -231,6 +245,7 @@
     
 	switch (notification) {
 		case ECalenNotifySystemLocaleChanged: {
+			refreshDatePicker();
 			onLocaleChanged(EChangesLocale);
 		}
 		break;
@@ -332,4 +347,26 @@
        }
    OstTraceFunctionExit0( CALENNATIVEVIEW_SAVEACTIVITY_EXIT );
  }
+
+/*!
+ Function to tell if we can perform swipe effect on the preview pane.
+ This will affect when the next preview pane that is not going to 
+ come has valid date or not
+ */
+bool CalenNativeView::checkIfWeCanSwipe(QDateTime& date, bool rightGesture)
+{
+    OstTraceFunctionEntry0( CALENNATIVEVIEW_CHECKIFWECANSWIPE_ENTRY );
+    
+    bool value;
+    // For right gesture, see if previous day is valid or not
+    if (rightGesture) {
+        value = CalenDateUtils::isValidDay(date.addDays(-1));
+    } else { // For left gesture, see if next day is valid or not
+        value = CalenDateUtils::isValidDay(date.addDays(1));
+    }
+    
+    OstTraceFunctionExit0( CALENNATIVEVIEW_CHECKIFWECANSWIPE_EXIT );
+    
+    return value;
+}
 //End Of File
--- a/calendarui/views/src/calenpreviewpane.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/views/src/calenpreviewpane.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -395,27 +395,17 @@
             // to know the direciton of the pan, until then we need
             // calculate the direction explicitly
             // Get to know the direction of the gesture
-            QPointF delta = gesture->delta();
-            // Check the current orientation of the device and
-            // swap the vertical and horizontal distances in landscape
-            qreal horizontalDiff = 0.0;
-            qreal verticalDiff = 0.0;
-            if (hbInstance->allMainWindows().at(0)->orientation() == Qt::Vertical) {
-                horizontalDiff = delta.x();
-                verticalDiff = delta.y();
-            } else {
-                horizontalDiff = delta.y();
-                verticalDiff = delta.x();
-            }
+            QPointF delta = gesture->sceneOffset();
+            // Check the horizontal and vertical offsets
+            qreal horizontalDiff = delta.x();
+            qreal verticalDiff = delta.y();
             if (abs(verticalDiff) > MAX_PAN_DIRECTION_THRESHOLD) {
                 // Now see if x coord diff has crossed threshold
                 if (horizontalDiff > MAX_PAN_DIRECTION_THRESHOLD) {
-                    mIsGestureHandled = true;
                     // right gesture
                     mView->handlePreviewPaneGesture(true);
                     event->accept(Qt::PanGesture);
                 } else if (horizontalDiff < -MAX_PAN_DIRECTION_THRESHOLD){
-                    mIsGestureHandled = true;
                     // left gesture
                     mView->handlePreviewPaneGesture(false);
                     event->accept(Qt::PanGesture);
@@ -429,12 +419,10 @@
                 }
             } else if (abs(verticalDiff) < MAX_PAN_DIRECTION_THRESHOLD) {
                if (horizontalDiff > MIN_PAN_DIRECTION_THRESHOLD) {
-                   mIsGestureHandled = true;
                    // right gesture
                    mView->handlePreviewPaneGesture(true);
                    event->accept(Qt::PanGesture);
                } else if (horizontalDiff < -MIN_PAN_DIRECTION_THRESHOLD){
-                   mIsGestureHandled = true;
                    // left gesture
                    mView->handlePreviewPaneGesture(false);
                    event->accept(Qt::PanGesture);
--- a/calendarui/views/src/calenthicklinesdrawer.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/views/src/calenthicklinesdrawer.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -127,6 +127,14 @@
 }
 
 /*!
+ Overriding the base class function to avoid searching for widgetml/css files
+ */
+void CalenThickLinesDrawer::polish(HbStyleParameters &params)
+{
+    Q_UNUSED(params);
+}
+
+/*!
  Slot to handle the change in theme
  */
 void CalenThickLinesDrawer::handleThemeChange()
--- a/calendarui/views/traces/calenmonthgridTraces.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/views/traces/calenmonthgridTraces.h	Mon Sep 20 12:44:39 2010 +0530
@@ -62,6 +62,8 @@
 #define CALENMONTHGRID_PAINT_EXIT 0x8a00c1
 #define CALENMONTHGRID_HANDLETHEMECHANGE_ENTRY 0x8a0185
 #define CALENMONTHGRID_HANDLETHEMECHANGE_EXIT 0x8a0186
+#define CALENMONTHGRID_CHECKIFWECANSCROLL_ENTRY 0x8a018f
+#define CALENMONTHGRID_CHECKIFWECANSCROLL_EXIT 0x8a0190
 
 
 #endif
--- a/calendarui/views/traces/calennativeviewTraces.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/views/traces/calennativeviewTraces.h	Mon Sep 20 12:44:39 2010 +0530
@@ -37,6 +37,8 @@
 #define CALENNATIVEVIEW_CAPTURESCREENSHOT_EXIT 0x8a0141
 #define CALENNATIVEVIEW_SAVEACTIVITY_ENTRY 0x8a0142
 #define CALENNATIVEVIEW_SAVEACTIVITY_EXIT 0x8a0143
+#define CALENNATIVEVIEW_CHECKIFWECANSWIPE_ENTRY 0x8a0191
+#define CALENNATIVEVIEW_CHECKIFWECANSWIPE_EXIT 0x8a0192
 
 
 #endif
--- a/calendarui/views/traces/fixed_id.definitions	Mon Sep 06 15:58:44 2010 +0530
+++ b/calendarui/views/traces/fixed_id.definitions	Mon Sep 20 12:44:39 2010 +0530
@@ -120,6 +120,8 @@
 [TRACE]TRACE_FLOW[0x8A]_CALENMONTHGRID_APPENDROWS_EXIT=0xae
 [TRACE]TRACE_FLOW[0x8A]_CALENMONTHGRID_CALENMONTHGRID_ENTRY=0x8c
 [TRACE]TRACE_FLOW[0x8A]_CALENMONTHGRID_CALENMONTHGRID_EXIT=0x8d
+[TRACE]TRACE_FLOW[0x8A]_CALENMONTHGRID_CHECKIFWECANSCROLL_ENTRY=0x18f
+[TRACE]TRACE_FLOW[0x8A]_CALENMONTHGRID_CHECKIFWECANSCROLL_EXIT=0x190
 [TRACE]TRACE_FLOW[0x8A]_CALENMONTHGRID_DOWNGESTURE_ENTRY=0x98
 [TRACE]TRACE_FLOW[0x8A]_CALENMONTHGRID_DOWNGESTURE_EXIT=0x99
 [TRACE]TRACE_FLOW[0x8A]_CALENMONTHGRID_GESTUREEVENT_ENTRY=0xa0
@@ -270,6 +272,8 @@
 [TRACE]TRACE_FLOW[0x8A]_CALENNATIVEVIEW_CAPTURESCREENSHOT_EXIT=0x141
 [TRACE]TRACE_FLOW[0x8A]_CALENNATIVEVIEW_CHANGEORIENTATION_ENTRY=0x137
 [TRACE]TRACE_FLOW[0x8A]_CALENNATIVEVIEW_CHANGEORIENTATION_EXIT=0x138
+[TRACE]TRACE_FLOW[0x8A]_CALENNATIVEVIEW_CHECKIFWECANSWIPE_ENTRY=0x191
+[TRACE]TRACE_FLOW[0x8A]_CALENNATIVEVIEW_CHECKIFWECANSWIPE_EXIT=0x192
 [TRACE]TRACE_FLOW[0x8A]_CALENNATIVEVIEW_DELETEALLENTRIES_ENTRY=0x12d
 [TRACE]TRACE_FLOW[0x8A]_CALENNATIVEVIEW_DELETEALLENTRIES_EXIT=0x12e
 [TRACE]TRACE_FLOW[0x8A]_CALENNATIVEVIEW_DELETEBEFOREDATE_ENTRY=0x12b
--- a/clock/clockmw/clocksettingsutility/clocksettingsutility.pro	Mon Sep 06 15:58:44 2010 +0530
+++ b/clock/clockmw/clocksettingsutility/clocksettingsutility.pro	Mon Sep 20 12:44:39 2010 +0530
@@ -32,9 +32,11 @@
 	TARGET.EPOCALLOWDLLDATA = 1
 	TARGET.CAPABILITY = CAP_GENERAL_DLL
 	TARGET.UID3 = 0x2002E6B3
-
+	INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+	
 	LIBS += -leuser \
 	        -ltimezoneclient \
+	        -lxqsettingsmanager
 }
 
 SOURCES += settingsutility.cpp
--- a/clock/clockmw/clocksettingsutility/inc/settingsutility.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/clock/clockmw/clocksettingsutility/inc/settingsutility.h	Mon Sep 20 12:44:39 2010 +0530
@@ -32,6 +32,8 @@
 #endif
 
 class TimezoneClient;
+class XQSettingsKey;
+class XQSettingsManager;
 
 class SETTINGSUTILITY_EXPORT SettingsUtility : public QObject
 {
@@ -87,10 +89,14 @@
 	QStringList mTimeSeparatorList;
 	QStringList mClockTypeList;
 	QStringList mTimeFormatList;
+	QStringList mDisplayDateFormatList;
 	QStringList mDateFormatList;
 	QStringList mDateSeparatorList;
 	QStringList mAutoUpdateValueList;
 	QStringList mSnoozeValueList;
+	
+	XQSettingsManager *mSettingsManager;
+	XQSettingsKey *mClockTypeSettingsKey;
 };
 
 #endif // SETTINGSUTILITY_H
--- a/clock/clockmw/clocksettingsutility/src/settingsutility.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/clock/clockmw/clocksettingsutility/src/settingsutility.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -20,7 +20,10 @@
 #include <e32std.h>
 #include <QTime>
 #include <QDateTime>
+#include <xqsettingsmanager.h>
+#include <xqsettingskey.h>
 #include <HbGlobal>
+#include <clockdomaincrkeys.h>
 
 // User includes
 #include "settingsutility.h"
@@ -44,12 +47,20 @@
 {
 	OstTraceFunctionEntry0( SETTINGSUTILITY_SETTINGSUTILITY_ENTRY );
 	mTimeSeparatorList << tr(".") << tr(":");
-	mClockTypeList << hbTrId("txt_clock_button_digital") << hbTrId("txt_clock_button_analog");
+	mClockTypeList << hbTrId("txt_clock_button_analog") << hbTrId("txt_clock_button_digital");
 	mTimeFormatList << hbTrId("txt_clk_setlabel_val_24_hour") << hbTrId("txt_clk_setlabel_val_12_hour");
-	mDateFormatList << hbTrId("txt_clk_setlabel_val_dd_mm_yyyy") << hbTrId("txt_clk_setlabel_val_mm_dd_yyyy") << hbTrId("txt_clk_setlabel_val_yyyy_mm_dd");
+	mDisplayDateFormatList << hbTrId("txt_clk_setlabel_val_dd_mm_yyyy") << hbTrId("txt_clk_setlabel_val_mm_dd_yyyy") << hbTrId("txt_clk_setlabel_val_yyyy_mm_dd");
+	mDateFormatList << tr("dd mm yyyy") << tr("mm dd yyyy") << tr("yyyy mm dd");
 	mDateSeparatorList << tr(".") << tr(":") << tr("/") << tr("-");
 	mAutoUpdateValueList << tr("ON") << tr("OFF");
 	mSnoozeValueList << tr("5 minutes") << tr("15 minutes") << tr(" 30 minutes") << tr("1 hour");
+	
+	mSettingsManager = new XQSettingsManager(this);
+	mClockTypeSettingsKey = new XQSettingsKey(
+							XQSettingsKey::TargetCentralRepository,
+							KCRUidClockApp,
+							KClockType);
+		
 	OstTraceFunctionExit0( SETTINGSUTILITY_SETTINGSUTILITY_EXIT );
 }
 
@@ -59,7 +70,11 @@
 SettingsUtility::~SettingsUtility()
 {
 	OstTraceFunctionEntry0( DUP1_SETTINGSUTILITY_SETTINGSUTILITY_ENTRY );
-	// Nothing.
+	if(mSettingsManager) {
+		delete mSettingsManager;
+	}
+	// Delete the cenrep key
+	delete mClockTypeSettingsKey;
 	OstTraceFunctionExit0( DUP1_SETTINGSUTILITY_SETTINGSUTILITY_EXIT );
 }
 
@@ -118,16 +133,16 @@
 void SettingsUtility::setClockType(const QString &type)
 {
 	OstTraceFunctionEntry0( SETTINGSUTILITY_SETCLOCKTYPE_ENTRY );
-	TLocale locale;
-
+	// Check the type and set the cenrep value
 	if (type == mClockTypeList.at(0)) {
-	    locale.SetClockFormat(EClockDigital);
-    } else if (type == mClockTypeList.at(1)) {
-	    locale.SetClockFormat(EClockAnalog);
-    } else {
+		// The value set for Analogue type is 0
+		mSettingsManager->writeItemValue(*mClockTypeSettingsKey, 0);
+	} else if (type == mClockTypeList.at(1)) {
+		// The value set for Digital type is 1
+		mSettingsManager->writeItemValue(*mClockTypeSettingsKey, 1);
+	} else {
     	// Nothing to do.
     }
-	locale.Set();
 	OstTraceFunctionExit0( SETTINGSUTILITY_SETCLOCKTYPE_EXIT );
 }
 
@@ -137,21 +152,17 @@
 int SettingsUtility::clockType(QStringList &list)
 {
 	OstTraceFunctionEntry0( SETTINGSUTILITY_CLOCKTYPE_ENTRY );
-	TLocale locale;
-	int value = -1;
 
-	if (EClockAnalog == locale.ClockFormat()) {
-	    value = 1;
-    } else if (EClockDigital == locale.ClockFormat()){
-    	value = 0;
-    } else {
-    	// Nothing to do.
-    }
-
+	int clockType = -1;
+	// Read the clocktype value from the cenrep
+	// 0 is for Analogue type and 1 for Digital
+	QVariant value = mSettingsManager->readItemValue(*mClockTypeSettingsKey);
+	clockType = value.toInt();
+	
 	list = mClockTypeList;
-
 	OstTraceFunctionExit0( SETTINGSUTILITY_CLOCKTYPE_EXIT );
-	return value;
+	
+	return clockType;
 }
 
 /*!
@@ -212,8 +223,8 @@
 	TLocale locale;
 	int index;
 
-	for (index = 0; index < mDateFormatList.count(); ++index) {
-		if (format == mDateFormatList.at(index)) {
+	for (index = 0; index < mDisplayDateFormatList.count(); ++index) {
+		if (format == mDisplayDateFormatList.at(index)) {
 			break;
 		}
 	}
@@ -261,7 +272,7 @@
 			break;
 	}
 
-	format = mDateFormatList;
+	format = mDisplayDateFormatList;
 
 	OstTraceFunctionExit0( SETTINGSUTILITY_DATEFORMAT_EXIT );
 	return index;
--- a/clock/clockui/clockalarmeditor/src/clockalarmeditor.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/clock/clockui/clockalarmeditor/src/clockalarmeditor.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -38,6 +38,7 @@
 #include <xqsettingsmanager.h>
 #include <xqsettingskey.h>
 #include <QLocale>
+#include <HbParameterLengthLimiter>
 
 // User includes
 #include "clockprivatecrkeys.h"
@@ -833,9 +834,8 @@
 	OstTraceFunctionEntry0( CLOCKALARMEDITOR_DISPLAYDSTROLLOVERNOTE_ENTRY );
 
 	QString alarmTime = alarmInfo.nextDueTime.toString(mTimeFormat);
-	QString dstRollOverText =
-	hbTrId("txt_clock_dpopinfo_alarm_will_occur_at_1_after_au");
-	QString displayText = dstRollOverText.arg(alarmTime);
+	QString displayText = HbParameterLengthLimiter(hbTrId("txt_clock_dpopinfo_alarm_will_occur_at_1_after_au"))
+			              .arg(alarmTime);
 	// show the note
 	launchDialog(displayText);
 	OstTraceFunctionExit0( CLOCKALARMEDITOR_DISPLAYDSTROLLOVERNOTE_EXIT );
@@ -874,29 +874,25 @@
 	switch ( alarmInfo.repeatType ) {
 		case Once:{
 			if( oneDayDifference ){
-				displayFormattedText =
-				hbTrId("txt_clock_note_alarm_occurs_once_only_on_next_1_a");
-				displayText = displayFormattedText.arg(dayText,alarmTimeText);
+				displayText = HbParameterLengthLimiter(hbTrId("txt_clock_note_alarm_occurs_once_only_on_next_1_a"))
+						    		 .arg(dayText).arg(alarmTimeText);
 				showDisplayText = true;
 			}
 		}
 		break;
 		case Daily:	{
-			displayFormattedText =
-				hbTrId("txt_clock_dpopinfo_alarm_occurs_every_day_at_1");
-			displayText = displayFormattedText.arg(alarmTimeText);
+			displayText = HbParameterLengthLimiter(hbTrId("txt_clock_dpopinfo_alarm_occurs_every_day_at_1"))
+					    		 .arg(alarmTimeText);
 		}
 		break;
 		case Weekly:{
-			displayFormattedText =
-				hbTrId("txt_clock_note_alarm_occurs_every_week_on_1_at_2");
-			displayText = displayFormattedText.arg(dayText,alarmTimeText);
+			displayText = HbParameterLengthLimiter(hbTrId("txt_clock_note_alarm_occurs_every_week_on_1_at_2"))
+					    		  .arg(dayText).arg(alarmTimeText);
 		}
 		break;
 		case Workday:{
-			displayFormattedText =
-				hbTrId("txt_clock_note_alarm_occurs_workdays_at_1");
-			displayText = displayFormattedText.arg(alarmTimeText);
+			displayText = HbParameterLengthLimiter(hbTrId("txt_clock_note_alarm_occurs_workdays_at_1"))
+					    		 .arg(alarmTimeText);
 		}
 		break;
 		default:
@@ -906,7 +902,6 @@
 		showDisplayText = true;
 	}
 
-	QString remainingTimeText;
 	// Dislpay the second note.
 	if (!oneDayDifference) {
 		QDateTime alarmDateTime(alarmInfo.alarmDateTime,alarmInfo.nextDueTime);
@@ -931,41 +926,33 @@
 
 		QString hourText;
 		QString minutesText;
-		QString formattedText;
+		QString remainingTimeText;
 		// Alarm is with in 1 day. Choose the appropriate strings
 		// to be displayed
 		switch( remainingHours ) {
 			case KOneHour:{
 				if ( KOneMinute == remainingMinutes ) {
-					formattedText =
-					hbTrId("txt_clock_dpopinfo_time_to_alarm_1_hr_and_2_min");
-					remainingTimeText = formattedText.arg(
-							hourText.setNum(remainingHours),
-							minutesText.setNum(remainingMinutes));
+					remainingTimeText =
+					HbParameterLengthLimiter(hbTrId("txt_clock_dpopinfo_time_to_alarm_1_hr_and_2_min"))
+					.arg(hourText.setNum(remainingHours)).arg(minutesText.setNum(remainingMinutes));
 				}
 				else {
-					formattedText =
-						hbTrId("txt_clock_dpopinfo_time_to_alarm_1_hr_and_2_mins");
-					remainingTimeText = formattedText.arg(
-							hourText.setNum(remainingHours),
-							minutesText.setNum(remainingMinutes));
+					remainingTimeText =
+						HbParameterLengthLimiter(hbTrId("txt_clock_dpopinfo_time_to_alarm_1_hr_and_2_mins"))
+						.arg(hourText.setNum(remainingHours)).arg(minutesText.setNum(remainingMinutes));
 				}
 			}
 			break;
 			default:{
 				if ( KOneMinute == remainingMinutes ) {
-					formattedText =
-						hbTrId("txt_clock_dpopinfo_time_to_alarm_1_hrs_and_2_min");
-					remainingTimeText = formattedText.arg(
-							hourText.setNum(remainingHours),
-							minutesText.setNum(remainingMinutes));
+					remainingTimeText =
+						HbParameterLengthLimiter(hbTrId("txt_clock_dpopinfo_time_to_alarm_1_hrs_and_2_min"))
+						.arg(hourText.setNum(remainingHours)).arg(minutesText.setNum(remainingMinutes));
 				}
 				else {
-					formattedText =
-						hbTrId("txt_clock_dpopinfo_time_to_alarm_1_hrs_and_2_mins");
-					remainingTimeText = formattedText.arg(
-							hourText.setNum(remainingHours),
-							minutesText.setNum(remainingMinutes));
+					remainingTimeText =
+						HbParameterLengthLimiter(hbTrId("txt_clock_dpopinfo_time_to_alarm_1_hrs_and_2_mins"))
+						.arg(hourText.setNum(remainingHours)).arg(minutesText.setNum(remainingMinutes));
 				}
 			}
 			break;
--- a/clock/clockui/clocksettingsview/inc/clocksettingsview.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/clock/clockui/clocksettingsview/inc/clocksettingsview.h	Mon Sep 20 12:44:39 2010 +0530
@@ -93,6 +93,7 @@
 	TimezoneClient *mTimezoneClient;	
 	XQSettingsManager *mSettingsManager;
 	XQSettingsKey *mAlarmSnoozeTimeKey;
+	XQSettingsKey *mClockTypeKey;
 	QHash<int, int> mAlarmSnoozeTimeHash;
 	HbTranslator *mTranslator;
 	bool mLaunchedByClock;
--- a/clock/clockui/clocksettingsview/src/clocksettingsview.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/clock/clockui/clocksettingsview/src/clocksettingsview.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -105,10 +105,14 @@
 			XQSettingsKey::TargetCentralRepository,
 			KCRUidClockApp,
 			KClockAppSnoozeTime);
-	
-	// Start the monitoring for the alarm snooze time key.
+	// Create the key for clock type.
+	mClockTypeKey = new XQSettingsKey(
+			XQSettingsKey::TargetCentralRepository,
+			KCRUidClockApp,
+			KClockType);
+	// Start the monitoring for the alarm snooze time key and clock type.
 	mSettingsManager->startMonitoring(*mAlarmSnoozeTimeKey);
-
+	mSettingsManager->startMonitoring(*mClockTypeKey);
 	// Listen to the key value changes.
 	connect(
 			mSettingsManager, SIGNAL(valueChanged(XQSettingsKey, QVariant)),
@@ -125,7 +129,6 @@
 	if (mDocLoader) {
 		delete mDocLoader;
 	}
-	
 	// Remove the translator
     if (mTranslator) {
         delete mTranslator;
@@ -134,12 +137,16 @@
     if(mSettingsUtility){
     	delete mSettingsUtility;
     }
+	if(mSettingsManager) {
+		delete mSettingsManager;
+	}
+	// Delete cenrep keys
+	delete mAlarmSnoozeTimeKey;
+	delete mClockTypeKey;
 	
 	if(mSettingsModel){
 		delete mSettingsModel;
 	}
-		
-
 	OstTraceFunctionExit0( DUP1_CLOCKSETTINGSVIEW_CLOCKSETTINGSVIEW_EXIT );
 }
 
@@ -454,8 +461,8 @@
     }
     mClockTypeItem->setContentWidgetData("objectName", "clockType");
     mSettingsForm->addConnection(
-            mClockTypeItem, SIGNAL(clicked()),
-            this, SLOT(handleClockTypeChanged()));
+					mClockTypeItem, SIGNAL(clicked()),
+					this, SLOT(handleClockTypeChanged()));
     
     // Add the alarm snooze time item.
 	mAlarmSnoozeItem = mSettingsModel->appendDataFormItem(
@@ -558,8 +565,7 @@
 void ClockSettingsView::handleClockTypeChanged()
 {
 	OstTraceFunctionEntry0( CLOCKSETTINGSVIEW_HANDLECLOCKTYPECHANGED_ENTRY );
-	mSettingsUtility->setClockType(
-			mClockTypeItem->contentWidgetData("text").toString());
+	mSettingsUtility->setClockType(mClockTypeItem->contentWidgetData("text").toString());
 	OstTraceFunctionExit0( CLOCKSETTINGSVIEW_HANDLECLOCKTYPECHANGED_EXIT );
 }
 
@@ -573,17 +579,23 @@
 		const XQSettingsKey& key, const QVariant& value)
 {
 	OstTraceFunctionEntry0( CLOCKSETTINGSVIEW_EVENTMONITOR_ENTRY );
-	if (key.uid() == KCRUidClockApp && key.key() == KClockAppSnoozeTime) {
-		if (mSettingsManager->error() == XQSettingsManager::NoError) {
+	if (key.uid() == KCRUidClockApp) {
+		// Update the snooze time
+		if(key.key() == KClockAppSnoozeTime) {
+			if (mSettingsManager->error() == XQSettingsManager::NoError) {
+
+				bool success;
+				int alarmSnoozeTime = value.toInt(&success);
 
-			bool success;
-			int alarmSnoozeTime = value.toInt(&success);
-			
-			if (success) {
-				mAlarmSnoozeItem->setContentWidgetData(
-						"currentIndex", mAlarmSnoozeTimeHash.key(
-								alarmSnoozeTime));
+				if (success) {
+					mAlarmSnoozeItem->setContentWidgetData(
+							"currentIndex", mAlarmSnoozeTimeHash.key(
+									alarmSnoozeTime));
+				}
 			}
+		}else if(key.key() == KClockType) {
+			// Update the clock type when its changed
+			updateClockType();
 		}
 	}
 	OstTraceFunctionExit0( CLOCKSETTINGSVIEW_EVENTMONITOR_EXIT );
--- a/clock/clockui/clockviews/clockviews.pro	Mon Sep 06 15:58:44 2010 +0530
+++ b/clock/clockui/clockviews/clockviews.pro	Mon Sep 20 12:44:39 2010 +0530
@@ -44,6 +44,7 @@
 	TARGET.CAPABILITY += ALL -TCB
 	TARGET.EPOCALLOWDLLDATA = 1
 	TARGET.UID3 = 0x2002BCE6
+	INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
 
 	LIBS += \
 		-lclockalarmclient \
@@ -53,7 +54,8 @@
 		-lclocksettingsview \
 		-lclockcityselectionlist \
 		-lclockwidget \
-                -lclockwidgetplugin
+		-lclockwidgetplugin \
+		-lxqsettingsmanager
 }
 
 SOURCES += \
--- a/clock/clockui/clockviews/data/style/clockalarmlistitemprototype.css	Mon Sep 06 15:58:44 2010 +0530
+++ b/clock/clockui/clockviews/data/style/clockalarmlistitemprototype.css	Mon Sep 20 12:44:39 2010 +0530
@@ -3,7 +3,6 @@
 }
 
 ClockAlarmListItemPrototype::icon-1{
-    top: -var(hb-param-margin-gene-middle-vertical);
     fixed-width: var(hb-param-graphic-size-secondary);
     fixed-height: var(hb-param-graphic-size-secondary);
     left: -6.5un;
--- a/clock/clockui/clockviews/data/style/clockalarmlistitemprototype.widgetml	Mon Sep 06 15:58:44 2010 +0530
+++ b/clock/clockui/clockviews/data/style/clockalarmlistitemprototype.widgetml	Mon Sep 20 12:44:39 2010 +0530
@@ -6,7 +6,7 @@
         <meshitem src="text-1" srcEdge="RIGHT" dst="text-2" dstEdge="LEFT" />
  
 		<!-- For the alarm repeat icon item -->
-		<meshitem src="icon-1" srcEdge="TOP" dst="text-1" dstEdge="BOTTOM" />
+		<meshitem src="icon-1" srcEdge="BOTTOM" dst="text-4" dstEdge="BOTTOM" />
 		<meshitem src="icon-1" srcEdge="RIGHT" dst="text-1" dstEdge="RIGHT" />
 		
 		<!-- For the alarm remiainting time item -->
--- a/clock/clockui/clockviews/inc/clockmainview.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/clock/clockui/clockviews/inc/clockmainview.h	Mon Sep 20 12:44:39 2010 +0530
@@ -40,6 +40,8 @@
 class SettingsUtility;
 class ClockAlarmListModel;
 class ClockWidget;
+class XQSettingsManager;
+class XQSettingsKey;
 
 class ClockMainView : public HbView
 {
@@ -71,6 +73,7 @@
 	void selectedMenuAction(HbAction *action);
 	void handleMenuClosed();
     void saveActivity();
+    void eventMonitor(const XQSettingsKey& key, const QVariant& value);
 
 private:
 	void setmodel();
@@ -104,6 +107,9 @@
 	ClockDocLoader *mDocLoader;
 	ClockAppControllerIf *mAppControllerIf;
 	ClockAlarmListModel *mAlarmListModel;
+	
+	XQSettingsManager *mSettingsManager;
+	XQSettingsKey *mClockTypeSettingsKey;
 
 	int            mSelectedItem;
 	bool           mHideAlarmList;
--- a/clock/clockui/clockviews/src/clockalarmlistmodel.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/clock/clockui/clockviews/src/clockalarmlistmodel.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -22,6 +22,7 @@
 #include <QStandardItemModel>
 #include <QStandardItem>
 #include <HbIcon>
+#include <HbParameterLengthLimiter>
 
 // User includes
 #include "clockalarmlistmodel.h"
@@ -191,10 +192,12 @@
 			case 1: {
 				if (1 == minleft) {
 					formatTimeNote =
-						hbTrId("txt_clock_main_view_setlabel_in_1hr_2min");
+							HbParameterLengthLimiter(hbTrId("txt_clock_main_view_setlabel_in_1hr_2min"))
+							.arg(QString::number(hourleft)).arg(QString::number(minleft));
 				} else {
 					formatTimeNote =
-						hbTrId("txt_clock_main_view_setlabel_in_1hr_2mins");
+							HbParameterLengthLimiter(hbTrId("txt_clock_main_view_setlabel_in_1hr_2mins"))
+							.arg(QString::number(hourleft)).arg(QString::number(minleft));
 				}
 			}
 			break;
@@ -202,21 +205,21 @@
 			default: {
 				if (1 == minleft) {
 					formatTimeNote =
-						hbTrId("txt_clock_main_view_setlabel_in_1hrs_2min");
+						HbParameterLengthLimiter(hbTrId("txt_clock_main_view_setlabel_in_1hrs_2min"))
+						.arg(QString::number(hourleft)).arg(QString::number(minleft));
 				} else {
 					formatTimeNote =
-						hbTrId("txt_clock_main_view_setlabel_in_1hrs_2mins");
+						HbParameterLengthLimiter(hbTrId("txt_clock_main_view_setlabel_in_1hrs_2mins"))
+						.arg(QString::number(hourleft)).arg(QString::number(minleft));
 				}
 			}
 		}
-		timeNote = formatTimeNote.arg(
-				QString::number(hourleft), QString::number(minleft));
 	} else {
-		formatTimeNote = hbTrId("txt_clock_main_view_setlabel_in_1days");
-		timeNote = formatTimeNote.arg(QString::number(dayleft));
+		formatTimeNote = HbParameterLengthLimiter(hbTrId("txt_clock_main_view_setlabel_in_1days"))
+				         .arg(QString::number(dayleft));
 	}
 	OstTraceFunctionExit0( CLOCKALARMLISTMODEL_CALCULATEREMAININGTIME_EXIT );
-	return timeNote;
+	return formatTimeNote;
 }
 
 /*!
@@ -439,9 +442,8 @@
 		repeatTypeString.append(
 		    hbTrId("txt_clock_main_view_dblist_daily_val_workdays"));
 	} else if (Weekly == alarmInfo.repeatType) {
-		repeatTypeString.append(hbTrId("txt_clock_main_view_setlabel_every_1"));
-		repeatTypeString =
-			repeatTypeString.arg(alarmInfo.alarmDateTime.toString("dddd"));
+		repeatTypeString.append( HbParameterLengthLimiter(hbTrId("txt_clock_main_view_setlabel_every_1"))
+					.arg(alarmInfo.alarmDateTime.toString("dddd")));
 	} else {
 		if (QDate::currentDate() == alarmInfo.alarmDateTime) {
 			repeatTypeString.append(
--- a/clock/clockui/clockviews/src/clockmainview.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/clock/clockui/clockviews/src/clockmainview.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -29,6 +29,9 @@
 #include <HbColorScheme>
 #include <HbApplication> // hbapplication
 #include <HbActivityManager> // activity manager
+#include <xqsettingsmanager.h>
+#include <xqsettingskey.h>
+#include <clockdomaincrkeys.h>
 
 // User includes
 #include "clockmainview.h"
@@ -86,6 +89,12 @@
 		delete mAlarmListModel;
 		mAlarmListModel = 0;
 	}
+	if (mSettingsManager) {
+		delete mSettingsManager;
+	}
+	// Delete cenrep key
+	delete mClockTypeSettingsKey;
+	
 	HbStyleLoader::unregisterFilePath(
 			":/style/clockalarmlistitemprototype.css");
 	HbStyleLoader::unregisterFilePath(
@@ -280,6 +289,16 @@
 			mTimezoneClient, SIGNAL(cityUpdated()),
 			this, SLOT(updatePlaceLabel()));
 	
+	// Connect for the clock type changes to refresh the view
+	mSettingsManager = new XQSettingsManager(this);
+	mClockTypeSettingsKey = new XQSettingsKey(
+							XQSettingsKey::TargetCentralRepository,
+							KCRUidClockApp,
+							KClockType);
+	mSettingsManager->startMonitoring(*mClockTypeSettingsKey);
+	connect(mSettingsManager, SIGNAL(valueChanged(XQSettingsKey, QVariant)),
+				this, SLOT(eventMonitor(XQSettingsKey, QVariant)));
+	
 	OstTraceFunctionExit0( CLOCKMAINVIEW_SETUPAFTERVIEWREADY_EXIT );
 }
 
@@ -496,6 +515,24 @@
 	OstTraceFunctionExit0( CLOCKMAINVIEW_REMOVESNOOZEDALARM_EXIT );
 }
 
+/*!
+	Slot which is called when the value changes in cenrep.
+
+	\param key The key which got changed in cenrep.
+	\param value The new value of that key.
+ */
+void ClockMainView::eventMonitor(
+		const XQSettingsKey& key, const QVariant& value)
+{
+	OstTraceFunctionEntry0( CLOCKMAINVIEW_EVENTMONITOR_ENTRY );
+	if (key.uid() == KCRUidClockApp && key.key() == KClockType) {
+		// Update view
+		updateView();
+	}
+	OstTraceFunctionExit0( CLOCKMAINVIEW_EVENTMONITOR_EXIT );
+}
+
+
 void ClockMainView::updateView()
 {
 	OstTraceFunctionEntry0( CLOCKMAINVIEW_UPDATEVIEW_ENTRY );
@@ -761,9 +798,9 @@
     int index = mSettingsUtility->clockType(clockType);
     int zeroIndex(0);
     if(zeroIndex == index){
-    	mClockWidget->setClockType(ClockWidget::ClockTypeDigital);
+    	mClockWidget->setClockType(ClockWidget::ClockTypeAnalog);
     } else {
-    	mClockWidget->setClockType(ClockWidget::ClockTypeAnalog);
+    	mClockWidget->setClockType(ClockWidget::ClockTypeDigital);
     }
     
     QStringList timeFormat;
--- a/clock/clockui/clockviews/src/clockworldview.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/clock/clockui/clockviews/src/clockworldview.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -26,6 +26,7 @@
 #include <HbAction>
 #include <HbStyleLoader>
 #include <HbListView>
+#include <HbParameterLengthLimiter>
 
 // User includes
 #include "clockworldview.h"
@@ -648,15 +649,15 @@
 	if ( hours && minutes ) {
 		if (hours == 1) {
 			displayFormat =
-					hbTrId("txt_clock_dblist_daily_val_1_hr_2_mins");
-			offsetString = displayFormat.arg(hours).arg(minutes);
-			offsetDifference += offsetString;
+					HbParameterLengthLimiter(hbTrId("txt_clock_dblist_daily_val_1_hr_2_mins"))
+					.arg(QString::number(hours)).arg(QString::number(minutes));
+			offsetDifference += displayFormat;
 		}
 		else {
 			displayFormat =
-					hbTrId("txt_clock_dblist_daily_val_1_hrs_2_mins");
-			offsetString = displayFormat.arg(hours).arg(minutes);
-			offsetDifference += offsetString;
+					HbParameterLengthLimiter(hbTrId("txt_clock_dblist_daily_val_1_hrs_2_mins"))
+					.arg(QString::number(hours)).arg(QString::number(minutes));
+			offsetDifference += displayFormat;
 		}
 	}
 	else if ( hours ){
--- a/clock/clockui/clockviews/traces/OstTraceDefinitions.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/clock/clockui/clockviews/traces/OstTraceDefinitions.h	Mon Sep 20 12:44:39 2010 +0530
@@ -1,3 +1,20 @@
+/*
+* This is Default Licence added by TraceCompiler
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
 #ifndef __OSTTRACEDEFINITIONS_H__
 #define __OSTTRACEDEFINITIONS_H__
 // OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
--- a/clock/clockui/clockviews/traces/clockalarmlistitemprototypeTraces.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/clock/clockui/clockviews/traces/clockalarmlistitemprototypeTraces.h	Mon Sep 20 12:44:39 2010 +0530
@@ -1,4 +1,21 @@
-// Created by TraceCompiler 2.2.3
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Definition file for class ClockAlarmListItemPrototype.
+*
+*/
+// Created by TraceCompiler 2.2.4
 // DO NOT EDIT, CHANGES WILL BE LOST
 
 #ifndef __CLOCKALARMLISTITEMPROTOTYPETRACES_H__
--- a/clock/clockui/clockviews/traces/clockalarmlistmodelTraces.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/clock/clockui/clockviews/traces/clockalarmlistmodelTraces.h	Mon Sep 20 12:44:39 2010 +0530
@@ -1,4 +1,21 @@
-// Created by TraceCompiler 2.2.3
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Definition file for class ClockAlarmListModel.
+*
+*/
+// Created by TraceCompiler 2.2.4
 // DO NOT EDIT, CHANGES WILL BE LOST
 
 #ifndef __CLOCKALARMLISTMODELTRACES_H__
--- a/clock/clockui/clockviews/traces/clockhomecityitemTraces.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/clock/clockui/clockviews/traces/clockhomecityitemTraces.h	Mon Sep 20 12:44:39 2010 +0530
@@ -1,4 +1,21 @@
-// Created by TraceCompiler 2.2.3
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Definition file for class ClockHomeCityItem.
+*
+*/
+// Created by TraceCompiler 2.2.4
 // DO NOT EDIT, CHANGES WILL BE LOST
 
 #ifndef __CLOCKHOMECITYITEMTRACES_H__
--- a/clock/clockui/clockviews/traces/clockmainviewTraces.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/clock/clockui/clockviews/traces/clockmainviewTraces.h	Mon Sep 20 12:44:39 2010 +0530
@@ -1,4 +1,21 @@
-// Created by TraceCompiler 2.2.3
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Definition file for class ClockMainView.
+*
+*/
+// Created by TraceCompiler 2.2.4
 // DO NOT EDIT, CHANGES WILL BE LOST
 
 #ifndef __CLOCKMAINVIEWTRACES_H__
@@ -56,6 +73,8 @@
 #define CLOCKMAINVIEW_CAPTURESCREENSHOT_EXIT 0x8a0059
 #define CLOCKMAINVIEW_SAVEACTIVITY_ENTRY 0x8a005a
 #define CLOCKMAINVIEW_SAVEACTIVITY_EXIT 0x8a005b
+#define CLOCKMAINVIEW_EVENTMONITOR_ENTRY 0x8a0085
+#define CLOCKMAINVIEW_EVENTMONITOR_EXIT 0x8a0086
 
 
 #endif
--- a/clock/clockui/clockviews/traces/clockworldviewTraces.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/clock/clockui/clockviews/traces/clockworldviewTraces.h	Mon Sep 20 12:44:39 2010 +0530
@@ -1,4 +1,21 @@
-// Created by TraceCompiler 2.2.3
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Definition file for class ClockWorldView.
+*
+*/
+// Created by TraceCompiler 2.2.4
 // DO NOT EDIT, CHANGES WILL BE LOST
 
 #ifndef __CLOCKWORLDVIEWTRACES_H__
--- a/clock/clockui/clockviews/traces/fixed_id.definitions	Mon Sep 06 15:58:44 2010 +0530
+++ b/clock/clockui/clockviews/traces/fixed_id.definitions	Mon Sep 20 12:44:39 2010 +0530
@@ -1,3 +1,20 @@
+##
+# This is Default Licence added by TraceCompiler
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+##
 #Fixed group and trace id definitions. If this file is removed, the identifiers are rebuilt.
 [GROUP]TRACE_FLOW=0x8a
 [TRACE]TRACE_FLOW[0x8A]_CLOCKALARMLISTITEMPROTOTYPE_CLOCKALARMLISTITEMPROTOTYPE_ENTRY=0x1
@@ -47,6 +64,8 @@
 [TRACE]TRACE_FLOW[0x8A]_CLOCKMAINVIEW_DELETEALARM_EXIT=0x41
 [TRACE]TRACE_FLOW[0x8A]_CLOCKMAINVIEW_DISPLAYWORLDCLOCKVIEW_ENTRY=0x36
 [TRACE]TRACE_FLOW[0x8A]_CLOCKMAINVIEW_DISPLAYWORLDCLOCKVIEW_EXIT=0x37
+[TRACE]TRACE_FLOW[0x8A]_CLOCKMAINVIEW_EVENTMONITOR_ENTRY=0x85
+[TRACE]TRACE_FLOW[0x8A]_CLOCKMAINVIEW_EVENTMONITOR_EXIT=0x86
 [TRACE]TRACE_FLOW[0x8A]_CLOCKMAINVIEW_HANDLEACTIVATED_ENTRY=0x3c
 [TRACE]TRACE_FLOW[0x8A]_CLOCKMAINVIEW_HANDLEACTIVATED_EXIT=0x3d
 [TRACE]TRACE_FLOW[0x8A]_CLOCKMAINVIEW_HANDLEALARMLISTDISPLAY_ENTRY=0x48
Binary file clock/conf/clockapp.confml has changed
Binary file clock/conf/clockapp_101F874D.crml has changed
--- a/layers.sysdef.xml	Mon Sep 06 15:58:44 2010 +0530
+++ b/layers.sysdef.xml	Mon Sep 20 12:44:39 2010 +0530
@@ -8,6 +8,16 @@
     	<module name="organizer">
 		<unit unitID="orgdo.organizer.bldinf" mrp="" bldFile="&layer_real_source_path;/group" name="organizer_bldinf"/>
 		<unit unitID="orgdo.organizer.pro" mrp="" bldFile="&layer_real_source_path;" name="organizer_pro" proFile="organizer.pro"/>
+    <unit unitID="calendar" bldFile="&layer_real_source_path;/pimappservices/calendar/group" name="appengines_calendar" mrp="../../pimappservices/calendar/group/app-engines_calendar.mrp"/>
+    <unit unitID="calendarvcalplugin" bldFile="&layer_real_source_path;/pimappservices/calendarvcalplugin/group" name="calendarvcalplugin" mrp=""/>
+    <unit unitID="vcardandvcal" bldFile="&layer_real_source_path;/pimappsupport/vcardandvcal/group"  name="vcardandvcal" mrp=""/>
+    <unit unitID="chinesecalendarconverter" bldFile="&layer_real_source_path;/pimappsupport/chinesecalendarconverter/group" name="chinesecalendarconverter" mrp=""/>
+    <unit unitID="mtppimproxy" bldFile="&layer_real_source_path;/organizerdataproviders/mtppimproxy/group" mrp="../../organizerdataproviders/mtppimproxy/group/mtp_pimproxy.mrp" name="mtppimproxy"/>
+    <unit unitID="mtptaskdp" bldFile="&layer_real_source_path;/organizerdataproviders/mtptaskdp/group" mrp="../../organizerdataproviders/mtptaskdp/group/mtp_taskdp.mrp" name="mtptaskdp"/>
+    <unit unitID="mtpcalendardp" bldFile="&layer_real_source_path;/organizerdataproviders/mtpcalendardp/group" mrp="../../organizerdataproviders/mtpcalendardp/group/mtp_calendardp.mrp" name="mtpcalendardp"/>
+    <unit unitID="chinesecalendaralg" bldFile="&layer_real_source_path;/pimappsupport/chinesecalendaralg/group" mrp="../../pimappsupport/chinesecalendaralg/group/app-services_chinesecalendaralgorithm.mrp" name="chinesecalendaralg"/>
+
+
       </module>
     </layer>
   </systemModel>
--- a/notes/notesui/notesmodel/src/notesmodel.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/notes/notesui/notesmodel/src/notesmodel.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -210,7 +210,7 @@
 				NotesNamespace::StatusRole).value<int>();
 
 		if (entry.status() == entryStatus) {
-			if (AgendaEntry::TodoNeedsAction == entryStatus) {
+			if (AgendaEntry::TodoCompleted != entryStatus) {
 				// Make sure that the old model index is removed.
 				mSourceModel->removeRow(foundIndex.row());
 				mInCompTodoCount--;
@@ -218,7 +218,7 @@
 				// Now insert the to-do.
 				insertInCompTodoToModel(foundIndex, id);
 
-			} else if (AgendaEntry::TodoCompleted == entryStatus) {
+			} else {
 				// Make sure that the old model index is removed.
 				mSourceModel->removeRow(foundIndex.row());
 				mCompTodoCount--;
@@ -228,7 +228,7 @@
 
 			}
 		} else {
-			if (AgendaEntry::TodoNeedsAction == entryStatus) {
+			if (AgendaEntry::TodoCompleted != entryStatus) {
 				// Here the to-do was marked completed. Hence we need to remove
 				// the incompleted to-do and insert a completed to-do.
 				mSourceModel->removeRow(foundIndex.row());
@@ -237,7 +237,7 @@
 				// Now insert the completed to-do.
 				insertCompTodoToModel(foundIndex, id);
 
-			} else if (AgendaEntry::TodoCompleted == entryStatus) {
+			} else {
 				// Here the to-do was marked incompleted. Hence we need to
 				// remove the completed to-do and insert an incompleted to-do.
 				mSourceModel->removeRow(foundIndex.row());
@@ -292,11 +292,11 @@
 		notify = insertNoteToModel(indexToNotify, id);
 
 	} else if (AgendaEntry::TypeTodo == entry.type()) {
-		if (AgendaEntry::TodoNeedsAction == entry.status()) {
+		if (AgendaEntry::TodoCompleted != entry.status()) {
 			// Try to insert the to-do at its appropriate position.
 			notify = insertInCompTodoToModel(indexToNotify, id);
 
-		} else if (AgendaEntry::TodoCompleted == entry.status()) {
+		} else {
 			// Try to insert the to-do at its appropriate position.
 			insertCompTodoToModel(indexToNotify, id);
 		}
@@ -340,7 +340,7 @@
 			} else if (entryType == AgendaEntry::TypeTodo) {
 				if (entryStatus == AgendaEntry::TodoCompleted) {
 					mCompTodoCount--;
-				} else if (entryStatus == AgendaEntry::TodoNeedsAction) {
+				} else {
 					mInCompTodoCount--;
 				}
 			}
@@ -436,7 +436,7 @@
 		} else {
 			stringList << entry.summary();
 		}
-		if (AgendaEntry::TodoNeedsAction == entry.status()) {
+		if (AgendaEntry::TodoCompleted != entry.status()) {
 			// Read due date from agenda entry
 			QString displayText;
 			QString timeText(hbTrId("txt_notes_dblist_val_due_on_1"));
@@ -595,10 +595,18 @@
 		AgendaEntry entry = agendaEntryList[idIter];
 
 		if (AgendaEntry::TypeTodo != entry.type()) {
+			// delete the inserted row in the model
+			mSourceModel->removeRow(modelIter);
+			// decrement the iterator
+			modelIter--;
 			continue;
 		}
 
-		if (AgendaEntry::TodoNeedsAction != entry.status()) {
+		if (AgendaEntry::TodoCompleted == entry.status()) {
+			// delete the inserted row in the model
+			mSourceModel->removeRow(modelIter);
+			// decrement the iterator
+			modelIter--;
 			continue;
 		}
 
@@ -624,7 +632,7 @@
 			stringList << entry.summary();
 		}
 
-		if (AgendaEntry::TodoNeedsAction == entry.status()) {
+		if (AgendaEntry::TodoCompleted != entry.status()) {
 			// Read due date from agenda entry
 			QString displayText;
 			QString timeText(hbTrId("txt_notes_dblist_val_due_on_1"));
@@ -897,7 +905,7 @@
 			} else {
 				stringList << entry.summary();
 			}
-			if (AgendaEntry::TodoNeedsAction == entry.status()) {
+			if (AgendaEntry::TodoCompleted != entry.status()) {
 				// Read due date from agenda entry
 				QString displayText;
 				QString timeText(hbTrId("txt_notes_dblist_val_due_on_1"));
--- a/notes/notesui/notesviews/src/notesmainview.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/notes/notesui/notesviews/src/notesmainview.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -367,10 +367,10 @@
 						hbTrId("txt_notes_menu_make_it_as_todo_note"));
 
 	} else if (AgendaEntry::TypeTodo == entry.type()) {
-		if (AgendaEntry::TodoNeedsAction == entry.status()) {
+		if (AgendaEntry::TodoCompleted != entry.status()) {
 			mTodoStatusAction = contextMenu->addAction(
 					hbTrId("txt_notes_menu_mark_as_done"));
-		} else if (AgendaEntry::TodoCompleted == entry.status()) {
+		} else {
 			mTodoStatusAction = contextMenu->addAction(
 					hbTrId("txt_notes_menu_mark_as_not_done"));
 		}
@@ -426,9 +426,9 @@
 
 	QDateTime currentDateTime = QDateTime::currentDateTime();
 
-	if (AgendaEntry::TodoNeedsAction == entry.status()) {
+	if (AgendaEntry::TodoCompleted != entry.status()) {
 		mAgendaUtil->setCompleted(entry, true, currentDateTime);
-	} else if (AgendaEntry::TodoCompleted == entry.status()) {
+	} else {
 		mAgendaUtil->setCompleted(entry, false, currentDateTime);
 	}
 
--- a/notes/notesui/notesviews/src/notestodoview.cpp	Mon Sep 06 15:58:44 2010 +0530
+++ b/notes/notesui/notesviews/src/notestodoview.cpp	Mon Sep 20 12:44:39 2010 +0530
@@ -282,10 +282,10 @@
 			hbTrId("txt_common_menu_delete"));
 
 	if (AgendaEntry::TypeTodo == entry.type()) {
-		if (AgendaEntry::TodoNeedsAction == entry.status()) {
+		if (AgendaEntry::TodoCompleted != entry.status()) {
 			mTodoStatusAction = contextMenu->addAction(
 					hbTrId("txt_notes_menu_mark_as_done"));
-		} else if (AgendaEntry::TodoCompleted == entry.status()) {
+		} else {
 			mTodoStatusAction =
 					contextMenu->addAction(
 							hbTrId("txt_notes_menu_mark_as_not_done"));
@@ -337,9 +337,9 @@
 
 	QDateTime currentDateTime = QDateTime::currentDateTime();
 
-	if (AgendaEntry::TodoNeedsAction == entry.status()) {
+	if (AgendaEntry::TodoCompleted != entry.status()) {
 		mAgendaUtil->setCompleted(entry, true, currentDateTime);
-	} else if (AgendaEntry::TodoCompleted == entry.status()) {
+	} else {
 		mAgendaUtil->setCompleted(entry, false, currentDateTime);
 	}
 	OstTraceFunctionExit0( NOTESTODOVIEW_MARKTODOSTATUS_EXIT );
--- a/organizer_plat/calendar_launcher_api/inc/calenlauncher.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/organizer_plat/calendar_launcher_api/inc/calenlauncher.h	Mon Sep 20 12:44:39 2010 +0530
@@ -29,7 +29,8 @@
 public:
 	enum CalenView{
 			MonthView = 0,
-			AgendaView
+			AgendaView,
+			DayView
 		};
     CalenLauncher(QObject* parent = 0);
     ~CalenLauncher();
--- a/organizer_plat/clock_settings_keys_api/inc/clockdomaincrkeys.h	Mon Sep 06 15:58:44 2010 +0530
+++ b/organizer_plat/clock_settings_keys_api/inc/clockdomaincrkeys.h	Mon Sep 20 12:44:39 2010 +0530
@@ -1,1 +1,1 @@
-/*
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:   The file contains the uid of domain keys.
*
*/

#ifndef CLOCKDOMAINCRKEYS_H
#define CLOCKDOMAINCRKEYS_H

/**Clock Settings keys*/
/**Provides access to the ClockSettings keys*/
const long int KCRUidClockApp =  { 0x101F874D };
/**Default clock alarm sound file*/
const long int KClockAppDefaultSoundFile = 0x00000000;
/** Alarm snooze time key */
const long int KClockAppSnoozeTime = 0x00000001;

#endif  	// CLOCKDOMAINCRKEYS_H

// End of file	--Don't remove this.
\ No newline at end of file
+/*
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:   The file contains the uid of domain keys.
*
*/

#ifndef CLOCKDOMAINCRKEYS_H
#define CLOCKDOMAINCRKEYS_H

/**Clock Settings keys*/
/**Provides access to the ClockSettings keys*/
const long int KCRUidClockApp =  { 0x101F874D };
/**Default clock alarm sound file*/
const long int KClockAppDefaultSoundFile = 0x00000000;
/** Alarm snooze time key */
const long int KClockAppSnoozeTime = 0x00000001;
/** Clock type key for Analog/Digital ie Analog-0 and digital-1*/
const long int KClockType = 0x00000002;

#endif  	// CLOCKDOMAINCRKEYS_H

// End of file	--Don't remove this.
\ No newline at end of file
--- a/package_definition.xml	Mon Sep 06 15:58:44 2010 +0530
+++ b/package_definition.xml	Mon Sep 20 12:44:39 2010 +0530
@@ -138,10 +138,10 @@
    </component>
   </collection>
   <collection id="pimappservices" name="PIM Application Services" level="services">
-   <component id="calendar" name="Calendar" introduced="9.2" purpose="optional">
+   <component id="calendar" name="Calendar" introduced="9.2" purpose="optional" filter="s60">
     <unit version="2" bldFile="pimappservices/calendar/group" mrp="pimappservices/calendar/group/app-engines_calendar.mrp"/>
    </component>
-   <component id="calendarvcalplugin" name="Calendar vCal Plugin" introduced="8.1" purpose="optional" class="plugin">
+   <component id="calendarvcalplugin" name="Calendar vCal Plugin" introduced="8.1" purpose="optional" class="plugin" filter="s60">
     <unit version="2" bldFile="pimappservices/calendarvcalplugin/group" mrp="pimappservices/calendarvcalplugin/group/app-engines_agnversit2.mrp"/>
    </component>
    <component id="appenginesdocs" name="Application Engines Documentation" purpose="development" class="doc">
@@ -149,13 +149,13 @@
    </component>
   </collection>
   <collection id="pimappsupport" name="PIM Application Support" level="support">
-   <component id="vcardandvcal" name="vCard and vCal" introduced="ER5" purpose="optional">
+   <component id="vcardandvcal" name="vCard and vCal" introduced="ER5" purpose="optional" filter="s60">
     <unit bldFile="pimappsupport/vcardandvcal/group" mrp="pimappsupport/vcardandvcal/group/app-services_versit.mrp"/>
    </component>
-   <component id="chinesecalendarconverter" name="Chinese Calendar Converter" introduced="6.1" purpose="optional">
+   <component id="chinesecalendarconverter" name="Chinese Calendar Converter" introduced="6.1" purpose="optional" filter="s60">
     <unit bldFile="pimappsupport/chinesecalendarconverter/group" mrp="pimappsupport/chinesecalendarconverter/group/app-services_calcon.mrp"/>
    </component>
-   <component id="chinesecalendaralg" name="Chinese Calendar Algorithm" introduced="^2" purpose="optional" class="plugin">
+   <component id="chinesecalendaralg" name="Chinese Calendar Algorithm" introduced="^2" purpose="optional" class="plugin" filter="s60">
     <unit bldFile="pimappsupport/chinesecalendaralg/group" mrp="pimappsupport/chinesecalendaralg/group/app-services_chinesecalendaralgorithm.mrp"/>
    </component>
   </collection>