Catchup to latest Symbian^4 GCC_SURGE
authorWilliam Roberts <williamr@symbian.org>
Thu, 22 Jul 2010 16:32:51 +0100
branchGCC_SURGE
changeset 54 e6894b852bc6
parent 40 4b686cfad39d (current diff)
parent 53 e08ac1a3ba2b (diff)
Catchup to latest Symbian^4
agendainterface/bwins/agendainterfaceu.def
agendainterface/eabi/agendainterfaceu.def
alarmui/alarmalertwidget/alarmalertplugin/data/alarmui_en_GB.qm
alarmui/alarmalertwidget/bwins/alarmalertwidgetu.def
alarmui/alarmalertwidget/eabi/alarmalertwidgetu.def
calendarui/agendaeventviewer/data/caleneventviewer_en_GB.qm
calendarui/bwins/agendaeventvieweru.def
calendarui/bwins/calencommonutilsu.def
calendarui/bwins/calencontrolleru.def
calendarui/bwins/calencustomisationmanageru.def
calendarui/bwins/caleneditoru.def
calendarui/bwins/calenglobaldatau.def
calendarui/bwins/calenlauncheru.def
calendarui/bwins/calensettingsu.def
calendarui/bwins/calenviewsu.def
calendarui/caleneditor/data/caleneditor_en_GB.qm
calendarui/cenrep/101F874B.cre
calendarui/cenrep/101F874B.txt
calendarui/cenrep/CalendarDomainCRKeys.h
calendarui/cenrep/CalendarInternalCRKeys.h
calendarui/cenrep/CalendarPrivateCRKeys.h
calendarui/cenrep/README.txt
calendarui/cenrep/keys_calendarUI.xls
calendarui/controller/data/calendar_en_GB.qm
calendarui/controller/data/xml/calendayview.docml
calendarui/eabi/agendaeventvieweru.def
calendarui/eabi/calencommonutilsu.def
calendarui/eabi/calencontrolleru.def
calendarui/eabi/calencustomisationmanageru.def
calendarui/eabi/caleneditoru.def
calendarui/eabi/calenglobaldatau.def
calendarui/eabi/calenlauncheru.def
calendarui/eabi/calensettingsu.def
calendarui/eabi/calenviewsu.def
calendarui/inc/CalendarInternalCRKeys.h
calendarui/loc/calendar.loc
calendarui/regionalplugins/bwins/calenlunarchinesepluginu.def
calendarui/regionalplugins/calenregionalutil/data/calenregionalutil.rss
calendarui/regionalplugins/calenregionalutil/group/bld.inf
calendarui/regionalplugins/calenregionalutil/group/calenregionalutil.mmp
calendarui/regionalplugins/eabi/calenlunarchinesepluginu.def
calendarui/regionalplugins/inc/CalenLunarPaths.h
calendarui/regionalplugins/inc/CalenSolarTerms.h
calendarui/regionalplugins/inc/calenlunarinfo.h
calendarui/regionalplugins/inc/calenlunarinfoprovider.h
calendarui/regionalplugins/inc/calenlunarlocalizedinfo.h
calendarui/regionalplugins/inc/calenlunarlocalizer.h
calendarui/regionalplugins/inc/calenlunarpanic.h
calendarui/regionalplugins/loc/calendarregionalplugin.loc
calendarui/regionalplugins/lunarchinese/data/CalenLunarChinesePluginData.rss
calendarui/sisx/calendarui_armv5_urel.pkg
calendarui/sisx/calendarui_armv5_urel.sis
calendarui/sisx/createandsign.bat
calendarui/sisx/hb_calendarui.sisx
calendarui/sisx/nokia_rndcert_02.der
calendarui/sisx/nokia_rndcert_02.key
calendarui/views/inc/calendayview.h
calendarui/views/inc/calendayviewwidget.h
calendarui/views/src/calendayview.cpp
calendarui/views/src/calendayviewwidget.cpp
clock/clockengines/clockserver/server/inc/clockprivatecrkeys.h
clock/clockmw/bwins/clockalarmclientu.def
clock/clockmw/bwins/clocksettingsutilityu.def
clock/clockmw/bwins/clockstopwatchengineu.def
clock/clockmw/bwins/timezoneclientu.def
clock/clockmw/eabi/clockalarmclientu.def
clock/clockmw/eabi/clocksettingsutilityu.def
clock/clockmw/eabi/clockstopwatchengineu.def
clock/clockmw/eabi/timezoneclientu.def
clock/clockui/bwins/clockalarmeditoru.def
clock/clockui/bwins/clockappcontrolleru.def
clock/clockui/bwins/clockcityselectionlistu.def
clock/clockui/bwins/clocksettingsviewu.def
clock/clockui/bwins/clockviewmanageru.def
clock/clockui/bwins/clockviewsu.def
clock/clockui/clockalarmeditor/data/translations/clockalarmeditor.qm
clock/clockui/clockalarmeditor/data/translations/clockalarmeditor.ts
clock/clockui/clockcityselectionlist/data/style/clockcityselectionlistprototype.css
clock/clockui/clockcityselectionlist/data/style/clockcityselectionlistprototype.widgetml
clock/clockui/clockcityselectionlist/data/translations/clockcityselectionlist.qm
clock/clockui/clockcityselectionlist/data/translations/clockcityselectionlist.ts
clock/clockui/clockcityselectionlist/inc/clockcityselectionlistprototype.h
clock/clockui/clockcityselectionlist/src/clockcityselectionlistprototype.cpp
clock/clockui/clocksettingsview/data/translations/clocksettingsview.qm
clock/clockui/clocksettingsview/data/translations/clocksettingsview.ts
clock/clockui/clocksettingsview/data/xml/clocksettingsview.docml
clock/clockui/clockviews/data/xml/clockmainview.docml
clock/clockui/clockwidget/bwins/clockwidgetu.def
clock/clockui/clockwidget/eabi/clockwidgetu.def
clock/clockui/eabi/clockalarmeditoru.def
clock/clockui/eabi/clockappcontrolleru.def
clock/clockui/eabi/clockcityselectionlistu.def
clock/clockui/eabi/clocksettingsviewu.def
clock/clockui/eabi/clockviewmanageru.def
clock/clockui/eabi/clockviewsu.def
clock/data/translations/clock.qm
clock/data/translations/clock.ts
clock/ftudatetimewizard/ftudatetimewizard.pro
clock/ftudatetimewizard/inc/ftudatetimecustomitem.h
clock/ftudatetimewizard/inc/ftudatetimeprivatecrkeys.h
clock/ftudatetimewizard/inc/ftudatetimeview.h
clock/ftudatetimewizard/inc/ftudatetimewizard.h
clock/ftudatetimewizard/inc/ftudatetimewizardfactory.h
clock/ftudatetimewizard/resource/ftudatetimewizard.manifest
clock/ftudatetimewizard/resources/ftudatetimewizard.qrc
clock/ftudatetimewizard/resources/ftudatetimewizard_menustrip_icon.svg
clock/ftudatetimewizard/resources/ftudatetimewizard_toc_icon.svg
clock/ftudatetimewizard/src/ftudatetimecustomitem.cpp
clock/ftudatetimewizard/src/ftudatetimeview.cpp
clock/ftudatetimewizard/src/ftudatetimewizard.cpp
clock/ftudatetimewizard/src/ftudatetimewizardfactory.cpp
notes/data/translations/notes.qm
notes/data/translations/notes.ts
notes/data/xml/notescollectionsview.docml
notes/data/xml/notesfavoriteview.docml
notes/data/xml/notesmainview.docml
notes/data/xml/notesnoteview.docml
notes/data/xml/notestodoview.docml
notes/notesui/bwins/notesappcontrolleru.def
notes/notesui/bwins/noteseditoru.def
notes/notesui/bwins/notesmodelhandleru.def
notes/notesui/bwins/notesmodelu.def
notes/notesui/bwins/notesviewmanageru.def
notes/notesui/bwins/notesviewsu.def
notes/notesui/eabi/notesappcontrolleru.def
notes/notesui/eabi/noteseditoru.def
notes/notesui/eabi/notesmodelhandleru.def
notes/notesui/eabi/notesmodelu.def
notes/notesui/eabi/notesviewmanageru.def
notes/notesui/eabi/notesviewsu.def
notes/notesui/notesapplication/rndcert.der
notes/notesui/notesapplication/rndcert.key
notes/notesui/noteseditor/data/translations/notes.qm
notes/notesui/noteseditor/data/translations/notes.ts
notes/notesui/noteseditor/data/xml/notesnoteeditor.docml
notes/siscreate.bat
organizer_plat/notes_editor_api/inc/NotesEditor
organizer_plat/notes_editor_api/inc/noteseditor.h
organizer_plat/notes_editor_api/tsrc/rom/unit_noteseditor.iby
organizer_plat/notes_editor_api/tsrc/unittest_noteseditor/inc/unittest_noteseditor.h
organizer_plat/notes_editor_api/tsrc/unittest_noteseditor/src/main.cpp
organizer_plat/notes_editor_api/tsrc/unittest_noteseditor/src/unittest_noteseditor.cpp
organizer_plat/notes_editor_api/tsrc/unittest_noteseditor/unittest_noteseditor.pkg
organizer_plat/notes_editor_api/tsrc/unittest_noteseditor/unittest_noteseditor.pro
--- a/agendainterface/agendautil/agendautil.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/agendainterface/agendautil/agendautil.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -23,7 +23,6 @@
 INCLUDEPATH += . \
 			   ./inc \
 			   ../inc
-INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
 
 DEFINES += XQCALENDAR_LIBRARY
 
@@ -31,11 +30,13 @@
 	LIBS += -lcalinterimapi \
 			-lcalenImp \
 			-lestor \
-			-lefsrv
+			-lefsrv \
+			-lcaleninterimutils2
 	
 	TARGET.UID3 = 0x20029F7F
 	TARGET.CAPABILITY = ALL -TCB
 	TARGET.EPOCALLOWDLLDATA = 1
+	INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
 }
 
 HEADERS += ../inc/agendautil.h \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/agendainterface/agendautil/bwins/agendainterfaceu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,184 @@
+EXPORTS
+	?minTime@AgendaUtil@@SA?AVQDateTime@@XZ @ 1 NONAME ; class QDateTime AgendaUtil::minTime(void)
+	??4AgendaCategory@@QAEAAV0@ABV0@@Z @ 2 NONAME ; class AgendaCategory & AgendaCategory::operator=(class AgendaCategory const &)
+	?addEntry@AgendaUtil@@QAEKABVAgendaEntry@@@Z @ 3 NONAME ; unsigned long AgendaUtil::addEntry(class AgendaEntry const &)
+	??_EAgendaEntry@@UAE@I@Z @ 4 NONAME ; AgendaEntry::~AgendaEntry(unsigned int)
+	??8AgendaEntry@@QBE_NABV0@@Z @ 5 NONAME ; bool AgendaEntry::operator==(class AgendaEntry const &) const
+	??1AgendaAlarm@@QAE@XZ @ 6 NONAME ; AgendaAlarm::~AgendaAlarm(void)
+	?setAlarm@AgendaEntry@@QAEXABVAgendaAlarm@@@Z @ 7 NONAME ; void AgendaEntry::setAlarm(class AgendaAlarm const &)
+	?isNull@AgendaEntry@@QBE_NXZ @ 8 NONAME ; bool AgendaEntry::isNull(void) const
+	?isNull@AgendaCategory@@QBE_NXZ @ 9 NONAME ; bool AgendaCategory::isNull(void) const
+	??8AgendaRepeatRule@@QBE_NABV0@@Z @ 10 NONAME ; bool AgendaRepeatRule::operator==(class AgendaRepeatRule const &) const
+	?entryUpdated@AgendaUtil@@IAEXK@Z @ 11 NONAME ; void AgendaUtil::entryUpdated(unsigned long)
+	?alarmSoundName@AgendaAlarm@@QBE?AVQString@@XZ @ 12 NONAME ; class QString AgendaAlarm::alarmSoundName(void) const
+	?alarm@AgendaEntry@@QBE?AVAgendaAlarm@@XZ @ 13 NONAME ; class AgendaAlarm AgendaEntry::alarm(void) const
+	?responseRequested@AgendaAttendee@@QBE_NXZ @ 14 NONAME ; bool AgendaAttendee::responseRequested(void) const
+	?startTime@AgendaEntry@@QBE?AVQDateTime@@XZ @ 15 NONAME ; class QDateTime AgendaEntry::startTime(void) const
+	?geoValue@AgendaEntry@@QBE?AVAgendaGeoValue@@XZ @ 16 NONAME ; class AgendaGeoValue AgendaEntry::geoValue(void) const
+	?getNextInstanceTimes@AgendaUtil@@QAEXAAVAgendaEntry@@AAVQDateTime@@1@Z @ 17 NONAME ; void AgendaUtil::getNextInstanceTimes(class AgendaEntry &, class QDateTime &, class QDateTime &)
+	?exportAsvCalendar@AgendaUtil@@QAE_NABVQString@@J@Z @ 18 NONAME ; bool AgendaUtil::exportAsvCalendar(class QString const &, long)
+	??_EAgendaAttendee@@UAE@I@Z @ 19 NONAME ; AgendaAttendee::~AgendaAttendee(unsigned int)
+	??9AgendaAlarm@@QBE_NABV0@@Z @ 20 NONAME ; bool AgendaAlarm::operator!=(class AgendaAlarm const &) const
+	?isNull@AgendaAlarm@@QBE_NXZ @ 21 NONAME ; bool AgendaAlarm::isNull(void) const
+	?extendedCategoryName@AgendaCategory@@QBE?AVQString@@XZ @ 22 NONAME ; class QString AgendaCategory::extendedCategoryName(void) const
+	?entryIds@AgendaUtil@@QAE?AV?$QList@K@@W4FilterFlags@1@@Z @ 23 NONAME ; class QList<unsigned long> AgendaUtil::entryIds(enum AgendaUtil::FilterFlags)
+	?isRepeating@AgendaEntry@@QAE_NXZ @ 24 NONAME ; bool AgendaEntry::isRepeating(void)
+	?clearRepeatingProperties@AgendaUtil@@QAEXAAVAgendaEntry@@@Z @ 25 NONAME ; void AgendaUtil::clearRepeatingProperties(class AgendaEntry &)
+	?deleteRepeatedEntry@AgendaUtil@@QAEXAAVAgendaEntry@@W4RecurrenceRange@1@@Z @ 26 NONAME ; void AgendaUtil::deleteRepeatedEntry(class AgendaEntry &, enum AgendaUtil::RecurrenceRange)
+	?tr@AgendaUtil@@SA?AVQString@@PBD0H@Z @ 27 NONAME ; class QString AgendaUtil::tr(char const *, char const *, int)
+	?description@AgendaEntry@@QBE?AVQString@@XZ @ 28 NONAME ; class QString AgendaEntry::description(void) const
+	??0AgendaUtil@@QAE@PAVQObject@@@Z @ 29 NONAME ; AgendaUtil::AgendaUtil(class QObject *)
+	?categories@AgendaEntry@@QAEAAV?$QList@VAgendaCategory@@@@XZ @ 30 NONAME ; class QList<class AgendaCategory> & AgendaEntry::categories(void)
+	?entriesChanged@AgendaUtil@@IAEXV?$QList@K@@@Z @ 31 NONAME ; void AgendaUtil::entriesChanged(class QList<unsigned long>)
+	??0AgendaGeoValue@@QAE@XZ @ 32 NONAME ; AgendaGeoValue::AgendaGeoValue(void)
+	?status@AgendaAttendee@@QBE?AW4StatusType@1@XZ @ 33 NONAME ; enum AgendaAttendee::StatusType AgendaAttendee::status(void) const
+	?markDatesWithEvents@AgendaUtil@@QAEXVQDateTime@@0W4FilterFlags@1@AAV?$QList@VQDate@@@@@Z @ 34 NONAME ; void AgendaUtil::markDatesWithEvents(class QDateTime, class QDateTime, enum AgendaUtil::FilterFlags, class QList<class QDate> &)
+	??9AgendaGeoValue@@QBE_NABV0@@Z @ 35 NONAME ; bool AgendaGeoValue::operator!=(class AgendaGeoValue const &) const
+	??0AgendaAlarm@@QAE@XZ @ 36 NONAME ; AgendaAlarm::AgendaAlarm(void)
+	?byMonth@AgendaRepeatRule@@QBE?AV?$QList@W4Month@AgendaRepeatRule@@@@XZ @ 37 NONAME ; class QList<enum AgendaRepeatRule::Month> AgendaRepeatRule::byMonth(void) const
+	?isNull@AgendaAttendee@@QBE_NXZ @ 38 NONAME ; bool AgendaAttendee::isNull(void) const
+	?areNoEntriesInCalendar@AgendaUtil@@QAE_NXZ @ 39 NONAME ; bool AgendaUtil::areNoEntriesInCalendar(void)
+	?clearGeoValue@AgendaEntry@@QBEXXZ @ 40 NONAME ; void AgendaEntry::clearGeoValue(void) const
+	?setAddress@AgendaAttendee@@QAEXABVQString@@@Z @ 41 NONAME ; void AgendaAttendee::setAddress(class QString const &)
+	?setRepeatRuleStart@AgendaRepeatRule@@QAEXABVQDateTime@@@Z @ 42 NONAME ; void AgendaRepeatRule::setRepeatRuleStart(class QDateTime const &)
+	?trUtf8@AgendaUtil@@SA?AVQString@@PBD0H@Z @ 43 NONAME ; class QString AgendaUtil::trUtf8(char const *, char const *, int)
+	?setLastModifiedDateTime@AgendaEntry@@QAEXABVQDateTime@@@Z @ 44 NONAME ; void AgendaEntry::setLastModifiedDateTime(class QDateTime const &)
+	??0AgendaAlarm@@QAE@ABV0@@Z @ 45 NONAME ; AgendaAlarm::AgendaAlarm(class AgendaAlarm const &)
+	?setSummary@AgendaEntry@@QAEXABVQString@@@Z @ 46 NONAME ; void AgendaEntry::setSummary(class QString const &)
+	?setByMonthDay@AgendaRepeatRule@@QAEXABV?$QList@H@@@Z @ 47 NONAME ; void AgendaRepeatRule::setByMonthDay(class QList<int> const &)
+	??1AgendaEntry@@UAE@XZ @ 48 NONAME ; AgendaEntry::~AgendaEntry(void)
+	?setResponseRequested@AgendaAttendee@@QAEX_N@Z @ 49 NONAME ; void AgendaAttendee::setResponseRequested(bool)
+	??1AgendaRepeatRule@@QAE@XZ @ 50 NONAME ; AgendaRepeatRule::~AgendaRepeatRule(void)
+	?byMonthDay@AgendaRepeatRule@@QBE?AV?$QList@H@@XZ @ 51 NONAME ; class QList<int> AgendaRepeatRule::byMonthDay(void) const
+	?detach@AgendaGeoValue@@AAEXXZ @ 52 NONAME ; void AgendaGeoValue::detach(void)
+	?detach@AgendaEntry@@AAEXXZ @ 53 NONAME ; void AgendaEntry::detach(void)
+	??9AgendaAttendee@@QBE_NABV0@@Z @ 54 NONAME ; bool AgendaAttendee::operator!=(class AgendaAttendee const &) const
+	??9AgendaRepeatRule@@QBE_NABV0@@Z @ 55 NONAME ; bool AgendaRepeatRule::operator!=(class AgendaRepeatRule const &) const
+	?weekStart@AgendaRepeatRule@@QBE?AW4Day@1@XZ @ 56 NONAME ; enum AgendaRepeatRule::Day AgendaRepeatRule::weekStart(void) const
+	??4AgendaAlarm@@QAEAAV0@ABV0@@Z @ 57 NONAME ; class AgendaAlarm & AgendaAlarm::operator=(class AgendaAlarm const &)
+	?lastModifiedDateTime@AgendaEntry@@QBE?AVQDateTime@@XZ @ 58 NONAME ; class QDateTime AgendaEntry::lastModifiedDateTime(void) const
+	?attendees@AgendaEntry@@QBEABV?$QList@VAgendaAttendee@@@@XZ @ 59 NONAME ; class QList<class AgendaAttendee> const & AgendaEntry::attendees(void) const
+	?setInterval@AgendaRepeatRule@@QAEXH@Z @ 60 NONAME ; void AgendaRepeatRule::setInterval(int)
+	?updateEntry@AgendaUtil@@QAE_NABVAgendaEntry@@_N@Z @ 61 NONAME ; bool AgendaUtil::updateEntry(class AgendaEntry const &, bool)
+	??8AgendaGeoValue@@QBE_NABV0@@Z @ 62 NONAME ; bool AgendaGeoValue::operator==(class AgendaGeoValue const &) const
+	?id@AgendaEntry@@QBEKXZ @ 63 NONAME ; unsigned long AgendaEntry::id(void) const
+	?setByDay@AgendaRepeatRule@@QAEXABV?$QList@W4Day@AgendaRepeatRule@@@@@Z @ 64 NONAME ; void AgendaRepeatRule::setByDay(class QList<enum AgendaRepeatRule::Day> const &)
+	?setUntil@AgendaRepeatRule@@QAEXABVQDateTime@@@Z @ 65 NONAME ; void AgendaRepeatRule::setUntil(class QDateTime const &)
+	?setType@AgendaRepeatRule@@QAEXW4RuleType@1@@Z @ 66 NONAME ; void AgendaRepeatRule::setType(enum AgendaRepeatRule::RuleType)
+	?interval@AgendaRepeatRule@@QBEHXZ @ 67 NONAME ; int AgendaRepeatRule::interval(void) const
+	?rDates@AgendaEntry@@QBE?AV?$QList@VQDate@@@@XZ @ 68 NONAME ; class QList<class QDate> AgendaEntry::rDates(void) const
+	?repeatRuleStart@AgendaRepeatRule@@QBE?AVQDateTime@@XZ @ 69 NONAME ; class QDateTime AgendaRepeatRule::repeatRuleStart(void) const
+	??8AgendaAlarm@@QBE_NABV0@@Z @ 70 NONAME ; bool AgendaAlarm::operator==(class AgendaAlarm const &) const
+	?storeRepeatingEntry@AgendaUtil@@QAE_NABVAgendaEntry@@_N@Z @ 71 NONAME ; bool AgendaUtil::storeRepeatingEntry(class AgendaEntry const &, bool)
+	??0AgendaRepeatRule@@QAE@ABV0@@Z @ 72 NONAME ; AgendaRepeatRule::AgendaRepeatRule(class AgendaRepeatRule const &)
+	?setStatus@AgendaAttendee@@QAEXW4StatusType@1@@Z @ 73 NONAME ; void AgendaAttendee::setStatus(enum AgendaAttendee::StatusType)
+	?setStatus@AgendaEntry@@QAEXW4Status@1@@Z @ 74 NONAME ; void AgendaEntry::setStatus(enum AgendaEntry::Status)
+	?setExtendedCategoryName@AgendaCategory@@QAEXABVQString@@@Z @ 75 NONAME ; void AgendaCategory::setExtendedCategoryName(class QString const &)
+	?setDescription@AgendaEntry@@QAEXABVQString@@@Z @ 76 NONAME ; void AgendaEntry::setDescription(class QString const &)
+	?recurrenceId@AgendaEntry@@QAE?AVQDateTime@@XZ @ 77 NONAME ; class QDateTime AgendaEntry::recurrenceId(void)
+	?until@AgendaRepeatRule@@QBE?AVQDateTime@@XZ @ 78 NONAME ; class QDateTime AgendaRepeatRule::until(void) const
+	?setByMonth@AgendaRepeatRule@@QAEXABV?$QList@W4Month@AgendaRepeatRule@@@@@Z @ 79 NONAME ; void AgendaRepeatRule::setByMonth(class QList<enum AgendaRepeatRule::Month> const &)
+	?qt_metacall@AgendaUtil@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 80 NONAME ; int AgendaUtil::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?qt_metacast@AgendaUtil@@UAEPAXPBD@Z @ 81 NONAME ; void * AgendaUtil::qt_metacast(char const *)
+	?isNull@AgendaRepeatRule@@QBE_NXZ @ 82 NONAME ; bool AgendaRepeatRule::isNull(void) const
+	?getStaticMetaObject@AgendaUtil@@SAABUQMetaObject@@XZ @ 83 NONAME ; struct QMetaObject const & AgendaUtil::getStaticMetaObject(void)
+	??8AgendaAttendee@@QBE_NABV0@@Z @ 84 NONAME ; bool AgendaAttendee::operator==(class AgendaAttendee const &) const
+	?addCategory@AgendaEntry@@QAEXABVAgendaCategory@@@Z @ 85 NONAME ; void AgendaEntry::addCategory(class AgendaCategory const &)
+	?setLocation@AgendaEntry@@QAEXABVQString@@@Z @ 86 NONAME ; void AgendaEntry::setLocation(class QString const &)
+	?isTimedEntry@AgendaEntry@@QAE_NXZ @ 87 NONAME ; bool AgendaEntry::isTimedEntry(void)
+	?favourite@AgendaEntry@@QBEIXZ @ 88 NONAME ; unsigned int AgendaEntry::favourite(void) const
+	?entryViewCreationCompleted@AgendaUtil@@IAEXH@Z @ 89 NONAME ; void AgendaUtil::entryViewCreationCompleted(int)
+	?durationInSecs@AgendaEntry@@QBEHXZ @ 90 NONAME ; int AgendaEntry::durationInSecs(void) const
+	??1AgendaUtil@@UAE@XZ @ 91 NONAME ; AgendaUtil::~AgendaUtil(void)
+	?category@AgendaCategory@@QBE?AW4CategoryType@1@XZ @ 92 NONAME ; enum AgendaCategory::CategoryType AgendaCategory::category(void) const
+	?entryAdded@AgendaUtil@@IAEXK@Z @ 93 NONAME ; void AgendaUtil::entryAdded(unsigned long)
+	?role@AgendaAttendee@@QBE?AW4ParticipantRole@1@XZ @ 94 NONAME ; enum AgendaAttendee::ParticipantRole AgendaAttendee::role(void) const
+	?type@AgendaEntry@@QBE?AW4Type@1@XZ @ 95 NONAME ; enum AgendaEntry::Type AgendaEntry::type(void) const
+	??0AgendaEntry@@QAE@W4Type@0@@Z @ 96 NONAME ; AgendaEntry::AgendaEntry(enum AgendaEntry::Type)
+	?detach@AgendaRepeatRule@@AAEXXZ @ 97 NONAME ; void AgendaRepeatRule::detach(void)
+	?error@AgendaUtil@@QBE?AW4Error@1@XZ @ 98 NONAME ; enum AgendaUtil::Error AgendaUtil::error(void) const
+	?trUtf8@AgendaUtil@@SA?AVQString@@PBD0@Z @ 99 NONAME ; class QString AgendaUtil::trUtf8(char const *, char const *)
+	?status@AgendaEntry@@QBE?AW4Status@1@XZ @ 100 NONAME ; enum AgendaEntry::Status AgendaEntry::status(void) const
+	??0AgendaEntry@@QAE@ABV0@@Z @ 101 NONAME ; AgendaEntry::AgendaEntry(class AgendaEntry const &)
+	??4AgendaAttendee@@QAEAAV0@ABV0@@Z @ 102 NONAME ; class AgendaAttendee & AgendaAttendee::operator=(class AgendaAttendee const &)
+	?address@AgendaAttendee@@QBE?AVQString@@XZ @ 103 NONAME ; class QString AgendaAttendee::address(void) const
+	?entryDeleted@AgendaUtil@@IAEXK@Z @ 104 NONAME ; void AgendaUtil::entryDeleted(unsigned long)
+	?summary@AgendaEntry@@QBE?AVQString@@XZ @ 105 NONAME ; class QString AgendaEntry::summary(void) const
+	?priority@AgendaEntry@@QBEHXZ @ 106 NONAME ; int AgendaEntry::priority(void) const
+	?fetchById@AgendaUtil@@QAE?AVAgendaEntry@@K@Z @ 107 NONAME ; class AgendaEntry AgendaUtil::fetchById(unsigned long)
+	?setCommonName@AgendaAttendee@@QAEXABVQString@@@Z @ 108 NONAME ; void AgendaAttendee::setCommonName(class QString const &)
+	?setMethod@AgendaEntry@@QAEXW4Method@1@@Z @ 109 NONAME ; void AgendaEntry::setMethod(enum AgendaEntry::Method)
+	?setRDates@AgendaEntry@@QAEXABV?$QList@VQDate@@@@@Z @ 110 NONAME ; void AgendaEntry::setRDates(class QList<class QDate> const &)
+	?parentEntry@AgendaUtil@@QAE?AVAgendaEntry@@AAV2@@Z @ 111 NONAME ; class AgendaEntry AgendaUtil::parentEntry(class AgendaEntry &)
+	?addAttendee@AgendaEntry@@QAEXABVAgendaAttendee@@@Z @ 112 NONAME ; void AgendaEntry::addAttendee(class AgendaAttendee const &)
+	?setCompleted@AgendaUtil@@QAEXAAVAgendaEntry@@_NAAVQDateTime@@@Z @ 113 NONAME ; void AgendaUtil::setCompleted(class AgendaEntry &, bool, class QDateTime &)
+	??0AgendaCategory@@QAE@XZ @ 114 NONAME ; AgendaCategory::AgendaCategory(void)
+	?timeOffset@AgendaAlarm@@QBEHXZ @ 115 NONAME ; int AgendaAlarm::timeOffset(void) const
+	??0AgendaAttendee@@QAE@XZ @ 116 NONAME ; AgendaAttendee::AgendaAttendee(void)
+	?setAlarmSoundName@AgendaAlarm@@QAEXABVQString@@@Z @ 117 NONAME ; void AgendaAlarm::setAlarmSoundName(class QString const &)
+	?fetchEntriesInRange@AgendaUtil@@QAE?AV?$QList@VAgendaEntry@@@@VQDateTime@@0W4FilterFlags@1@@Z @ 118 NONAME ; class QList<class AgendaEntry> AgendaUtil::fetchEntriesInRange(class QDateTime, class QDateTime, enum AgendaUtil::FilterFlags)
+	?detach@AgendaAlarm@@AAEXXZ @ 119 NONAME ; void AgendaAlarm::detach(void)
+	?setWeekStart@AgendaRepeatRule@@QAEXW4Day@1@@Z @ 120 NONAME ; void AgendaRepeatRule::setWeekStart(enum AgendaRepeatRule::Day)
+	?setFavourite@AgendaEntry@@QAEXI@Z @ 121 NONAME ; void AgendaEntry::setFavourite(unsigned int)
+	?setDTStamp@AgendaEntry@@QAEXABVQDateTime@@@Z @ 122 NONAME ; void AgendaEntry::setDTStamp(class QDateTime const &)
+	?cloneEntry@AgendaUtil@@QAEKABVAgendaEntry@@W4Type@2@@Z @ 123 NONAME ; unsigned long AgendaUtil::cloneEntry(class AgendaEntry const &, enum AgendaEntry::Type)
+	?setRepeatRule@AgendaEntry@@QAEXABVAgendaRepeatRule@@@Z @ 124 NONAME ; void AgendaEntry::setRepeatRule(class AgendaRepeatRule const &)
+	?categories@AgendaEntry@@QBEABV?$QList@VAgendaCategory@@@@XZ @ 125 NONAME ; class QList<class AgendaCategory> const & AgendaEntry::categories(void) const
+	?tr@AgendaUtil@@SA?AVQString@@PBD0@Z @ 126 NONAME ; class QString AgendaUtil::tr(char const *, char const *)
+	??4AgendaRepeatRule@@QAEAAV0@ABV0@@Z @ 127 NONAME ; class AgendaRepeatRule & AgendaRepeatRule::operator=(class AgendaRepeatRule const &)
+	?setCompletedDateTime@AgendaEntry@@QAEXABVQDateTime@@@Z @ 128 NONAME ; void AgendaEntry::setCompletedDateTime(class QDateTime const &)
+	??0AgendaRepeatRule@@QAE@XZ @ 129 NONAME ; AgendaRepeatRule::AgendaRepeatRule(void)
+	?dtStamp@AgendaEntry@@QBE?AVQDateTime@@XZ @ 130 NONAME ; class QDateTime AgendaEntry::dtStamp(void) const
+	?method@AgendaEntry@@QBE?AW4Method@1@XZ @ 131 NONAME ; enum AgendaEntry::Method AgendaEntry::method(void) const
+	?type@AgendaRepeatRule@@QBE?AW4RuleType@1@XZ @ 132 NONAME ; enum AgendaRepeatRule::RuleType AgendaRepeatRule::type(void) const
+	??4AgendaGeoValue@@QAEAAV0@ABV0@@Z @ 133 NONAME ; class AgendaGeoValue & AgendaGeoValue::operator=(class AgendaGeoValue const &)
+	??0AgendaCategory@@QAE@W4CategoryType@0@@Z @ 134 NONAME ; AgendaCategory::AgendaCategory(enum AgendaCategory::CategoryType)
+	?commonName@AgendaAttendee@@QBE?AVQString@@XZ @ 135 NONAME ; class QString AgendaAttendee::commonName(void) const
+	?detach@AgendaCategory@@AAEXXZ @ 136 NONAME ; void AgendaCategory::detach(void)
+	??0AgendaGeoValue@@QAE@ABV0@@Z @ 137 NONAME ; AgendaGeoValue::AgendaGeoValue(class AgendaGeoValue const &)
+	?isWorkdaysRepeatingEntry@AgendaUtil@@SA_NABVAgendaRepeatRule@@@Z @ 138 NONAME ; bool AgendaUtil::isWorkdaysRepeatingEntry(class AgendaRepeatRule const &)
+	?setRole@AgendaAttendee@@QAEXW4ParticipantRole@1@@Z @ 139 NONAME ; void AgendaAttendee::setRole(enum AgendaAttendee::ParticipantRole)
+	?detach@AgendaAttendee@@AAEXXZ @ 140 NONAME ; void AgendaAttendee::detach(void)
+	?getLatLong@AgendaGeoValue@@QBEXAAN0@Z @ 141 NONAME ; void AgendaGeoValue::getLatLong(double &, double &) const
+	?maxTime@AgendaUtil@@SA?AVQDateTime@@XZ @ 142 NONAME ; class QDateTime AgendaUtil::maxTime(void)
+	?setCategory@AgendaCategory@@QAEXW4CategoryType@1@@Z @ 143 NONAME ; void AgendaCategory::setCategory(enum AgendaCategory::CategoryType)
+	?endTime@AgendaEntry@@QBE?AVQDateTime@@XZ @ 144 NONAME ; class QDateTime AgendaEntry::endTime(void) const
+	??9AgendaEntry@@QBE_NABV0@@Z @ 145 NONAME ; bool AgendaEntry::operator!=(class AgendaEntry const &) const
+	??0AgendaRepeatRule@@QAE@W4RuleType@0@@Z @ 146 NONAME ; AgendaRepeatRule::AgendaRepeatRule(enum AgendaRepeatRule::RuleType)
+	??9AgendaCategory@@QBE_NABV0@@Z @ 147 NONAME ; bool AgendaCategory::operator!=(class AgendaCategory const &) const
+	??0AgendaAttendee@@QAE@ABV0@@Z @ 148 NONAME ; AgendaAttendee::AgendaAttendee(class AgendaAttendee const &)
+	??0AgendaAttendee@@QAE@ABVQString@@@Z @ 149 NONAME ; AgendaAttendee::AgendaAttendee(class QString const &)
+	?importvCalendar@AgendaUtil@@QAEHABVQString@@AAVAgendaEntry@@@Z @ 150 NONAME ; int AgendaUtil::importvCalendar(class QString const &, class AgendaEntry &)
+	?instanceViewCreationCompleted@AgendaUtil@@IAEXH@Z @ 151 NONAME ; void AgendaUtil::instanceViewCreationCompleted(int)
+	??_EAgendaUtil@@UAE@I@Z @ 152 NONAME ; AgendaUtil::~AgendaUtil(unsigned int)
+	?setGeoValue@AgendaEntry@@QAEXABVAgendaGeoValue@@@Z @ 153 NONAME ; void AgendaEntry::setGeoValue(class AgendaGeoValue const &)
+	?getPreviousInstanceTimes@AgendaUtil@@QAEXAAVAgendaEntry@@AAVQDateTime@@1@Z @ 154 NONAME ; void AgendaUtil::getPreviousInstanceTimes(class AgendaEntry &, class QDateTime &, class QDateTime &)
+	?attendees@AgendaEntry@@QAEAAV?$QList@VAgendaAttendee@@@@XZ @ 155 NONAME ; class QList<class AgendaAttendee> & AgendaEntry::attendees(void)
+	?staticMetaObject@AgendaUtil@@2UQMetaObject@@B @ 156 NONAME ; struct QMetaObject const AgendaUtil::staticMetaObject
+	?entriesDeleted@AgendaUtil@@IAEXH@Z @ 157 NONAME ; void AgendaUtil::entriesDeleted(int)
+	?fetchAllEntries@AgendaUtil@@QAE?AV?$QList@VAgendaEntry@@@@W4FilterFlags@1@@Z @ 158 NONAME ; class QList<class AgendaEntry> AgendaUtil::fetchAllEntries(enum AgendaUtil::FilterFlags)
+	?setTimeOffset@AgendaAlarm@@QAEXH@Z @ 159 NONAME ; void AgendaAlarm::setTimeOffset(int)
+	??0AgendaEntry@@QAE@XZ @ 160 NONAME ; AgendaEntry::AgendaEntry(void)
+	?setPriority@AgendaEntry@@QAEXH@Z @ 161 NONAME ; void AgendaEntry::setPriority(int)
+	?setType@AgendaEntry@@QAEXW4Type@1@@Z @ 162 NONAME ; void AgendaEntry::setType(enum AgendaEntry::Type)
+	?setStartAndEndTime@AgendaEntry@@QAE_NABVQDateTime@@0@Z @ 163 NONAME ; bool AgendaEntry::setStartAndEndTime(class QDateTime const &, class QDateTime const &)
+	?deleteEntries@AgendaUtil@@QAEXAAVQDateTime@@0W4FilterFlags@1@@Z @ 164 NONAME ; void AgendaUtil::deleteEntries(class QDateTime &, class QDateTime &, enum AgendaUtil::FilterFlags)
+	?metaObject@AgendaUtil@@UBEPBUQMetaObject@@XZ @ 165 NONAME ; struct QMetaObject const * AgendaUtil::metaObject(void) const
+	?location@AgendaEntry@@QBE?AVQString@@XZ @ 166 NONAME ; class QString AgendaEntry::location(void) const
+	??8AgendaCategory@@QBE_NABV0@@Z @ 167 NONAME ; bool AgendaCategory::operator==(class AgendaCategory const &) const
+	??0AgendaCategory@@QAE@ABV0@@Z @ 168 NONAME ; AgendaCategory::AgendaCategory(class AgendaCategory const &)
+	??1AgendaGeoValue@@QAE@XZ @ 169 NONAME ; AgendaGeoValue::~AgendaGeoValue(void)
+	??4AgendaEntry@@QAEAAV0@ABV0@@Z @ 170 NONAME ; class AgendaEntry & AgendaEntry::operator=(class AgendaEntry const &)
+	??_EAgendaCategory@@UAE@I@Z @ 171 NONAME ; AgendaCategory::~AgendaCategory(unsigned int)
+	?createEntryIdListForDay@AgendaUtil@@QAE?AV?$QList@VAgendaEntry@@@@VQDateTime@@W4FilterFlags@1@@Z @ 172 NONAME ; class QList<class AgendaEntry> AgendaUtil::createEntryIdListForDay(class QDateTime, enum AgendaUtil::FilterFlags)
+	?createException@AgendaUtil@@QAE_NABVAgendaEntry@@VQDateTime@@@Z @ 173 NONAME ; bool AgendaUtil::createException(class AgendaEntry const &, class QDateTime)
+	?repeatRule@AgendaEntry@@QBE?AVAgendaRepeatRule@@XZ @ 174 NONAME ; class AgendaRepeatRule AgendaEntry::repeatRule(void) const
+	??1AgendaCategory@@UAE@XZ @ 175 NONAME ; AgendaCategory::~AgendaCategory(void)
+	?deleteEntry@AgendaUtil@@QAE_NK@Z @ 176 NONAME ; bool AgendaUtil::deleteEntry(unsigned long)
+	??1AgendaAttendee@@UAE@XZ @ 177 NONAME ; AgendaAttendee::~AgendaAttendee(void)
+	?byDay@AgendaRepeatRule@@QBE?AV?$QList@W4Day@AgendaRepeatRule@@@@XZ @ 178 NONAME ; class QList<enum AgendaRepeatRule::Day> AgendaRepeatRule::byDay(void) const
+	?setLatLong@AgendaGeoValue@@QAEXNN@Z @ 179 NONAME ; void AgendaGeoValue::setLatLong(double, double)
+	?completedDateTime@AgendaEntry@@QBE?AVQDateTime@@XZ @ 180 NONAME ; class QDateTime AgendaEntry::completedDateTime(void) const
+	?setRecurrenceId@AgendaEntry@@QAEXAAVQDateTime@@@Z @ 181 NONAME ; void AgendaEntry::setRecurrenceId(class QDateTime &)
+	?isNull@AgendaGeoValue@@QBE_NXZ @ 182 NONAME ; bool AgendaGeoValue::isNull(void) const
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/agendainterface/agendautil/eabi/agendainterfaceu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,212 @@
+EXPORTS
+	_ZN10AgendaUtil10cloneEntryERK11AgendaEntryNS0_4TypeE @ 1 NONAME
+	_ZN10AgendaUtil10entryAddedEm @ 2 NONAME
+	_ZN10AgendaUtil11deleteEntryEm @ 3 NONAME
+	_ZN10AgendaUtil11parentEntryER11AgendaEntry @ 4 NONAME
+	_ZN10AgendaUtil11qt_metacallEN11QMetaObject4CallEiPPv @ 5 NONAME
+	_ZN10AgendaUtil11qt_metacastEPKc @ 6 NONAME
+	_ZN10AgendaUtil11updateEntryERK11AgendaEntryb @ 7 NONAME
+	_ZN10AgendaUtil12entryDeletedEm @ 8 NONAME
+	_ZN10AgendaUtil12entryUpdatedEm @ 9 NONAME
+	_ZN10AgendaUtil12setCompletedER11AgendaEntrybR9QDateTime @ 10 NONAME
+	_ZN10AgendaUtil13deleteEntriesER9QDateTimeS1_NS_11FilterFlagsE @ 11 NONAME
+	_ZN10AgendaUtil14entriesChangedE5QListImE @ 12 NONAME
+	_ZN10AgendaUtil14entriesDeletedEi @ 13 NONAME
+	_ZN10AgendaUtil15createExceptionERK11AgendaEntry9QDateTime @ 14 NONAME
+	_ZN10AgendaUtil15fetchAllEntriesENS_11FilterFlagsE @ 15 NONAME
+	_ZN10AgendaUtil15importvCalendarERK7QStringR11AgendaEntry @ 16 NONAME
+	_ZN10AgendaUtil16staticMetaObjectE @ 17 NONAME DATA 16
+	_ZN10AgendaUtil17exportAsvCalendarERK7QStringl @ 18 NONAME
+	_ZN10AgendaUtil19deleteRepeatedEntryER11AgendaEntryNS_15RecurrenceRangeE @ 19 NONAME
+	_ZN10AgendaUtil19fetchEntriesInRangeE9QDateTimeS0_NS_11FilterFlagsE @ 20 NONAME
+	_ZN10AgendaUtil19getStaticMetaObjectEv @ 21 NONAME
+	_ZN10AgendaUtil19markDatesWithEventsE9QDateTimeS0_NS_11FilterFlagsER5QListI5QDateE @ 22 NONAME
+	_ZN10AgendaUtil19storeRepeatingEntryERK11AgendaEntryb @ 23 NONAME
+	_ZN10AgendaUtil20getNextInstanceTimesER11AgendaEntryR9QDateTimeS3_ @ 24 NONAME
+	_ZN10AgendaUtil22areNoEntriesInCalendarEv @ 25 NONAME
+	_ZN10AgendaUtil23createEntryIdListForDayE9QDateTimeNS_11FilterFlagsE @ 26 NONAME
+	_ZN10AgendaUtil24clearRepeatingPropertiesER11AgendaEntry @ 27 NONAME
+	_ZN10AgendaUtil24getPreviousInstanceTimesER11AgendaEntryR9QDateTimeS3_ @ 28 NONAME
+	_ZN10AgendaUtil24isWorkdaysRepeatingEntryERK16AgendaRepeatRule @ 29 NONAME
+	_ZN10AgendaUtil26entryViewCreationCompletedEi @ 30 NONAME
+	_ZN10AgendaUtil29instanceViewCreationCompletedEi @ 31 NONAME
+	_ZN10AgendaUtil7maxTimeEv @ 32 NONAME
+	_ZN10AgendaUtil7minTimeEv @ 33 NONAME
+	_ZN10AgendaUtil8addEntryERK11AgendaEntry @ 34 NONAME
+	_ZN10AgendaUtil8entryIdsENS_11FilterFlagsE @ 35 NONAME
+	_ZN10AgendaUtil9fetchByIdEm @ 36 NONAME
+	_ZN10AgendaUtilC1EP7QObject @ 37 NONAME
+	_ZN10AgendaUtilC2EP7QObject @ 38 NONAME
+	_ZN10AgendaUtilD0Ev @ 39 NONAME
+	_ZN10AgendaUtilD1Ev @ 40 NONAME
+	_ZN10AgendaUtilD2Ev @ 41 NONAME
+	_ZN11AgendaAlarm13setTimeOffsetEi @ 42 NONAME
+	_ZN11AgendaAlarm17setAlarmSoundNameERK7QString @ 43 NONAME
+	_ZN11AgendaAlarm6detachEv @ 44 NONAME
+	_ZN11AgendaAlarmC1ERKS_ @ 45 NONAME
+	_ZN11AgendaAlarmC1Ev @ 46 NONAME
+	_ZN11AgendaAlarmC2ERKS_ @ 47 NONAME
+	_ZN11AgendaAlarmC2Ev @ 48 NONAME
+	_ZN11AgendaAlarmD1Ev @ 49 NONAME
+	_ZN11AgendaAlarmD2Ev @ 50 NONAME
+	_ZN11AgendaAlarmaSERKS_ @ 51 NONAME
+	_ZN11AgendaEntry10categoriesEv @ 52 NONAME
+	_ZN11AgendaEntry10setDTStampERK9QDateTime @ 53 NONAME
+	_ZN11AgendaEntry10setSummaryERK7QString @ 54 NONAME
+	_ZN11AgendaEntry11addAttendeeERK14AgendaAttendee @ 55 NONAME
+	_ZN11AgendaEntry11addCategoryERK14AgendaCategory @ 56 NONAME
+	_ZN11AgendaEntry11isRepeatingEv @ 57 NONAME
+	_ZN11AgendaEntry11setGeoValueERK14AgendaGeoValue @ 58 NONAME
+	_ZN11AgendaEntry11setLocationERK7QString @ 59 NONAME
+	_ZN11AgendaEntry11setPriorityEi @ 60 NONAME
+	_ZN11AgendaEntry12isTimedEntryEv @ 61 NONAME
+	_ZN11AgendaEntry12recurrenceIdEv @ 62 NONAME
+	_ZN11AgendaEntry12setFavouriteEj @ 63 NONAME
+	_ZN11AgendaEntry13setRepeatRuleERK16AgendaRepeatRule @ 64 NONAME
+	_ZN11AgendaEntry14setDescriptionERK7QString @ 65 NONAME
+	_ZN11AgendaEntry15setRecurrenceIdER9QDateTime @ 66 NONAME
+	_ZN11AgendaEntry18setStartAndEndTimeERK9QDateTimeS2_ @ 67 NONAME
+	_ZN11AgendaEntry20setCompletedDateTimeERK9QDateTime @ 68 NONAME
+	_ZN11AgendaEntry23setLastModifiedDateTimeERK9QDateTime @ 69 NONAME
+	_ZN11AgendaEntry6detachEv @ 70 NONAME
+	_ZN11AgendaEntry7setTypeENS_4TypeE @ 71 NONAME
+	_ZN11AgendaEntry8setAlarmERK11AgendaAlarm @ 72 NONAME
+	_ZN11AgendaEntry9attendeesEv @ 73 NONAME
+	_ZN11AgendaEntry9setMethodENS_6MethodE @ 74 NONAME
+	_ZN11AgendaEntry9setRDatesERK5QListI5QDateE @ 75 NONAME
+	_ZN11AgendaEntry9setStatusENS_6StatusE @ 76 NONAME
+	_ZN11AgendaEntryC1ENS_4TypeE @ 77 NONAME
+	_ZN11AgendaEntryC1ERKS_ @ 78 NONAME
+	_ZN11AgendaEntryC1Ev @ 79 NONAME
+	_ZN11AgendaEntryC2ENS_4TypeE @ 80 NONAME
+	_ZN11AgendaEntryC2ERKS_ @ 81 NONAME
+	_ZN11AgendaEntryC2Ev @ 82 NONAME
+	_ZN11AgendaEntryD0Ev @ 83 NONAME
+	_ZN11AgendaEntryD1Ev @ 84 NONAME
+	_ZN11AgendaEntryD2Ev @ 85 NONAME
+	_ZN11AgendaEntryaSERKS_ @ 86 NONAME
+	_ZN14AgendaAttendee10setAddressERK7QString @ 87 NONAME
+	_ZN14AgendaAttendee13setCommonNameERK7QString @ 88 NONAME
+	_ZN14AgendaAttendee20setResponseRequestedEb @ 89 NONAME
+	_ZN14AgendaAttendee6detachEv @ 90 NONAME
+	_ZN14AgendaAttendee7setRoleENS_15ParticipantRoleE @ 91 NONAME
+	_ZN14AgendaAttendee9setStatusENS_10StatusTypeE @ 92 NONAME
+	_ZN14AgendaAttendeeC1ERK7QString @ 93 NONAME
+	_ZN14AgendaAttendeeC1ERKS_ @ 94 NONAME
+	_ZN14AgendaAttendeeC1Ev @ 95 NONAME
+	_ZN14AgendaAttendeeC2ERK7QString @ 96 NONAME
+	_ZN14AgendaAttendeeC2ERKS_ @ 97 NONAME
+	_ZN14AgendaAttendeeC2Ev @ 98 NONAME
+	_ZN14AgendaAttendeeD0Ev @ 99 NONAME
+	_ZN14AgendaAttendeeD1Ev @ 100 NONAME
+	_ZN14AgendaAttendeeD2Ev @ 101 NONAME
+	_ZN14AgendaAttendeeaSERKS_ @ 102 NONAME
+	_ZN14AgendaCategory11setCategoryENS_12CategoryTypeE @ 103 NONAME
+	_ZN14AgendaCategory23setExtendedCategoryNameERK7QString @ 104 NONAME
+	_ZN14AgendaCategory6detachEv @ 105 NONAME
+	_ZN14AgendaCategoryC1ENS_12CategoryTypeE @ 106 NONAME
+	_ZN14AgendaCategoryC1ERKS_ @ 107 NONAME
+	_ZN14AgendaCategoryC1Ev @ 108 NONAME
+	_ZN14AgendaCategoryC2ENS_12CategoryTypeE @ 109 NONAME
+	_ZN14AgendaCategoryC2ERKS_ @ 110 NONAME
+	_ZN14AgendaCategoryC2Ev @ 111 NONAME
+	_ZN14AgendaCategoryD0Ev @ 112 NONAME
+	_ZN14AgendaCategoryD1Ev @ 113 NONAME
+	_ZN14AgendaCategoryD2Ev @ 114 NONAME
+	_ZN14AgendaCategoryaSERKS_ @ 115 NONAME
+	_ZN14AgendaGeoValue10setLatLongEdd @ 116 NONAME
+	_ZN14AgendaGeoValue6detachEv @ 117 NONAME
+	_ZN14AgendaGeoValueC1ERKS_ @ 118 NONAME
+	_ZN14AgendaGeoValueC1Ev @ 119 NONAME
+	_ZN14AgendaGeoValueC2ERKS_ @ 120 NONAME
+	_ZN14AgendaGeoValueC2Ev @ 121 NONAME
+	_ZN14AgendaGeoValueD1Ev @ 122 NONAME
+	_ZN14AgendaGeoValueD2Ev @ 123 NONAME
+	_ZN14AgendaGeoValueaSERKS_ @ 124 NONAME
+	_ZN16AgendaRepeatRule10setByMonthERK5QListINS_5MonthEE @ 125 NONAME
+	_ZN16AgendaRepeatRule11setIntervalEi @ 126 NONAME
+	_ZN16AgendaRepeatRule12setWeekStartENS_3DayE @ 127 NONAME
+	_ZN16AgendaRepeatRule13setByMonthDayERK5QListIiE @ 128 NONAME
+	_ZN16AgendaRepeatRule18setRepeatRuleStartERK9QDateTime @ 129 NONAME
+	_ZN16AgendaRepeatRule6detachEv @ 130 NONAME
+	_ZN16AgendaRepeatRule7setTypeENS_8RuleTypeE @ 131 NONAME
+	_ZN16AgendaRepeatRule8setByDayERK5QListINS_3DayEE @ 132 NONAME
+	_ZN16AgendaRepeatRule8setUntilERK9QDateTime @ 133 NONAME
+	_ZN16AgendaRepeatRuleC1ENS_8RuleTypeE @ 134 NONAME
+	_ZN16AgendaRepeatRuleC1ERKS_ @ 135 NONAME
+	_ZN16AgendaRepeatRuleC1Ev @ 136 NONAME
+	_ZN16AgendaRepeatRuleC2ENS_8RuleTypeE @ 137 NONAME
+	_ZN16AgendaRepeatRuleC2ERKS_ @ 138 NONAME
+	_ZN16AgendaRepeatRuleC2Ev @ 139 NONAME
+	_ZN16AgendaRepeatRuleD1Ev @ 140 NONAME
+	_ZN16AgendaRepeatRuleD2Ev @ 141 NONAME
+	_ZN16AgendaRepeatRuleaSERKS_ @ 142 NONAME
+	_ZNK10AgendaUtil10metaObjectEv @ 143 NONAME
+	_ZNK10AgendaUtil5errorEv @ 144 NONAME
+	_ZNK11AgendaAlarm10timeOffsetEv @ 145 NONAME
+	_ZNK11AgendaAlarm14alarmSoundNameEv @ 146 NONAME
+	_ZNK11AgendaAlarm6isNullEv @ 147 NONAME
+	_ZNK11AgendaAlarmeqERKS_ @ 148 NONAME
+	_ZNK11AgendaAlarmneERKS_ @ 149 NONAME
+	_ZNK11AgendaEntry10categoriesEv @ 150 NONAME
+	_ZNK11AgendaEntry10repeatRuleEv @ 151 NONAME
+	_ZNK11AgendaEntry11descriptionEv @ 152 NONAME
+	_ZNK11AgendaEntry14durationInSecsEv @ 153 NONAME
+	_ZNK11AgendaEntry17completedDateTimeEv @ 154 NONAME
+	_ZNK11AgendaEntry20lastModifiedDateTimeEv @ 155 NONAME
+	_ZNK11AgendaEntry2idEv @ 156 NONAME
+	_ZNK11AgendaEntry4typeEv @ 157 NONAME
+	_ZNK11AgendaEntry5alarmEv @ 158 NONAME
+	_ZNK11AgendaEntry6isNullEv @ 159 NONAME
+	_ZNK11AgendaEntry6methodEv @ 160 NONAME
+	_ZNK11AgendaEntry6rDatesEv @ 161 NONAME
+	_ZNK11AgendaEntry6statusEv @ 162 NONAME
+	_ZNK11AgendaEntry7dtStampEv @ 163 NONAME
+	_ZNK11AgendaEntry7endTimeEv @ 164 NONAME
+	_ZNK11AgendaEntry7summaryEv @ 165 NONAME
+	_ZNK11AgendaEntry8geoValueEv @ 166 NONAME
+	_ZNK11AgendaEntry8locationEv @ 167 NONAME
+	_ZNK11AgendaEntry8priorityEv @ 168 NONAME
+	_ZNK11AgendaEntry9attendeesEv @ 169 NONAME
+	_ZNK11AgendaEntry9favouriteEv @ 170 NONAME
+	_ZNK11AgendaEntry9startTimeEv @ 171 NONAME
+	_ZNK11AgendaEntryeqERKS_ @ 172 NONAME
+	_ZNK11AgendaEntryneERKS_ @ 173 NONAME
+	_ZNK14AgendaAttendee10commonNameEv @ 174 NONAME
+	_ZNK14AgendaAttendee17responseRequestedEv @ 175 NONAME
+	_ZNK14AgendaAttendee4roleEv @ 176 NONAME
+	_ZNK14AgendaAttendee6isNullEv @ 177 NONAME
+	_ZNK14AgendaAttendee6statusEv @ 178 NONAME
+	_ZNK14AgendaAttendee7addressEv @ 179 NONAME
+	_ZNK14AgendaAttendeeeqERKS_ @ 180 NONAME
+	_ZNK14AgendaAttendeeneERKS_ @ 181 NONAME
+	_ZNK14AgendaCategory20extendedCategoryNameEv @ 182 NONAME
+	_ZNK14AgendaCategory6isNullEv @ 183 NONAME
+	_ZNK14AgendaCategory8categoryEv @ 184 NONAME
+	_ZNK14AgendaCategoryeqERKS_ @ 185 NONAME
+	_ZNK14AgendaCategoryneERKS_ @ 186 NONAME
+	_ZNK14AgendaGeoValue10getLatLongERdS0_ @ 187 NONAME
+	_ZNK14AgendaGeoValue6isNullEv @ 188 NONAME
+	_ZNK14AgendaGeoValueeqERKS_ @ 189 NONAME
+	_ZNK14AgendaGeoValueneERKS_ @ 190 NONAME
+	_ZNK16AgendaRepeatRule10byMonthDayEv @ 191 NONAME
+	_ZNK16AgendaRepeatRule15repeatRuleStartEv @ 192 NONAME
+	_ZNK16AgendaRepeatRule4typeEv @ 193 NONAME
+	_ZNK16AgendaRepeatRule5byDayEv @ 194 NONAME
+	_ZNK16AgendaRepeatRule5untilEv @ 195 NONAME
+	_ZNK16AgendaRepeatRule6isNullEv @ 196 NONAME
+	_ZNK16AgendaRepeatRule7byMonthEv @ 197 NONAME
+	_ZNK16AgendaRepeatRule8intervalEv @ 198 NONAME
+	_ZNK16AgendaRepeatRule9weekStartEv @ 199 NONAME
+	_ZNK16AgendaRepeatRuleeqERKS_ @ 200 NONAME
+	_ZNK16AgendaRepeatRuleneERKS_ @ 201 NONAME
+	_ZTI10AgendaUtil @ 202 NONAME
+	_ZTI11AgendaEntry @ 203 NONAME
+	_ZTI14AgendaAttendee @ 204 NONAME
+	_ZTI14AgendaCategory @ 205 NONAME
+	_ZTV10AgendaUtil @ 206 NONAME
+	_ZTV11AgendaEntry @ 207 NONAME
+	_ZTV14AgendaAttendee @ 208 NONAME
+	_ZTV14AgendaCategory @ 209 NONAME
+	_ZNK11AgendaEntry13clearGeoValueEv @ 210 NONAME
+
--- a/agendainterface/agendautil/inc/agendaentry.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/agendainterface/agendautil/inc/agendaentry.h	Thu Jul 22 16:32:51 2010 +0100
@@ -380,6 +380,7 @@
 	
 	void setGeoValue(const AgendaGeoValue& geoValue);
 	AgendaGeoValue geoValue() const;
+	void clearGeoValue() const;
 	
 	int durationInSecs() const;
 	AgendaEntry& operator=(const AgendaEntry& other);
--- a/agendainterface/agendautil/inc/agendautil.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/agendainterface/agendautil/inc/agendautil.h	Thu Jul 22 16:32:51 2010 +0100
@@ -79,7 +79,7 @@
 			AgendaEntry& entry, AgendaUtil::RecurrenceRange range);
 	bool updateEntry(const AgendaEntry& entry, bool isChild = false);
 	bool storeRepeatingEntry(const AgendaEntry& entry, bool copyToChildren);
-	bool createException(const AgendaEntry& entry);
+	bool createException(const AgendaEntry& entry,QDateTime instanceOriginalDateTime);
 	QList<ulong> entryIds(
 			AgendaUtil::FilterFlags filter = AgendaUtil::IncludeAll);
 	QList<AgendaEntry> fetchAllEntries(
--- a/agendainterface/agendautil/inc/agendautil_p.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/agendainterface/agendautil/inc/agendautil_p.h	Thu Jul 22 16:32:51 2010 +0100
@@ -65,7 +65,7 @@
 	ulong cloneEntry(const AgendaEntry& entry, AgendaEntry::Type type);
 	bool updateEntry(const AgendaEntry& entry, bool isChild = false);
 	bool storeRepeatingEntry(const AgendaEntry& entry, bool copyToChildren);
-	bool createException(const AgendaEntry& entry);
+	bool createException(const AgendaEntry& entry, QDateTime instanceOriginalDateTime);
 	
 	bool deleteEntry(ulong id);
 	void deleteRepeatedEntry(
--- a/agendainterface/agendautil/src/agendaentry.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/agendainterface/agendautil/src/agendaentry.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -1984,7 +1984,17 @@
 {
 	return d->m_geoValue;
 }
-	
+
+/*!
+     Clears the geo value if it has any
+ */
+void AgendaEntry::clearGeoValue() const
+{
+    if (d) {
+        d->m_geoValue = AgendaGeoValue();
+    }
+}
+
 /*!
 	Returns
 	duration of the meeting in seconds
--- a/agendainterface/agendautil/src/agendautil.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/agendainterface/agendautil/src/agendautil.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -194,9 +194,9 @@
 	AgendaUtil::Error that indicates which error occurred
 	\sa addEntry(), deleteEntry()
  */
-bool AgendaUtil::createException(const AgendaEntry& entry)
+bool AgendaUtil::createException(const AgendaEntry& entry,QDateTime instanceOriginalDateTime)
 {
-	return d->createException(entry);
+	return d->createException(entry, instanceOriginalDateTime);
 }
 /*!
 	Fetches the entry which of id is equal to given \a id.
--- a/agendainterface/agendautil/src/agendautil_p.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/agendainterface/agendautil/src/agendautil_p.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -20,6 +20,7 @@
 #include <calsession.h>
 #include <calinstance.h>
 #include <CalenImporter>
+#include <CalenInterimUtils2>
 #include <calentry.h>
 #include <calrrule.h>
 #include <e32math.h>
@@ -34,6 +35,7 @@
 #include "agendautil_p.h"
 #include "agendaentry.h"
 #include "agendaentry_p.h"
+#include "CleanupResetAndDestroy.h"
 
 // Constants
 //recognition string for ical
@@ -41,7 +43,6 @@
 //recognition string for vcal
 _LIT8(KVersionVCal,		"VERSION:1.0");
 const TInt KReadDataAmount = 256;
-const TInt KGuidLength = 30;
 const TInt KNoOfDaysInWeek = 7;
 static const int startDateArray[2] = { 1900, 1};
 static const int endDateArray[2] = { 2100, 1};
@@ -134,6 +135,8 @@
 void AgendaUtilPrivate::Completed(TInt aError)
 {
 	iError = aError;
+	static bool isInstanceViewDeleted = false;
+	static bool isEntryViewDeleted = false;
 
 	if (mIsDeleting) {
 		// If deletion was in progress, then it is completed now
@@ -144,11 +147,13 @@
 
 	if (KErrNone != iError) {
 		// Something has gone wrong, return
-		if (iCalEntryView) {
+		if (iCalEntryView && !isEntryViewDeleted) {
+		isEntryViewDeleted = true;
 		delete iCalEntryView;
 		iCalEntryView = NULL;
 		}
-		if (iCalInstanceView) {
+		if (iCalInstanceView && !isInstanceViewDeleted) {
+		isInstanceViewDeleted = true;
 		delete iCalInstanceView;
 		iCalInstanceView = NULL;
 		}
@@ -201,20 +206,16 @@
 		return localUid;
 	}
 
+	// Get the global uid.
+	CCalenInterimUtils2* calenInterimUtils2 = CCalenInterimUtils2::NewL();
+	HBufC8* globalUid = calenInterimUtils2->GlobalUidL();
 	if (AgendaEntry::TypeNote == entry.type()) {
 		TRAP(
 				iError,
 
 				RPointerArray<CCalEntry> entryArray;
-				CleanupClosePushL(entryArray);
-
-				// Get the global uid.
-				TTime homeTime;
-				homeTime.HomeTime();
-				TInt64 seed = homeTime.Int64();
-				TInt randumNumber = Math::Rand(seed);
-				HBufC8* globalUid = HBufC8::NewLC(KGuidLength);
-				globalUid->Des().Num(randumNumber);
+                CleanupResetAndDestroyPushL(entryArray);
+				CleanupStack::PushL(globalUid);
 
 				// Construct a CCalEntry object and start filling the details.
 				CCalEntry* newEntry = 0;
@@ -225,7 +226,6 @@
 						0);
 
 				CleanupStack::Pop(globalUid);
-				CleanupStack::PushL(newEntry);
 
 				// Add description.
 				TPtrC description(reinterpret_cast<const TUint16*>(
@@ -265,7 +265,6 @@
 				localUid = newEntry->LocalUidL();
 
 				// Cleanup.
-				CleanupStack::PopAndDestroy(newEntry);
 				CleanupStack::PopAndDestroy(&entryArray);
 		)
 	} else {
@@ -273,16 +272,8 @@
 				iError,
 
 				RPointerArray<CCalEntry> entryArray;
-				CleanupClosePushL(entryArray);
-
-				// Get the global uid.
-				TTime homeTime;
-				homeTime.HomeTime();
-				TInt64 seed = homeTime.Int64();
-				TInt randumNumber = Math::Rand(seed);
-				HBufC8* globalUid = HBufC8::NewLC(KGuidLength);
-				globalUid->Des().Num(randumNumber);
-
+                CleanupResetAndDestroyPushL(entryArray);
+                CleanupStack::PushL(globalUid);
 				// Construct a CCalEntry object and start filling the details.
 				CCalEntry* newEntry = 0;
 				newEntry = CCalEntry::NewL(
@@ -292,7 +283,6 @@
 						0);
 
 				CleanupStack::Pop(globalUid);
-				CleanupStack::PushL(newEntry);
 
 				// Add the summary.
 				if (!entry.summary().isNull()) {
@@ -391,10 +381,12 @@
 				localUid = newEntry->LocalUidL();
 
 				// Cleanup.
-				CleanupStack::PopAndDestroy(newEntry);
 				CleanupStack::PopAndDestroy(&entryArray);
 		)
 	}
+	
+	delete calenInterimUtils2;
+	
 	// Emit signal upon successful creation of entry.
 	if (0 < localUid && 1 == success) {
 		emit q->entryAdded(localUid);
@@ -445,9 +437,7 @@
 	// Now save the GUID of the saved entry.
 	TRAP(
 			iError,
-
-			globalUid = HBufC8::NewL(KGuidLength);
-			*globalUid = originalEntry->UidL();
+			globalUid = originalEntry->UidL().AllocL();
 	)
 
 	delete originalEntry;
@@ -467,7 +457,6 @@
 						globalUid,
 						static_cast<CCalEntry::TMethod>(entry.method()),
 						0);
-				CleanupStack::PushL(newEntry);
 
 				// Add description.
 				TPtrC description(reinterpret_cast<const TUint16*>(
@@ -483,7 +472,6 @@
 				localUid = newEntry->LocalUidL();
 
 				// Cleanup.
-				CleanupStack::PopAndDestroy(newEntry);
 				CleanupStack::PopAndDestroy(&entryArray);
 		)
 	} else {
@@ -500,7 +488,6 @@
 						globalUid,
 						static_cast<CCalEntry::TMethod>(entry.method()),
 						0);
-				CleanupStack::PushL(newEntry);
 
 				// Add the summary.
 				if (!entry.summary().isNull()) {
@@ -599,7 +586,6 @@
 				localUid = newEntry->LocalUidL();
 
 				// Cleanup.
-				CleanupStack::PopAndDestroy(newEntry);
 				CleanupStack::PopAndDestroy(&entryArray);
 		)
 	}
@@ -654,7 +640,6 @@
 		AgendaEntry& entry,
 		AgendaUtil::RecurrenceRange range)
 {
-	qDebug("AgendaUtilPrivate::deleteRepeatedEntry");
 
 	// First prepare the session with agenda server.
 	if (!mInstanceViewCreated) {
@@ -684,18 +669,12 @@
 				// the exceptional entries share the global uid with the parent
 				// entry.
 				RPointerArray<CCalEntry> entries;
-				CleanupClosePushL(entries);
+				CleanupResetAndDestroyPushL(entries);
 				iCalEntryView->FetchL(calEntry->UidL(), entries);
 				if (entries.Count()) {
 				    iCalEntryView->DeleteL(*entries[0]);
 				}
 
-				// Cleanup.
-				int count = entries.Count();
-				for (int i = count - 1; i >= 0; --i) {
-					CCalEntry *entry = entries[i];
-					delete entry;
-				}
 				CleanupStack::PopAndDestroy(&entries);
 				CleanupStack::PopAndDestroy();
 			}
@@ -733,7 +712,6 @@
 				// Get the entry corresponding to the id.
 				AgendaEntry storedEntry = fetchById(entry.id());
 				CCalEntry* calEntry = iCalEntryView->FetchL(entry.id());
-				CleanupStack::PushL(calEntry);
 
 				// Update the description.
 				if (storedEntry.description() != entry.description()
@@ -787,12 +765,12 @@
 
 				// Update the entry using the CCalEntryView.
 				RPointerArray<CCalEntry> entryArray;
-				CleanupClosePushL(entryArray);
+				CleanupResetAndDestroyPushL(entryArray);
 				entryArray.AppendL(calEntry);
 				iCalEntryView->UpdateL(entryArray, success);
 
 				// Cleanup.
-				CleanupStack::PopAndDestroy(2, calEntry);
+				CleanupStack::PopAndDestroy( &entryArray );
 		)
 	} else {
 		TRAP(
@@ -801,22 +779,18 @@
 				// Get the entry corresponding to the id.
 				AgendaEntry storedEntry = fetchById(entry.id());
 				CCalEntry* calEntry = iCalEntryView->FetchL(entry.id());
-				CleanupStack::PushL(calEntry);
 
 				// Update the attendees.
 				if (!entry.isNull()
 						&& (entry.d->m_attendees != storedEntry.attendees())) {
 
-					RPointerArray<CCalAttendee> attendeesArray =
+					RPointerArray<CCalAttendee>& attendeesArray =
 							calEntry->AttendeesL();
-					CleanupClosePushL(attendeesArray);
 					int iterator = 0;
 					while (attendeesArray.Count() > iterator) {
 						calEntry->DeleteAttendeeL(iterator);
 						iterator++;
 					}
-					// Cleanup.
-					CleanupStack::PopAndDestroy(&attendeesArray);
 
 					addAttendeesToEntry(entry.d->m_attendees, *calEntry);
 				}
@@ -826,14 +800,11 @@
 
 					RPointerArray<CCalCategory> categories =
 							calEntry->CategoryListL();
-					CleanupClosePushL(categories);
 					int iterator = 0;
 					while (categories.Count() > iterator) {
 						calEntry->DeleteCategoryL(iterator);
 						iterator++;
 					}
-					// Cleanup.
-					CleanupStack::PopAndDestroy(&categories);
 
 					addCategoriesToEntry(entry.d->m_categories, *calEntry);
 				}
@@ -942,7 +913,7 @@
 				
 				// Save the geo value if any
 				AgendaGeoValue entryGeoValue = entry.geoValue();
-				if (!entryGeoValue.isNull()) {
+				if (!entryGeoValue.isNull() && (entryGeoValue != storedEntry.geoValue())) {
 					CCalGeoValue* geoValue = CCalGeoValue::NewL();
 					double latitude;
 					double longitude;
@@ -954,11 +925,14 @@
 					// set it to CCalentry
 					calEntry->SetGeoValueL(*geoValue);
 					delete geoValue;
+				} else if (entryGeoValue.isNull()) {
+                    // Clear the geo values if any
+                    calEntry->ClearGeoValueL();
 				}
 								
 				// Update the entry using the calen entry view.
 				RPointerArray<CCalEntry> entryArray;
-				CleanupClosePushL(entryArray);
+				CleanupResetAndDestroyPushL(entryArray);
 				entryArray.AppendL(calEntry);
 				if (!isChild) {
 					iCalEntryView->UpdateL(entryArray, success);
@@ -966,7 +940,7 @@
 					iCalEntryView->StoreL(entryArray, success);
 				}
 				// Cleanup.
-				CleanupStack::PopAndDestroy(2, calEntry);
+				CleanupStack::PopAndDestroy( &entryArray );
 		)
 	}
 
@@ -1002,9 +976,10 @@
 	if (instance) {
 		// Get all the entries with same global Uid.
 		RPointerArray<CCalEntry> entries;
-		CleanupClosePushL(entries);
+		CleanupResetAndDestroyPushL(entries);
 		iCalEntryView->FetchL(instance->UidL(), entries);
 		calEntry = entries[0];
+		entries.Remove(0);
 		CleanupStack::PopAndDestroy(&entries);
 	} else {
 		CleanupStack::PopAndDestroy(instance);
@@ -1040,7 +1015,7 @@
 	// Entry is not a child, but does it have any children?
 	// Fetch array of entries associated with this UID.
 	RPointerArray<CCalEntry> oldEntries;
-	CleanupClosePushL(oldEntries);
+	CleanupResetAndDestroyPushL(oldEntries);
 	iCalEntryView->FetchL(calEntry->UidL(), oldEntries);
 	bool hasChildren = oldEntries.Count() > 0;
 	
@@ -1070,6 +1045,9 @@
 		// set it to CCalentry
 		calEntry->SetGeoValueL(*geoValue);
 		delete geoValue;
+	} else {
+        // Clear the geo values
+        calEntry->ClearGeoValueL();
 	}
 	
 	// set the description
@@ -1147,9 +1125,9 @@
 	return success;    
 }
 
-bool AgendaUtilPrivate::createException(const AgendaEntry& entry)
-{
-
+bool AgendaUtilPrivate::createException(const AgendaEntry& entry, 
+										QDateTime instanceOriginalDateTime)
+{ 
 	// First prepare the session with agenda server.
 	if (!mInstanceViewCreated) {
 		// Something went wrong.
@@ -1174,18 +1152,12 @@
 				HBufC8* guid = calEntry->UidL().AllocLC();
 				// create new (child) entry
 				// Use original instance time for recurrenceID as this entry hasn't got one.
-				TCalTime originalCalTime = calEntry->StartTimeL();
-				TDateTime origDateTime = originalCalTime.TimeLocalL().DateTime();
-				// set the instance date to this
-				QDate date = entry.startTime().date();
-				QTime time =entry.startTime().time();
-				origDateTime.Set(date.year(),
-								 static_cast<TMonth> (date.month() - 1),
-								 date.day() - 1,
-								 time.hour(),
-								 time.minute(),time.second(), 0);
-				TTime originalTime(origDateTime);
-				originalCalTime.SetTimeLocalL(originalTime);
+				TCalTime originalCalTime;
+				TDateTime originalDateTime(instanceOriginalDateTime.date().year(),
+							TMonth(instanceOriginalDateTime.date().month() - 1),
+							instanceOriginalDateTime.date().day() -1, 0, 0, 0, 0);
+				TTime originalDateTimeTTime(originalDateTime);
+				originalCalTime.SetTimeLocalL(originalDateTimeTTime);
 				// create the new child now
 				CCalEntry* newEntry = CCalEntry::NewL( calEntry->EntryTypeL(), 
 													   guid,
@@ -1196,7 +1168,6 @@
 				
 				CleanupStack::Pop(guid);
 				CleanupStack::PopAndDestroy(calEntry);
-				CleanupStack::PushL(newEntry);
 
 				// Update the description.
 				if (!entry.description().isNull()) {
@@ -1233,13 +1204,13 @@
 
 				// Update the entry using the CCalEntryView.
 				RPointerArray<CCalEntry> entryArray;
-				CleanupClosePushL(entryArray);
+				CleanupResetAndDestroyPushL(entryArray);
 				entryArray.AppendL(newEntry);
 				iCalEntryView->StoreL(entryArray, success);
 
 				localUid = newEntry->LocalUidL();
 				// Cleanup.
-				CleanupStack::PopAndDestroy(2, newEntry);
+				CleanupStack::PopAndDestroy(&entryArray);
 		)
 	} else {
 		TRAP(
@@ -1251,20 +1222,12 @@
 				HBufC8* guid = calEntry->UidL().AllocLC();
 				// create new (child) entry
 				// Use original instance time for recurrenceID as this entry hasn't got one.
-				TCalTime originalCalTime = calEntry->StartTimeL();
-				TDateTime origDateTime = originalCalTime.TimeLocalL().DateTime();
-				// set only the instance date but not the time to this
-				QDate date = entry.startTime().date();
-				QTime time =entry.startTime().time();
-				origDateTime.Set(date.year(),
-				                 static_cast<TMonth> (date.month() - 1),
-								 date.day() - 1,
-                                 origDateTime.Hour(),
-                                 origDateTime.Minute(),
-                                 origDateTime.Second(), 
-                                 origDateTime.MicroSecond());
-				TTime originalTime(origDateTime);
-				originalCalTime.SetTimeLocalL(originalTime);
+				TCalTime originalCalTime;
+				TDateTime originalDateTime(instanceOriginalDateTime.date().year(),
+							TMonth(instanceOriginalDateTime.date().month() - 1),
+							instanceOriginalDateTime.date().day() -1, 0, 0, 0, 0);
+				TTime originalDateTimeTTime(originalDateTime);
+				originalCalTime.SetTimeLocalL(originalDateTimeTTime);
 				// create the new child now
 				CCalEntry* newEntry = CCalEntry::NewL( calEntry->EntryTypeL(), 
 													   guid,
@@ -1275,7 +1238,6 @@
 				
 				CleanupStack::Pop(guid);
 				CleanupStack::PopAndDestroy(calEntry);
-				CleanupStack::PushL(newEntry);
 				// Store the attendees.
 				if (!entry.isNull()) {
 					addAttendeesToEntry(entry.d->m_attendees, *newEntry);
@@ -1383,14 +1345,13 @@
 				newEntry->ClearRepeatingPropertiesL();
 				// Update the entry using the calen entry view.
 				RPointerArray<CCalEntry> entryArray;
-				CleanupClosePushL(entryArray);
+				CleanupResetAndDestroyPushL(entryArray);
 				entryArray.AppendL(newEntry);
 				iCalEntryView->StoreL(entryArray, success);
 				
 				localUid = newEntry->LocalUidL();
 				// Cleanup.
 				CleanupStack::PopAndDestroy(&entryArray);
-				CleanupStack::PopAndDestroy(newEntry);
 		)
 	}
 
@@ -1457,7 +1418,7 @@
 			iError,
 
 			RPointerArray<CCalInstance> instanceList;
-			CleanupClosePushL(instanceList);
+            CleanupResetAndDestroyPushL(instanceList);
 			CalCommon::TCalViewFilter filters = filter;
 			TCalTime startDateForInstanceSearch;
 			TCalTime endDateForInstanceSearch;
@@ -1484,14 +1445,8 @@
 				listOfIds.append(instanceList[iter]->Entry().LocalUidL());
 			}
 
-			int count = instanceList.Count();
-			for (int iter = count - 1; iter >= 0; --iter) {
-				CCalInstance *instance = instanceList[iter];
-				delete instance;
-			}
-
 			// Cleanup.
-			CleanupStack::PopAndDestroy();
+			CleanupStack::PopAndDestroy(&instanceList);
 	)
 
 	return listOfIds;
@@ -1518,7 +1473,7 @@
 			iError,
 
 			RPointerArray<CCalInstance> instanceList;
-			CleanupClosePushL(instanceList);
+            CleanupResetAndDestroyPushL(instanceList);
 			CalCommon::TCalViewFilter filters = filter;
 			TCalTime startDateForInstanceSearch;
 			TCalTime endDateForInstanceSearch;
@@ -1549,14 +1504,8 @@
 								instanceList[iter]));
 			}
 
-			int count = instanceList.Count();
-			for (int iter = count - 1; iter >= 0; --iter) {
-				CCalInstance *instance = instanceList[iter];
-				delete instance;
-			}
-
 			// Cleanup.
-			CleanupStack::PopAndDestroy();
+			CleanupStack::PopAndDestroy(&instanceList);
 	)
 
 	return entryList;
@@ -1576,7 +1525,7 @@
     TRAP(iError,
 
         RPointerArray<CCalInstance> instanceList;
-        CleanupClosePushL(instanceList);
+        CleanupResetAndDestroyPushL(instanceList);
         CalCommon::TCalViewFilter filters = filter;
         TCalTime startDateForInstanceSearch;
         TCalTime endDateForInstanceSearch;
@@ -1609,12 +1558,7 @@
         {
             entryList.append(createAgendaEntryFromCalEntry(instanceList[i]->Entry(), instanceList[i]));
         }
-        int count = instanceList.Count();
-        for (int i = count - 1; i >= 0; --i) {
-            CCalInstance *instance = instanceList[i];
-            delete instance;
-        }
-        CleanupStack::PopAndDestroy();
+        CleanupStack::PopAndDestroy(&instanceList);
     )
 
     return entryList;
@@ -1630,7 +1574,7 @@
 	    return;
 	}
 	
-	CleanupClosePushL(instanceList);
+	CleanupResetAndDestroyPushL(instanceList);
 	CalCommon::TCalViewFilter filters = filter;
 	TCalTime startDateForInstanceSearch;
 	TCalTime endDateForInstanceSearch;
@@ -1658,7 +1602,7 @@
 			endDateForInstanceSearch);
 
 	iCalInstanceView->FindInstanceL(instanceList, filters, searchTimeRange);
-	
+
 	// Parse thru the list and mark the dates which have events
 	for (int i = 0; i < instanceList.Count(); i++) {
 		CCalEntry::TType type = instanceList[i]->Entry().EntryTypeL();
@@ -1666,45 +1610,99 @@
 		TCalTime startCalTime = instanceList[i]->StartTimeL();
 		TCalTime endCalTime = instanceList[i]->EndTimeL();
 		TDateTime startDateTime = startCalTime.TimeLocalL().DateTime();
+		TDateTime endDateTime = endCalTime.TimeLocalL().DateTime();
 		QDate startDate(startDateTime.Year(), startDateTime.Month()+1,
 						startDateTime.Day() + 1);
+        QDate endDate(endDateTime.Year(), endDateTime.Month()+1,
+                        endDateTime.Day() + 1);
 		if (type == CCalEntry::EEvent || type == CCalEntry::EAppt ||
 				type == CCalEntry::EReminder) {
 			if(endsAtStartOfDay(instanceList[i], endCalTime.TimeLocalL())) {
-				// instance ends at start of endtime day, month view doesnt 
-				// want to show event on this day
 				TDateTime endDateTime = endCalTime.TimeLocalL().DateTime();
+				// prevent problems with items ending tomorrow at 00:00
 				endDateTime.SetMinute(endDateTime.Minute() - 1);
 				TTime time(endDateTime);
+				// If it is ending before the start of the grid 
 				if (time <= startDateForInstanceSearch.TimeLocalL()) {
 					continue;
 				}
 			}
-			
-			// Mark the required dates frm start date to end date
-			TTimeIntervalDays days = endCalTime.TimeLocalL().DaysFrom(startCalTime.TimeLocalL());
-			for (int j = -1; j < days.Int(); j++) {
-				QDate date = startDate.addDays(j+1);
-				if (date <= rangeEnd.date()) {
-					dates.append(date);
-				} else {
-					break;
-				}
-			}
-		} else if (type == CCalEntry::EAnniv) {
-			if (startDate <= rangeEnd.date()) {
-				dates.append(startDate);
-			}
-		} else if (type == CCalEntry::ETodo) {
-			// if start time is less that today, then mark it for today
-			if (startDate < QDate::currentDate()) {
-				dates.append(QDate::currentDate());
-			} else {
-				dates.append(startDate);
-			}
-		}
-	}
-	CleanupStack::PopAndDestroy();
+        // Mark the required dates frm start date to end date
+        TTimeIntervalDays days ;
+        int numOfDays = 0;
+        //check if the start date of the entry is before the start day of the grid
+        if(startDate < rangeStart.date()){
+            if(endDate<=rangeEnd.date()){
+                //if the end date of entry is lying in the grid ,
+                //then mark the entry from start day of the grid to the end date of the entry
+                days = endCalTime.TimeLocalL().DaysFrom(startDateForInstanceSearch.TimeLocalL());
+                numOfDays = days.Int();
+            }
+            else{
+                //if end date of the entry is greater then the last date of grid, 
+                //then mark all the date of the grid with the entry 
+                days = endDateForInstanceSearch.TimeLocalL().DaysFrom(startDateForInstanceSearch.TimeLocalL()) ;
+                numOfDays = days.Int();
+            }
+            // Check if the event is all-day
+            if (instanceList[i]->Entry().EntryTypeL() == CCalEntry::EEvent) {
+                // no need to consider the date on which it ends
+                // reduce days count by 1
+                numOfDays--;
+                }
+            //start the entries from the first day of the grid
+            for (int j = 0; j <= numOfDays; j++) {
+                QDate date = rangeStart.date().addDays(j);
+                if (date <= rangeEnd.date()) {
+                    dates.append(date);
+                } else {
+                    break;
+                }
+            }
+        }
+        //if the start date of the entry is lying inside the grid
+        else{
+            if(endDate<=rangeEnd.date()){
+                //if the end date of entry is lying in the grid ,
+                //then mark the entry from start date of the entry to the end date of the entry
+                days = endCalTime.TimeLocalL().DaysFrom(startCalTime.TimeLocalL()) ;
+                numOfDays = days.Int();
+            }
+            else{
+                //if end date of the entry is greater then the last date of grid, 
+                //then mark all the date from start date of the entry to the end date of the grid 
+                days = endDateForInstanceSearch.TimeLocalL().DaysFrom(startCalTime.TimeLocalL()) ;
+                numOfDays = days.Int();
+            }
+            // Check if the event is all-day
+            if (instanceList[i]->Entry().EntryTypeL() == CCalEntry::EEvent) {
+                // no need to consider the date on which it ends
+                // reduce days count by 1
+                numOfDays--;
+                }
+            for (int j = 0; j <= numOfDays; j++) {
+                QDate date = startDate.addDays(j);
+                if (date <= rangeEnd.date()) {
+                    dates.append(date);
+                } else {
+                    break;
+                }
+            }   
+        }
+    } else if (type == CCalEntry::EAnniv) {
+        if (startDate <= rangeEnd.date()) {
+            dates.append(startDate);
+        }
+    } else if (type == CCalEntry::ETodo) {
+            // if start time is less that today, then mark it for today
+            if (startDate < QDate::currentDate()) {
+                dates.append(QDate::currentDate());
+            } else {
+                dates.append(startDate);
+            }
+        }
+    }
+    CleanupStack::PopAndDestroy(&instanceList);
 }
 
 QList<AgendaEntry> AgendaUtilPrivate::createEntryIdListForDay( QDateTime day,
@@ -1720,7 +1718,7 @@
     TRAP(iError,
         getDayRange(day, day, dayRange);
         RPointerArray<CCalInstance> instanceList;
-        CleanupClosePushL(instanceList);
+        CleanupResetAndDestroyPushL(instanceList);
         CalCommon::TCalViewFilter filters = filter;
         // Check if the filter has todos also to be included
         if(filter & CalCommon::EIncludeIncompletedTodos)
@@ -1763,6 +1761,26 @@
             {
             iCalInstanceView->FindInstanceL(instanceList, filters, dayRange);
             }
+        
+        // In this list, check if any all day events are there
+        // As all day events end at 12.00AM of next day, we should not show it again on next day
+        TCalTime calTime;
+        TDateTime dateTime(
+                day.date().year(),
+                static_cast<TMonth>(day.date().month() - 1),
+                day.date().day() - 1, day.time().hour(),
+                day.time().minute(), 0, 0);
+        TTime time(dateTime);
+        for (int i(0); i < instanceList.Count(); i++) {
+            if ((endsAtStartOfDay(instanceList[i], time)) &&
+                    instanceList[i]->Entry().EntryTypeL() == CCalEntry::EEvent) {
+                // Previous day all-day event has been found, we are not supposed to
+                // show it on current day, hence remove it from the instance list
+                instanceList.Remove(i);
+                i--;
+            }
+        }
+        
         // Sort the list
         sortInstanceList(instanceList);
         for(TInt i = 0; i<instanceList.Count(); i++)
@@ -1770,12 +1788,7 @@
                 entryList.append(createAgendaEntryFromCalEntry(
                                     instanceList[i]->Entry(), instanceList[i]));
             }
-        int count = instanceList.Count();
-        for (int i = count - 1; i >= 0; --i) {
-            CCalInstance *instance = instanceList[i];
-            delete instance;
-        }
-        CleanupStack::PopAndDestroy();
+        CleanupStack::PopAndDestroy( &instanceList );
         )
 
     return entryList;
@@ -1907,18 +1920,16 @@
 
 			// Fetch the calentry
 			CCalEntry* calEntry = iCalEntryView->FetchL(entry.id());
-			CleanupStack::PushL(calEntry);
 			calEntry->SetCompletedL(complete, calTime);
 
 			// Update the entry in the Database
 			RPointerArray<CCalEntry> array;
-			CleanupClosePushL(array);
+			CleanupResetAndDestroyPushL(array);
 			array.AppendL(calEntry);
 			iCalEntryView->UpdateL(array, success);
 
 			// Cleanup.
-			CleanupStack::PopAndDestroy(&array);
-			CleanupStack::PopAndDestroy(calEntry);
+			CleanupStack::PopAndDestroy( &array );
 	)
 
 	if (0 < success) {
@@ -1990,7 +2001,7 @@
 			if (calEntry) {
 				// Get all the entries with same global Uid.
 				RPointerArray<CCalEntry> entries;
-				CleanupClosePushL(entries);
+				CleanupResetAndDestroyPushL(entries);
 				iCalEntryView->FetchL(calEntry->UidL(), entries);
 				parentEntry = createAgendaEntryFromCalEntry(*entries[0]);
 				CleanupStack::PopAndDestroy(&entries);
@@ -2018,7 +2029,7 @@
 	if (calEntry) {
 		// Get all the entries with same global Uid.
 		RPointerArray<CCalEntry> entries;
-		CleanupClosePushL(entries);
+		CleanupResetAndDestroyPushL(entries);
 		iCalEntryView->FetchL(calEntry->UidL(), entries);
 		entries[0]->ClearRepeatingPropertiesL();
 		CleanupStack::PopAndDestroy(&entries);
@@ -2037,7 +2048,7 @@
 												QDateTime& endTime)
 {
 	RPointerArray<CCalEntry> entries;
-	CleanupClosePushL(entries);
+	CleanupResetAndDestroyPushL(entries);
 	TCalTime previousStartTime;
 	TCalTime previousEndTime;
 	TTime zero(TInt64(0));
@@ -2154,6 +2165,16 @@
 			// Is currentInstanceDate before parent dt start?
 			if (currentInstanceDate.TimeLocalL() < 
 					entries[0]->StartTimeL().TimeLocalL()) {
+				TBool exceptionEntryBeforeParentStartPresent = EFalse;
+				for (TInt i=0; i<exdates.Count(); ++i) {
+					if( exdates[i].TimeLocalL() < currentInstanceDate.TimeLocalL() ) {
+						exceptionEntryBeforeParentStartPresent = ETrue;
+					}
+				}
+				if (!exceptionEntryBeforeParentStartPresent) {
+					currentInstanceDate.SetTimeLocalL(Time::NullTTime());
+					previousStartTime = currentInstanceDate;
+				}
 				// There are no instances before the exception
 				keepLooking = EFalse;
 			} else {
@@ -2196,22 +2217,23 @@
 		}
 		CleanupStack::PopAndDestroy(&exdates);
 	}
-	// Convert TCalTimes to QDateTimes
-	TDateTime prevStart = previousStartTime.TimeLocalL().DateTime();
-	TDateTime prevEnd = previousEndTime.TimeLocalL().DateTime();
-	startTime.setDate(QDate(prevStart.Year(), prevStart.Month()+1,
-					prevStart.Day() + 1));
-	startTime.setTime(QTime(prevStart.Hour(), prevStart.Minute(), 0, 0));
-	endTime.setDate(QDate(prevEnd.Year(), prevEnd.Month()+1,
-	                      prevEnd.Day() + 1));
-	endTime.setTime(QTime(prevEnd.Hour(), prevEnd.Minute(), 0, 0));
 	
+	if(previousStartTime.TimeUtcL() != Time::NullTTime()) {
+		// Convert TCalTimes to QDateTimes
+		TDateTime prevStart = previousStartTime.TimeLocalL().DateTime();
+		TDateTime prevEnd = previousEndTime.TimeLocalL().DateTime();
+		startTime.setDate(QDate(prevStart.Year(), prevStart.Month()+1,
+		                        prevStart.Day() + 1));
+		startTime.setTime(QTime(prevStart.Hour(), prevStart.Minute(), 0, 0));
+		endTime.setDate(QDate(prevEnd.Year(), prevEnd.Month()+1,
+		                      prevEnd.Day() + 1));
+		endTime.setTime(QTime(prevEnd.Hour(), prevEnd.Minute(), 0, 0));
+	} else {
+		QDateTime nullDateTime;
+		startTime = nullDateTime;
+		endTime = nullDateTime;
+	}
 	delete calEntry;
-	int count = entries.Count();
-	for (int i = count - 1; i >= 0; --i) {
-		CCalEntry *instance = entries[i];
-		delete instance;
-	}
 	CleanupStack::PopAndDestroy(&entries);
 }
 
@@ -2227,7 +2249,7 @@
                                           QDateTime& endTime)
 {
 	RPointerArray<CCalEntry> entries;
-	CleanupClosePushL(entries);
+	CleanupResetAndDestroyPushL(entries);
 	TCalTime nextStartTime;
 	TCalTime nextEndTime;
 	TTime zero(TInt64(0));
@@ -2341,9 +2363,19 @@
 					keepLooking = EFalse;
 					break;
 			}
-			// Is currentInstanceDate before parent dt start?
-			if (currentInstanceDate.TimeLocalL() < 
-					entries[0]->StartTimeL().TimeLocalL()) {
+			// Is currentInstanceDate after repeat until date?
+			if (currentInstanceDate.TimeLocalL() >  
+					rrule.Until().TimeLocalL()) {
+				TBool exceptionEntryAfterRepeatUntilPresent = EFalse;
+				for (TInt i=0; i<exdates.Count(); ++i) {
+					if(exdates[i].TimeLocalL() > rrule.Until().TimeLocalL()) {
+						exceptionEntryAfterRepeatUntilPresent = ETrue;
+					}
+				}
+				if (!exceptionEntryAfterRepeatUntilPresent) {
+					currentInstanceDate.SetTimeLocalL(Time::NullTTime());
+					nextStartTime = currentInstanceDate;
+				}
 				// There are no instances before the exception
 				keepLooking = EFalse;
 			} else {
@@ -2386,22 +2418,24 @@
 		CleanupStack::PopAndDestroy( &exdates );
 		}
 	}
-	// Convert TCalTimes to QDateTimes
-	TDateTime nextStart = nextStartTime.TimeLocalL().DateTime();
-	TDateTime nextEnd = nextEndTime.TimeLocalL().DateTime();
-	startTime.setDate(QDate(nextStart.Year(), nextStart.Month()+1,
-	                        nextStart.Day() + 1));
-	startTime.setTime(QTime(nextStart.Hour(), nextStart.Minute(), 0, 0));
-	endTime.setDate(QDate(nextEnd.Year(), nextEnd.Month()+1,
-	                      nextEnd.Day() + 1));
-	endTime.setTime(QTime(nextEnd.Hour(), nextEnd.Minute(), 0, 0));	
 	
+	if (nextStartTime.TimeUtcL() != Time::NullTTime()) {
+		// Convert TCalTimes to QDateTimes
+		TDateTime nextStart = nextStartTime.TimeLocalL().DateTime();
+		TDateTime nextEnd = nextEndTime.TimeLocalL().DateTime();
+		startTime.setDate(QDate(nextStart.Year(), nextStart.Month()+1,
+		                        nextStart.Day() + 1));
+		startTime.setTime(QTime(nextStart.Hour(), nextStart.Minute(), 0, 0));
+		endTime.setDate(QDate(nextEnd.Year(), nextEnd.Month()+1,
+		                      nextEnd.Day() + 1));
+		endTime.setTime(QTime(nextEnd.Hour(), nextEnd.Minute(), 0, 0));	
+	} else {
+		QDateTime nullDateTime;
+		startTime = nullDateTime;
+		endTime = nullDateTime;
+	}
 	delete calEntry;
-	int count = entries.Count();
-		for (int i = count - 1; i >= 0; --i) {
-			CCalEntry *instance = entries[i];
-			delete instance;
-		}
+	
 	CleanupStack::PopAndDestroy(&entries);
 }
 
@@ -2420,7 +2454,7 @@
 	bool isEmpty;
 	// Query for the entries for entire range
 	RPointerArray<CCalInstance> instanceList;
-	CleanupClosePushL(instanceList);
+	CleanupResetAndDestroyPushL(instanceList);
 	
 	// Create the filter
 	CalCommon::TCalViewFilter filters = AgendaUtil::IncludeAnniversaries
@@ -2457,7 +2491,9 @@
 	} else {
 		isEmpty = true;
 	}
-	CleanupStack::PopAndDestroy();
+	
+	// Cleanup
+	CleanupStack::PopAndDestroy( &instanceList );
 	return isEmpty;
 }
 
@@ -2621,8 +2657,7 @@
 	entry.setStartAndEndTime(startDateTime, endDateTime);
 
 	// Attendees.
-	RPointerArray<CCalAttendee> calAttendees = calEntry.AttendeesL();
-	CleanupClosePushL(calAttendees);
+	RPointerArray<CCalAttendee>& calAttendees = calEntry.AttendeesL();
 
 	for (int i = 0; i < calAttendees.Count(); i++) {
 		AgendaAttendee attendee;
@@ -2649,11 +2684,9 @@
 						calAttendees[i]->StatusL()));
 		entry.addAttendee(attendee);
 	}
-	CleanupStack::Pop(&calAttendees);
 
 	// Categories.
-	RPointerArray<CCalCategory> calCategories = calEntry.CategoryListL();
-	CleanupClosePushL(calCategories);
+	const RPointerArray<CCalCategory>& calCategories = calEntry.CategoryListL();
 
 	for (int i = 0; i < calCategories.Count(); i++) {
 		AgendaCategory category;
@@ -2669,7 +2702,6 @@
 				static_cast<AgendaCategory::CategoryType>(categoryType));
 		entry.addCategory(category);
 	}
-	CleanupStack::PopAndDestroy(&calCategories);
 
 	// Id.
 	entry.d->m_id = calEntry.LocalUidL();
@@ -2951,7 +2983,7 @@
 	CalCommon::TCalTimeRange dayRange(dummy, dummy);
 	getDayRange(entry.startTime(), entry.startTime(), dayRange);
 	RPointerArray<CCalInstance> instances;
-	CleanupClosePushL(instances);
+	CleanupResetAndDestroyPushL(instances);
 	iCalInstanceView->FindInstanceL(instances, CalCommon::EIncludeAll, dayRange);
 	TTime entryStartTime(dayRange.StartTime().TimeLocalL());
 
@@ -3371,7 +3403,7 @@
 									const CalCommon::TCalTimeRange& timeRange)
 {
 	RPointerArray<CCalInstance> allInstances;
-	CleanupClosePushL( allInstances );
+	CleanupResetAndDestroyPushL(allInstances);
 	
 	TInt filter;
 	// Get the entry type to be filtered
@@ -3420,7 +3452,7 @@
 								   const CalCommon::TCalTimeRange& timeRange)
 {
 	RPointerArray<CCalInstance> allInstances;
-	CleanupClosePushL( allInstances );
+	CleanupResetAndDestroyPushL(allInstances);
     
     TInt filter;
     // Get the entry type to be filtered
@@ -3661,16 +3693,14 @@
                                                 oldEntries[i]->SequenceNumberL(),
                                                 recId,
                                                 oldEntries[i]->RecurrenceRangeL() );
-            CleanupStack::PushL(exception);
             exception->CopyFromL(*oldEntries[i]);
             exception->SetLastModifiedDateL();
             TInt successCount=0;
 			RPointerArray<CCalEntry> entries;
-			CleanupClosePushL( entries );
+			CleanupResetAndDestroyPushL(entries);
 			entries.Append( exception );
 			iCalEntryView->StoreL( entries, successCount );
 			CleanupStack::PopAndDestroy( &entries );
-            CleanupStack::PopAndDestroy(exception);
             }
         else
             {
@@ -3683,10 +3713,10 @@
         	oldEntries[i]->SetLastModifiedDateL();
 			TInt successCount=0;
 			RPointerArray<CCalEntry> entries;
-			CleanupClosePushL( entries );
+			CleanupClosePushL(entries);
 			entries.Append( oldEntries[i] );
 			iCalEntryView->StoreL( entries, successCount );
-			CleanupStack::PopAndDestroy( &entries );
+			CleanupStack::Pop( &entries );
             }
         }
     }
--- a/agendainterface/bwins/agendainterfaceu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,183 +0,0 @@
-EXPORTS
-	?minTime@AgendaUtil@@SA?AVQDateTime@@XZ @ 1 NONAME ; class QDateTime AgendaUtil::minTime(void)
-	??4AgendaCategory@@QAEAAV0@ABV0@@Z @ 2 NONAME ; class AgendaCategory & AgendaCategory::operator=(class AgendaCategory const &)
-	?addEntry@AgendaUtil@@QAEKABVAgendaEntry@@@Z @ 3 NONAME ; unsigned long AgendaUtil::addEntry(class AgendaEntry const &)
-	??_EAgendaEntry@@UAE@I@Z @ 4 NONAME ; AgendaEntry::~AgendaEntry(unsigned int)
-	??8AgendaEntry@@QBE_NABV0@@Z @ 5 NONAME ; bool AgendaEntry::operator==(class AgendaEntry const &) const
-	??1AgendaAlarm@@QAE@XZ @ 6 NONAME ; AgendaAlarm::~AgendaAlarm(void)
-	?setAlarm@AgendaEntry@@QAEXABVAgendaAlarm@@@Z @ 7 NONAME ; void AgendaEntry::setAlarm(class AgendaAlarm const &)
-	?isNull@AgendaEntry@@QBE_NXZ @ 8 NONAME ; bool AgendaEntry::isNull(void) const
-	?isNull@AgendaCategory@@QBE_NXZ @ 9 NONAME ; bool AgendaCategory::isNull(void) const
-	??8AgendaRepeatRule@@QBE_NABV0@@Z @ 10 NONAME ; bool AgendaRepeatRule::operator==(class AgendaRepeatRule const &) const
-	?entryUpdated@AgendaUtil@@IAEXK@Z @ 11 NONAME ; void AgendaUtil::entryUpdated(unsigned long)
-	?alarmSoundName@AgendaAlarm@@QBE?AVQString@@XZ @ 12 NONAME ; class QString AgendaAlarm::alarmSoundName(void) const
-	?alarm@AgendaEntry@@QBE?AVAgendaAlarm@@XZ @ 13 NONAME ; class AgendaAlarm AgendaEntry::alarm(void) const
-	?responseRequested@AgendaAttendee@@QBE_NXZ @ 14 NONAME ; bool AgendaAttendee::responseRequested(void) const
-	?startTime@AgendaEntry@@QBE?AVQDateTime@@XZ @ 15 NONAME ; class QDateTime AgendaEntry::startTime(void) const
-	?geoValue@AgendaEntry@@QBE?AVAgendaGeoValue@@XZ @ 16 NONAME ; class AgendaGeoValue AgendaEntry::geoValue(void) const
-	?getNextInstanceTimes@AgendaUtil@@QAEXAAVAgendaEntry@@AAVQDateTime@@1@Z @ 17 NONAME ; void AgendaUtil::getNextInstanceTimes(class AgendaEntry &, class QDateTime &, class QDateTime &)
-	?exportAsvCalendar@AgendaUtil@@QAE_NABVQString@@J@Z @ 18 NONAME ; bool AgendaUtil::exportAsvCalendar(class QString const &, long)
-	??_EAgendaAttendee@@UAE@I@Z @ 19 NONAME ; AgendaAttendee::~AgendaAttendee(unsigned int)
-	??9AgendaAlarm@@QBE_NABV0@@Z @ 20 NONAME ; bool AgendaAlarm::operator!=(class AgendaAlarm const &) const
-	?isNull@AgendaAlarm@@QBE_NXZ @ 21 NONAME ; bool AgendaAlarm::isNull(void) const
-	?extendedCategoryName@AgendaCategory@@QBE?AVQString@@XZ @ 22 NONAME ; class QString AgendaCategory::extendedCategoryName(void) const
-	?entryIds@AgendaUtil@@QAE?AV?$QList@K@@W4FilterFlags@1@@Z @ 23 NONAME ; class QList<unsigned long> AgendaUtil::entryIds(enum AgendaUtil::FilterFlags)
-	?isRepeating@AgendaEntry@@QAE_NXZ @ 24 NONAME ; bool AgendaEntry::isRepeating(void)
-	?clearRepeatingProperties@AgendaUtil@@QAEXAAVAgendaEntry@@@Z @ 25 NONAME ; void AgendaUtil::clearRepeatingProperties(class AgendaEntry &)
-	?deleteRepeatedEntry@AgendaUtil@@QAEXAAVAgendaEntry@@W4RecurrenceRange@1@@Z @ 26 NONAME ; void AgendaUtil::deleteRepeatedEntry(class AgendaEntry &, enum AgendaUtil::RecurrenceRange)
-	?tr@AgendaUtil@@SA?AVQString@@PBD0H@Z @ 27 NONAME ; class QString AgendaUtil::tr(char const *, char const *, int)
-	?description@AgendaEntry@@QBE?AVQString@@XZ @ 28 NONAME ; class QString AgendaEntry::description(void) const
-	??0AgendaUtil@@QAE@PAVQObject@@@Z @ 29 NONAME ; AgendaUtil::AgendaUtil(class QObject *)
-	?categories@AgendaEntry@@QAEAAV?$QList@VAgendaCategory@@@@XZ @ 30 NONAME ; class QList<class AgendaCategory> & AgendaEntry::categories(void)
-	?createException@AgendaUtil@@QAE_NABVAgendaEntry@@@Z @ 31 NONAME ; bool AgendaUtil::createException(class AgendaEntry const &)
-	?entriesChanged@AgendaUtil@@IAEXV?$QList@K@@@Z @ 32 NONAME ; void AgendaUtil::entriesChanged(class QList<unsigned long>)
-	??0AgendaGeoValue@@QAE@XZ @ 33 NONAME ; AgendaGeoValue::AgendaGeoValue(void)
-	?status@AgendaAttendee@@QBE?AW4StatusType@1@XZ @ 34 NONAME ; enum AgendaAttendee::StatusType AgendaAttendee::status(void) const
-	?markDatesWithEvents@AgendaUtil@@QAEXVQDateTime@@0W4FilterFlags@1@AAV?$QList@VQDate@@@@@Z @ 35 NONAME ; void AgendaUtil::markDatesWithEvents(class QDateTime, class QDateTime, enum AgendaUtil::FilterFlags, class QList<class QDate> &)
-	??9AgendaGeoValue@@QBE_NABV0@@Z @ 36 NONAME ; bool AgendaGeoValue::operator!=(class AgendaGeoValue const &) const
-	??0AgendaAlarm@@QAE@XZ @ 37 NONAME ; AgendaAlarm::AgendaAlarm(void)
-	?byMonth@AgendaRepeatRule@@QBE?AV?$QList@W4Month@AgendaRepeatRule@@@@XZ @ 38 NONAME ; class QList<enum AgendaRepeatRule::Month> AgendaRepeatRule::byMonth(void) const
-	?isNull@AgendaAttendee@@QBE_NXZ @ 39 NONAME ; bool AgendaAttendee::isNull(void) const
-	?setAddress@AgendaAttendee@@QAEXABVQString@@@Z @ 40 NONAME ; void AgendaAttendee::setAddress(class QString const &)
-	?setRepeatRuleStart@AgendaRepeatRule@@QAEXABVQDateTime@@@Z @ 41 NONAME ; void AgendaRepeatRule::setRepeatRuleStart(class QDateTime const &)
-	?trUtf8@AgendaUtil@@SA?AVQString@@PBD0H@Z @ 42 NONAME ; class QString AgendaUtil::trUtf8(char const *, char const *, int)
-	?setLastModifiedDateTime@AgendaEntry@@QAEXABVQDateTime@@@Z @ 43 NONAME ; void AgendaEntry::setLastModifiedDateTime(class QDateTime const &)
-	??0AgendaAlarm@@QAE@ABV0@@Z @ 44 NONAME ; AgendaAlarm::AgendaAlarm(class AgendaAlarm const &)
-	?setSummary@AgendaEntry@@QAEXABVQString@@@Z @ 45 NONAME ; void AgendaEntry::setSummary(class QString const &)
-	?setByMonthDay@AgendaRepeatRule@@QAEXABV?$QList@H@@@Z @ 46 NONAME ; void AgendaRepeatRule::setByMonthDay(class QList<int> const &)
-	??1AgendaEntry@@UAE@XZ @ 47 NONAME ; AgendaEntry::~AgendaEntry(void)
-	?setResponseRequested@AgendaAttendee@@QAEX_N@Z @ 48 NONAME ; void AgendaAttendee::setResponseRequested(bool)
-	??1AgendaRepeatRule@@QAE@XZ @ 49 NONAME ; AgendaRepeatRule::~AgendaRepeatRule(void)
-	?byMonthDay@AgendaRepeatRule@@QBE?AV?$QList@H@@XZ @ 50 NONAME ; class QList<int> AgendaRepeatRule::byMonthDay(void) const
-	?detach@AgendaGeoValue@@AAEXXZ @ 51 NONAME ; void AgendaGeoValue::detach(void)
-	?detach@AgendaEntry@@AAEXXZ @ 52 NONAME ; void AgendaEntry::detach(void)
-	??9AgendaAttendee@@QBE_NABV0@@Z @ 53 NONAME ; bool AgendaAttendee::operator!=(class AgendaAttendee const &) const
-	??9AgendaRepeatRule@@QBE_NABV0@@Z @ 54 NONAME ; bool AgendaRepeatRule::operator!=(class AgendaRepeatRule const &) const
-	?weekStart@AgendaRepeatRule@@QBE?AW4Day@1@XZ @ 55 NONAME ; enum AgendaRepeatRule::Day AgendaRepeatRule::weekStart(void) const
-	??4AgendaAlarm@@QAEAAV0@ABV0@@Z @ 56 NONAME ; class AgendaAlarm & AgendaAlarm::operator=(class AgendaAlarm const &)
-	?lastModifiedDateTime@AgendaEntry@@QBE?AVQDateTime@@XZ @ 57 NONAME ; class QDateTime AgendaEntry::lastModifiedDateTime(void) const
-	?attendees@AgendaEntry@@QBEABV?$QList@VAgendaAttendee@@@@XZ @ 58 NONAME ; class QList<class AgendaAttendee> const & AgendaEntry::attendees(void) const
-	?setInterval@AgendaRepeatRule@@QAEXH@Z @ 59 NONAME ; void AgendaRepeatRule::setInterval(int)
-	?updateEntry@AgendaUtil@@QAE_NABVAgendaEntry@@_N@Z @ 60 NONAME ; bool AgendaUtil::updateEntry(class AgendaEntry const &, bool)
-	??8AgendaGeoValue@@QBE_NABV0@@Z @ 61 NONAME ; bool AgendaGeoValue::operator==(class AgendaGeoValue const &) const
-	?id@AgendaEntry@@QBEKXZ @ 62 NONAME ; unsigned long AgendaEntry::id(void) const
-	?setByDay@AgendaRepeatRule@@QAEXABV?$QList@W4Day@AgendaRepeatRule@@@@@Z @ 63 NONAME ; void AgendaRepeatRule::setByDay(class QList<enum AgendaRepeatRule::Day> const &)
-	?setUntil@AgendaRepeatRule@@QAEXABVQDateTime@@@Z @ 64 NONAME ; void AgendaRepeatRule::setUntil(class QDateTime const &)
-	?setType@AgendaRepeatRule@@QAEXW4RuleType@1@@Z @ 65 NONAME ; void AgendaRepeatRule::setType(enum AgendaRepeatRule::RuleType)
-	?interval@AgendaRepeatRule@@QBEHXZ @ 66 NONAME ; int AgendaRepeatRule::interval(void) const
-	?rDates@AgendaEntry@@QBE?AV?$QList@VQDate@@@@XZ @ 67 NONAME ; class QList<class QDate> AgendaEntry::rDates(void) const
-	?repeatRuleStart@AgendaRepeatRule@@QBE?AVQDateTime@@XZ @ 68 NONAME ; class QDateTime AgendaRepeatRule::repeatRuleStart(void) const
-	??8AgendaAlarm@@QBE_NABV0@@Z @ 69 NONAME ; bool AgendaAlarm::operator==(class AgendaAlarm const &) const
-	?storeRepeatingEntry@AgendaUtil@@QAE_NABVAgendaEntry@@_N@Z @ 70 NONAME ; bool AgendaUtil::storeRepeatingEntry(class AgendaEntry const &, bool)
-	??0AgendaRepeatRule@@QAE@ABV0@@Z @ 71 NONAME ; AgendaRepeatRule::AgendaRepeatRule(class AgendaRepeatRule const &)
-	?setStatus@AgendaAttendee@@QAEXW4StatusType@1@@Z @ 72 NONAME ; void AgendaAttendee::setStatus(enum AgendaAttendee::StatusType)
-	?setStatus@AgendaEntry@@QAEXW4Status@1@@Z @ 73 NONAME ; void AgendaEntry::setStatus(enum AgendaEntry::Status)
-	?setExtendedCategoryName@AgendaCategory@@QAEXABVQString@@@Z @ 74 NONAME ; void AgendaCategory::setExtendedCategoryName(class QString const &)
-	?setDescription@AgendaEntry@@QAEXABVQString@@@Z @ 75 NONAME ; void AgendaEntry::setDescription(class QString const &)
-	?recurrenceId@AgendaEntry@@QAE?AVQDateTime@@XZ @ 76 NONAME ; class QDateTime AgendaEntry::recurrenceId(void)
-	?until@AgendaRepeatRule@@QBE?AVQDateTime@@XZ @ 77 NONAME ; class QDateTime AgendaRepeatRule::until(void) const
-	?setByMonth@AgendaRepeatRule@@QAEXABV?$QList@W4Month@AgendaRepeatRule@@@@@Z @ 78 NONAME ; void AgendaRepeatRule::setByMonth(class QList<enum AgendaRepeatRule::Month> const &)
-	?qt_metacall@AgendaUtil@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 79 NONAME ; int AgendaUtil::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?qt_metacast@AgendaUtil@@UAEPAXPBD@Z @ 80 NONAME ; void * AgendaUtil::qt_metacast(char const *)
-	?isNull@AgendaRepeatRule@@QBE_NXZ @ 81 NONAME ; bool AgendaRepeatRule::isNull(void) const
-	?getStaticMetaObject@AgendaUtil@@SAABUQMetaObject@@XZ @ 82 NONAME ; struct QMetaObject const & AgendaUtil::getStaticMetaObject(void)
-	??8AgendaAttendee@@QBE_NABV0@@Z @ 83 NONAME ; bool AgendaAttendee::operator==(class AgendaAttendee const &) const
-	?addCategory@AgendaEntry@@QAEXABVAgendaCategory@@@Z @ 84 NONAME ; void AgendaEntry::addCategory(class AgendaCategory const &)
-	?setLocation@AgendaEntry@@QAEXABVQString@@@Z @ 85 NONAME ; void AgendaEntry::setLocation(class QString const &)
-	?isTimedEntry@AgendaEntry@@QAE_NXZ @ 86 NONAME ; bool AgendaEntry::isTimedEntry(void)
-	?favourite@AgendaEntry@@QBEIXZ @ 87 NONAME ; unsigned int AgendaEntry::favourite(void) const
-	?durationInSecs@AgendaEntry@@QBEHXZ @ 88 NONAME ; int AgendaEntry::durationInSecs(void) const
-	??1AgendaUtil@@UAE@XZ @ 89 NONAME ; AgendaUtil::~AgendaUtil(void)
-	?category@AgendaCategory@@QBE?AW4CategoryType@1@XZ @ 90 NONAME ; enum AgendaCategory::CategoryType AgendaCategory::category(void) const
-	?entryAdded@AgendaUtil@@IAEXK@Z @ 91 NONAME ; void AgendaUtil::entryAdded(unsigned long)
-	?role@AgendaAttendee@@QBE?AW4ParticipantRole@1@XZ @ 92 NONAME ; enum AgendaAttendee::ParticipantRole AgendaAttendee::role(void) const
-	?type@AgendaEntry@@QBE?AW4Type@1@XZ @ 93 NONAME ; enum AgendaEntry::Type AgendaEntry::type(void) const
-	??0AgendaEntry@@QAE@W4Type@0@@Z @ 94 NONAME ; AgendaEntry::AgendaEntry(enum AgendaEntry::Type)
-	?detach@AgendaRepeatRule@@AAEXXZ @ 95 NONAME ; void AgendaRepeatRule::detach(void)
-	?error@AgendaUtil@@QBE?AW4Error@1@XZ @ 96 NONAME ; enum AgendaUtil::Error AgendaUtil::error(void) const
-	?trUtf8@AgendaUtil@@SA?AVQString@@PBD0@Z @ 97 NONAME ; class QString AgendaUtil::trUtf8(char const *, char const *)
-	?status@AgendaEntry@@QBE?AW4Status@1@XZ @ 98 NONAME ; enum AgendaEntry::Status AgendaEntry::status(void) const
-	??0AgendaEntry@@QAE@ABV0@@Z @ 99 NONAME ; AgendaEntry::AgendaEntry(class AgendaEntry const &)
-	??4AgendaAttendee@@QAEAAV0@ABV0@@Z @ 100 NONAME ; class AgendaAttendee & AgendaAttendee::operator=(class AgendaAttendee const &)
-	?address@AgendaAttendee@@QBE?AVQString@@XZ @ 101 NONAME ; class QString AgendaAttendee::address(void) const
-	?entryDeleted@AgendaUtil@@IAEXK@Z @ 102 NONAME ; void AgendaUtil::entryDeleted(unsigned long)
-	?summary@AgendaEntry@@QBE?AVQString@@XZ @ 103 NONAME ; class QString AgendaEntry::summary(void) const
-	?priority@AgendaEntry@@QBEHXZ @ 104 NONAME ; int AgendaEntry::priority(void) const
-	?fetchById@AgendaUtil@@QAE?AVAgendaEntry@@K@Z @ 105 NONAME ; class AgendaEntry AgendaUtil::fetchById(unsigned long)
-	?setCommonName@AgendaAttendee@@QAEXABVQString@@@Z @ 106 NONAME ; void AgendaAttendee::setCommonName(class QString const &)
-	?setMethod@AgendaEntry@@QAEXW4Method@1@@Z @ 107 NONAME ; void AgendaEntry::setMethod(enum AgendaEntry::Method)
-	?setRDates@AgendaEntry@@QAEXABV?$QList@VQDate@@@@@Z @ 108 NONAME ; void AgendaEntry::setRDates(class QList<class QDate> const &)
-	?parentEntry@AgendaUtil@@QAE?AVAgendaEntry@@AAV2@@Z @ 109 NONAME ; class AgendaEntry AgendaUtil::parentEntry(class AgendaEntry &)
-	?addAttendee@AgendaEntry@@QAEXABVAgendaAttendee@@@Z @ 110 NONAME ; void AgendaEntry::addAttendee(class AgendaAttendee const &)
-	?setCompleted@AgendaUtil@@QAEXAAVAgendaEntry@@_NAAVQDateTime@@@Z @ 111 NONAME ; void AgendaUtil::setCompleted(class AgendaEntry &, bool, class QDateTime &)
-	??0AgendaCategory@@QAE@XZ @ 112 NONAME ; AgendaCategory::AgendaCategory(void)
-	?timeOffset@AgendaAlarm@@QBEHXZ @ 113 NONAME ; int AgendaAlarm::timeOffset(void) const
-	??0AgendaAttendee@@QAE@XZ @ 114 NONAME ; AgendaAttendee::AgendaAttendee(void)
-	?setAlarmSoundName@AgendaAlarm@@QAEXABVQString@@@Z @ 115 NONAME ; void AgendaAlarm::setAlarmSoundName(class QString const &)
-	?fetchEntriesInRange@AgendaUtil@@QAE?AV?$QList@VAgendaEntry@@@@VQDateTime@@0W4FilterFlags@1@@Z @ 116 NONAME ; class QList<class AgendaEntry> AgendaUtil::fetchEntriesInRange(class QDateTime, class QDateTime, enum AgendaUtil::FilterFlags)
-	?detach@AgendaAlarm@@AAEXXZ @ 117 NONAME ; void AgendaAlarm::detach(void)
-	?setWeekStart@AgendaRepeatRule@@QAEXW4Day@1@@Z @ 118 NONAME ; void AgendaRepeatRule::setWeekStart(enum AgendaRepeatRule::Day)
-	?setFavourite@AgendaEntry@@QAEXI@Z @ 119 NONAME ; void AgendaEntry::setFavourite(unsigned int)
-	?setDTStamp@AgendaEntry@@QAEXABVQDateTime@@@Z @ 120 NONAME ; void AgendaEntry::setDTStamp(class QDateTime const &)
-	?cloneEntry@AgendaUtil@@QAEKABVAgendaEntry@@W4Type@2@@Z @ 121 NONAME ; unsigned long AgendaUtil::cloneEntry(class AgendaEntry const &, enum AgendaEntry::Type)
-	?setRepeatRule@AgendaEntry@@QAEXABVAgendaRepeatRule@@@Z @ 122 NONAME ; void AgendaEntry::setRepeatRule(class AgendaRepeatRule const &)
-	?categories@AgendaEntry@@QBEABV?$QList@VAgendaCategory@@@@XZ @ 123 NONAME ; class QList<class AgendaCategory> const & AgendaEntry::categories(void) const
-	?tr@AgendaUtil@@SA?AVQString@@PBD0@Z @ 124 NONAME ; class QString AgendaUtil::tr(char const *, char const *)
-	??4AgendaRepeatRule@@QAEAAV0@ABV0@@Z @ 125 NONAME ; class AgendaRepeatRule & AgendaRepeatRule::operator=(class AgendaRepeatRule const &)
-	?setCompletedDateTime@AgendaEntry@@QAEXABVQDateTime@@@Z @ 126 NONAME ; void AgendaEntry::setCompletedDateTime(class QDateTime const &)
-	??0AgendaRepeatRule@@QAE@XZ @ 127 NONAME ; AgendaRepeatRule::AgendaRepeatRule(void)
-	?dtStamp@AgendaEntry@@QBE?AVQDateTime@@XZ @ 128 NONAME ; class QDateTime AgendaEntry::dtStamp(void) const
-	?method@AgendaEntry@@QBE?AW4Method@1@XZ @ 129 NONAME ; enum AgendaEntry::Method AgendaEntry::method(void) const
-	?type@AgendaRepeatRule@@QBE?AW4RuleType@1@XZ @ 130 NONAME ; enum AgendaRepeatRule::RuleType AgendaRepeatRule::type(void) const
-	??4AgendaGeoValue@@QAEAAV0@ABV0@@Z @ 131 NONAME ; class AgendaGeoValue & AgendaGeoValue::operator=(class AgendaGeoValue const &)
-	??0AgendaCategory@@QAE@W4CategoryType@0@@Z @ 132 NONAME ; AgendaCategory::AgendaCategory(enum AgendaCategory::CategoryType)
-	?commonName@AgendaAttendee@@QBE?AVQString@@XZ @ 133 NONAME ; class QString AgendaAttendee::commonName(void) const
-	?detach@AgendaCategory@@AAEXXZ @ 134 NONAME ; void AgendaCategory::detach(void)
-	??0AgendaGeoValue@@QAE@ABV0@@Z @ 135 NONAME ; AgendaGeoValue::AgendaGeoValue(class AgendaGeoValue const &)
-	?isWorkdaysRepeatingEntry@AgendaUtil@@SA_NABVAgendaRepeatRule@@@Z @ 136 NONAME ; bool AgendaUtil::isWorkdaysRepeatingEntry(class AgendaRepeatRule const &)
-	?setRole@AgendaAttendee@@QAEXW4ParticipantRole@1@@Z @ 137 NONAME ; void AgendaAttendee::setRole(enum AgendaAttendee::ParticipantRole)
-	?detach@AgendaAttendee@@AAEXXZ @ 138 NONAME ; void AgendaAttendee::detach(void)
-	?getLatLong@AgendaGeoValue@@QBEXAAN0@Z @ 139 NONAME ; void AgendaGeoValue::getLatLong(double &, double &) const
-	?maxTime@AgendaUtil@@SA?AVQDateTime@@XZ @ 140 NONAME ; class QDateTime AgendaUtil::maxTime(void)
-	?setCategory@AgendaCategory@@QAEXW4CategoryType@1@@Z @ 141 NONAME ; void AgendaCategory::setCategory(enum AgendaCategory::CategoryType)
-	?endTime@AgendaEntry@@QBE?AVQDateTime@@XZ @ 142 NONAME ; class QDateTime AgendaEntry::endTime(void) const
-	??9AgendaEntry@@QBE_NABV0@@Z @ 143 NONAME ; bool AgendaEntry::operator!=(class AgendaEntry const &) const
-	??0AgendaRepeatRule@@QAE@W4RuleType@0@@Z @ 144 NONAME ; AgendaRepeatRule::AgendaRepeatRule(enum AgendaRepeatRule::RuleType)
-	??9AgendaCategory@@QBE_NABV0@@Z @ 145 NONAME ; bool AgendaCategory::operator!=(class AgendaCategory const &) const
-	??0AgendaAttendee@@QAE@ABV0@@Z @ 146 NONAME ; AgendaAttendee::AgendaAttendee(class AgendaAttendee const &)
-	??0AgendaAttendee@@QAE@ABVQString@@@Z @ 147 NONAME ; AgendaAttendee::AgendaAttendee(class QString const &)
-	?importvCalendar@AgendaUtil@@QAEHABVQString@@AAVAgendaEntry@@@Z @ 148 NONAME ; int AgendaUtil::importvCalendar(class QString const &, class AgendaEntry &)
-	??_EAgendaUtil@@UAE@I@Z @ 149 NONAME ; AgendaUtil::~AgendaUtil(unsigned int)
-	?setGeoValue@AgendaEntry@@QAEXABVAgendaGeoValue@@@Z @ 150 NONAME ; void AgendaEntry::setGeoValue(class AgendaGeoValue const &)
-	?getPreviousInstanceTimes@AgendaUtil@@QAEXAAVAgendaEntry@@AAVQDateTime@@1@Z @ 151 NONAME ; void AgendaUtil::getPreviousInstanceTimes(class AgendaEntry &, class QDateTime &, class QDateTime &)
-	?attendees@AgendaEntry@@QAEAAV?$QList@VAgendaAttendee@@@@XZ @ 152 NONAME ; class QList<class AgendaAttendee> & AgendaEntry::attendees(void)
-	?staticMetaObject@AgendaUtil@@2UQMetaObject@@B @ 153 NONAME ; struct QMetaObject const AgendaUtil::staticMetaObject
-	?entriesDeleted@AgendaUtil@@IAEXH@Z @ 154 NONAME ; void AgendaUtil::entriesDeleted(int)
-	?fetchAllEntries@AgendaUtil@@QAE?AV?$QList@VAgendaEntry@@@@W4FilterFlags@1@@Z @ 155 NONAME ; class QList<class AgendaEntry> AgendaUtil::fetchAllEntries(enum AgendaUtil::FilterFlags)
-	?setTimeOffset@AgendaAlarm@@QAEXH@Z @ 156 NONAME ; void AgendaAlarm::setTimeOffset(int)
-	??0AgendaEntry@@QAE@XZ @ 157 NONAME ; AgendaEntry::AgendaEntry(void)
-	?setPriority@AgendaEntry@@QAEXH@Z @ 158 NONAME ; void AgendaEntry::setPriority(int)
-	?setType@AgendaEntry@@QAEXW4Type@1@@Z @ 159 NONAME ; void AgendaEntry::setType(enum AgendaEntry::Type)
-	?setStartAndEndTime@AgendaEntry@@QAE_NABVQDateTime@@0@Z @ 160 NONAME ; bool AgendaEntry::setStartAndEndTime(class QDateTime const &, class QDateTime const &)
-	?deleteEntries@AgendaUtil@@QAEXAAVQDateTime@@0W4FilterFlags@1@@Z @ 161 NONAME ; void AgendaUtil::deleteEntries(class QDateTime &, class QDateTime &, enum AgendaUtil::FilterFlags)
-	?metaObject@AgendaUtil@@UBEPBUQMetaObject@@XZ @ 162 NONAME ; struct QMetaObject const * AgendaUtil::metaObject(void) const
-	?location@AgendaEntry@@QBE?AVQString@@XZ @ 163 NONAME ; class QString AgendaEntry::location(void) const
-	??8AgendaCategory@@QBE_NABV0@@Z @ 164 NONAME ; bool AgendaCategory::operator==(class AgendaCategory const &) const
-	??0AgendaCategory@@QAE@ABV0@@Z @ 165 NONAME ; AgendaCategory::AgendaCategory(class AgendaCategory const &)
-	??1AgendaGeoValue@@QAE@XZ @ 166 NONAME ; AgendaGeoValue::~AgendaGeoValue(void)
-	??4AgendaEntry@@QAEAAV0@ABV0@@Z @ 167 NONAME ; class AgendaEntry & AgendaEntry::operator=(class AgendaEntry const &)
-	??_EAgendaCategory@@UAE@I@Z @ 168 NONAME ; AgendaCategory::~AgendaCategory(unsigned int)
-	?createEntryIdListForDay@AgendaUtil@@QAE?AV?$QList@VAgendaEntry@@@@VQDateTime@@W4FilterFlags@1@@Z @ 169 NONAME ; class QList<class AgendaEntry> AgendaUtil::createEntryIdListForDay(class QDateTime, enum AgendaUtil::FilterFlags)
-	?repeatRule@AgendaEntry@@QBE?AVAgendaRepeatRule@@XZ @ 170 NONAME ; class AgendaRepeatRule AgendaEntry::repeatRule(void) const
-	??1AgendaCategory@@UAE@XZ @ 171 NONAME ; AgendaCategory::~AgendaCategory(void)
-	?deleteEntry@AgendaUtil@@QAE_NK@Z @ 172 NONAME ; bool AgendaUtil::deleteEntry(unsigned long)
-	??1AgendaAttendee@@UAE@XZ @ 173 NONAME ; AgendaAttendee::~AgendaAttendee(void)
-	?byDay@AgendaRepeatRule@@QBE?AV?$QList@W4Day@AgendaRepeatRule@@@@XZ @ 174 NONAME ; class QList<enum AgendaRepeatRule::Day> AgendaRepeatRule::byDay(void) const
-	?setLatLong@AgendaGeoValue@@QAEXNN@Z @ 175 NONAME ; void AgendaGeoValue::setLatLong(double, double)
-	?completedDateTime@AgendaEntry@@QBE?AVQDateTime@@XZ @ 176 NONAME ; class QDateTime AgendaEntry::completedDateTime(void) const
-	?setRecurrenceId@AgendaEntry@@QAEXAAVQDateTime@@@Z @ 177 NONAME ; void AgendaEntry::setRecurrenceId(class QDateTime &)
-	?isNull@AgendaGeoValue@@QBE_NXZ @ 178 NONAME ; bool AgendaGeoValue::isNull(void) const
-	?areNoEntriesInCalendar@AgendaUtil@@QAE_NXZ @ 179 NONAME ; bool AgendaUtil::areNoEntriesInCalendar(void)
-	?entryViewCreationCompleted@AgendaUtil@@IAEXH@Z @ 180 NONAME ; void AgendaUtil::entryViewCreationCompleted(int)
-	?instanceViewCreationCompleted@AgendaUtil@@IAEXH@Z @ 181 NONAME ; void AgendaUtil::instanceViewCreationCompleted(int)
-
--- a/agendainterface/eabi/agendainterfaceu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,211 +0,0 @@
-EXPORTS
-	_ZN10AgendaUtil10cloneEntryERK11AgendaEntryNS0_4TypeE @ 1 NONAME
-	_ZN10AgendaUtil10entryAddedEm @ 2 NONAME
-	_ZN10AgendaUtil11deleteEntryEm @ 3 NONAME
-	_ZN10AgendaUtil11parentEntryER11AgendaEntry @ 4 NONAME
-	_ZN10AgendaUtil11qt_metacallEN11QMetaObject4CallEiPPv @ 5 NONAME
-	_ZN10AgendaUtil11qt_metacastEPKc @ 6 NONAME
-	_ZN10AgendaUtil11updateEntryERK11AgendaEntryb @ 7 NONAME
-	_ZN10AgendaUtil12entryDeletedEm @ 8 NONAME
-	_ZN10AgendaUtil12entryUpdatedEm @ 9 NONAME
-	_ZN10AgendaUtil12setCompletedER11AgendaEntrybR9QDateTime @ 10 NONAME
-	_ZN10AgendaUtil13deleteEntriesER9QDateTimeS1_NS_11FilterFlagsE @ 11 NONAME
-	_ZN10AgendaUtil14entriesChangedE5QListImE @ 12 NONAME
-	_ZN10AgendaUtil14entriesDeletedEi @ 13 NONAME
-	_ZN10AgendaUtil15createExceptionERK11AgendaEntry @ 14 NONAME
-	_ZN10AgendaUtil15fetchAllEntriesENS_11FilterFlagsE @ 15 NONAME
-	_ZN10AgendaUtil15importvCalendarERK7QStringR11AgendaEntry @ 16 NONAME
-	_ZN10AgendaUtil16staticMetaObjectE @ 17 NONAME DATA 16
-	_ZN10AgendaUtil17exportAsvCalendarERK7QStringl @ 18 NONAME
-	_ZN10AgendaUtil19deleteRepeatedEntryER11AgendaEntryNS_15RecurrenceRangeE @ 19 NONAME
-	_ZN10AgendaUtil19fetchEntriesInRangeE9QDateTimeS0_NS_11FilterFlagsE @ 20 NONAME
-	_ZN10AgendaUtil19getStaticMetaObjectEv @ 21 NONAME
-	_ZN10AgendaUtil19markDatesWithEventsE9QDateTimeS0_NS_11FilterFlagsER5QListI5QDateE @ 22 NONAME
-	_ZN10AgendaUtil19storeRepeatingEntryERK11AgendaEntryb @ 23 NONAME
-	_ZN10AgendaUtil20getNextInstanceTimesER11AgendaEntryR9QDateTimeS3_ @ 24 NONAME
-	_ZN10AgendaUtil23createEntryIdListForDayE9QDateTimeNS_11FilterFlagsE @ 25 NONAME
-	_ZN10AgendaUtil24clearRepeatingPropertiesER11AgendaEntry @ 26 NONAME
-	_ZN10AgendaUtil24getPreviousInstanceTimesER11AgendaEntryR9QDateTimeS3_ @ 27 NONAME
-	_ZN10AgendaUtil24isWorkdaysRepeatingEntryERK16AgendaRepeatRule @ 28 NONAME
-	_ZN10AgendaUtil7maxTimeEv @ 29 NONAME
-	_ZN10AgendaUtil7minTimeEv @ 30 NONAME
-	_ZN10AgendaUtil8addEntryERK11AgendaEntry @ 31 NONAME
-	_ZN10AgendaUtil8entryIdsENS_11FilterFlagsE @ 32 NONAME
-	_ZN10AgendaUtil9fetchByIdEm @ 33 NONAME
-	_ZN10AgendaUtilC1EP7QObject @ 34 NONAME
-	_ZN10AgendaUtilC2EP7QObject @ 35 NONAME
-	_ZN10AgendaUtilD0Ev @ 36 NONAME
-	_ZN10AgendaUtilD1Ev @ 37 NONAME
-	_ZN10AgendaUtilD2Ev @ 38 NONAME
-	_ZN11AgendaAlarm13setTimeOffsetEi @ 39 NONAME
-	_ZN11AgendaAlarm17setAlarmSoundNameERK7QString @ 40 NONAME
-	_ZN11AgendaAlarm6detachEv @ 41 NONAME
-	_ZN11AgendaAlarmC1ERKS_ @ 42 NONAME
-	_ZN11AgendaAlarmC1Ev @ 43 NONAME
-	_ZN11AgendaAlarmC2ERKS_ @ 44 NONAME
-	_ZN11AgendaAlarmC2Ev @ 45 NONAME
-	_ZN11AgendaAlarmD1Ev @ 46 NONAME
-	_ZN11AgendaAlarmD2Ev @ 47 NONAME
-	_ZN11AgendaAlarmaSERKS_ @ 48 NONAME
-	_ZN11AgendaEntry10categoriesEv @ 49 NONAME
-	_ZN11AgendaEntry10setDTStampERK9QDateTime @ 50 NONAME
-	_ZN11AgendaEntry10setSummaryERK7QString @ 51 NONAME
-	_ZN11AgendaEntry11addAttendeeERK14AgendaAttendee @ 52 NONAME
-	_ZN11AgendaEntry11addCategoryERK14AgendaCategory @ 53 NONAME
-	_ZN11AgendaEntry11isRepeatingEv @ 54 NONAME
-	_ZN11AgendaEntry11setGeoValueERK14AgendaGeoValue @ 55 NONAME
-	_ZN11AgendaEntry11setLocationERK7QString @ 56 NONAME
-	_ZN11AgendaEntry11setPriorityEi @ 57 NONAME
-	_ZN11AgendaEntry12isTimedEntryEv @ 58 NONAME
-	_ZN11AgendaEntry12recurrenceIdEv @ 59 NONAME
-	_ZN11AgendaEntry12setFavouriteEj @ 60 NONAME
-	_ZN11AgendaEntry13setRepeatRuleERK16AgendaRepeatRule @ 61 NONAME
-	_ZN11AgendaEntry14setDescriptionERK7QString @ 62 NONAME
-	_ZN11AgendaEntry15setRecurrenceIdER9QDateTime @ 63 NONAME
-	_ZN11AgendaEntry18setStartAndEndTimeERK9QDateTimeS2_ @ 64 NONAME
-	_ZN11AgendaEntry20setCompletedDateTimeERK9QDateTime @ 65 NONAME
-	_ZN11AgendaEntry23setLastModifiedDateTimeERK9QDateTime @ 66 NONAME
-	_ZN11AgendaEntry6detachEv @ 67 NONAME
-	_ZN11AgendaEntry7setTypeENS_4TypeE @ 68 NONAME
-	_ZN11AgendaEntry8setAlarmERK11AgendaAlarm @ 69 NONAME
-	_ZN11AgendaEntry9attendeesEv @ 70 NONAME
-	_ZN11AgendaEntry9setMethodENS_6MethodE @ 71 NONAME
-	_ZN11AgendaEntry9setRDatesERK5QListI5QDateE @ 72 NONAME
-	_ZN11AgendaEntry9setStatusENS_6StatusE @ 73 NONAME
-	_ZN11AgendaEntryC1ENS_4TypeE @ 74 NONAME
-	_ZN11AgendaEntryC1ERKS_ @ 75 NONAME
-	_ZN11AgendaEntryC1Ev @ 76 NONAME
-	_ZN11AgendaEntryC2ENS_4TypeE @ 77 NONAME
-	_ZN11AgendaEntryC2ERKS_ @ 78 NONAME
-	_ZN11AgendaEntryC2Ev @ 79 NONAME
-	_ZN11AgendaEntryD0Ev @ 80 NONAME
-	_ZN11AgendaEntryD1Ev @ 81 NONAME
-	_ZN11AgendaEntryD2Ev @ 82 NONAME
-	_ZN11AgendaEntryaSERKS_ @ 83 NONAME
-	_ZN14AgendaAttendee10setAddressERK7QString @ 84 NONAME
-	_ZN14AgendaAttendee13setCommonNameERK7QString @ 85 NONAME
-	_ZN14AgendaAttendee20setResponseRequestedEb @ 86 NONAME
-	_ZN14AgendaAttendee6detachEv @ 87 NONAME
-	_ZN14AgendaAttendee7setRoleENS_15ParticipantRoleE @ 88 NONAME
-	_ZN14AgendaAttendee9setStatusENS_10StatusTypeE @ 89 NONAME
-	_ZN14AgendaAttendeeC1ERK7QString @ 90 NONAME
-	_ZN14AgendaAttendeeC1ERKS_ @ 91 NONAME
-	_ZN14AgendaAttendeeC1Ev @ 92 NONAME
-	_ZN14AgendaAttendeeC2ERK7QString @ 93 NONAME
-	_ZN14AgendaAttendeeC2ERKS_ @ 94 NONAME
-	_ZN14AgendaAttendeeC2Ev @ 95 NONAME
-	_ZN14AgendaAttendeeD0Ev @ 96 NONAME
-	_ZN14AgendaAttendeeD1Ev @ 97 NONAME
-	_ZN14AgendaAttendeeD2Ev @ 98 NONAME
-	_ZN14AgendaAttendeeaSERKS_ @ 99 NONAME
-	_ZN14AgendaCategory11setCategoryENS_12CategoryTypeE @ 100 NONAME
-	_ZN14AgendaCategory23setExtendedCategoryNameERK7QString @ 101 NONAME
-	_ZN14AgendaCategory6detachEv @ 102 NONAME
-	_ZN14AgendaCategoryC1ENS_12CategoryTypeE @ 103 NONAME
-	_ZN14AgendaCategoryC1ERKS_ @ 104 NONAME
-	_ZN14AgendaCategoryC1Ev @ 105 NONAME
-	_ZN14AgendaCategoryC2ENS_12CategoryTypeE @ 106 NONAME
-	_ZN14AgendaCategoryC2ERKS_ @ 107 NONAME
-	_ZN14AgendaCategoryC2Ev @ 108 NONAME
-	_ZN14AgendaCategoryD0Ev @ 109 NONAME
-	_ZN14AgendaCategoryD1Ev @ 110 NONAME
-	_ZN14AgendaCategoryD2Ev @ 111 NONAME
-	_ZN14AgendaCategoryaSERKS_ @ 112 NONAME
-	_ZN14AgendaGeoValue10setLatLongEdd @ 113 NONAME
-	_ZN14AgendaGeoValue6detachEv @ 114 NONAME
-	_ZN14AgendaGeoValueC1ERKS_ @ 115 NONAME
-	_ZN14AgendaGeoValueC1Ev @ 116 NONAME
-	_ZN14AgendaGeoValueC2ERKS_ @ 117 NONAME
-	_ZN14AgendaGeoValueC2Ev @ 118 NONAME
-	_ZN14AgendaGeoValueD1Ev @ 119 NONAME
-	_ZN14AgendaGeoValueD2Ev @ 120 NONAME
-	_ZN14AgendaGeoValueaSERKS_ @ 121 NONAME
-	_ZN16AgendaRepeatRule10setByMonthERK5QListINS_5MonthEE @ 122 NONAME
-	_ZN16AgendaRepeatRule11setIntervalEi @ 123 NONAME
-	_ZN16AgendaRepeatRule12setWeekStartENS_3DayE @ 124 NONAME
-	_ZN16AgendaRepeatRule13setByMonthDayERK5QListIiE @ 125 NONAME
-	_ZN16AgendaRepeatRule18setRepeatRuleStartERK9QDateTime @ 126 NONAME
-	_ZN16AgendaRepeatRule6detachEv @ 127 NONAME
-	_ZN16AgendaRepeatRule7setTypeENS_8RuleTypeE @ 128 NONAME
-	_ZN16AgendaRepeatRule8setByDayERK5QListINS_3DayEE @ 129 NONAME
-	_ZN16AgendaRepeatRule8setUntilERK9QDateTime @ 130 NONAME
-	_ZN16AgendaRepeatRuleC1ENS_8RuleTypeE @ 131 NONAME
-	_ZN16AgendaRepeatRuleC1ERKS_ @ 132 NONAME
-	_ZN16AgendaRepeatRuleC1Ev @ 133 NONAME
-	_ZN16AgendaRepeatRuleC2ENS_8RuleTypeE @ 134 NONAME
-	_ZN16AgendaRepeatRuleC2ERKS_ @ 135 NONAME
-	_ZN16AgendaRepeatRuleC2Ev @ 136 NONAME
-	_ZN16AgendaRepeatRuleD1Ev @ 137 NONAME
-	_ZN16AgendaRepeatRuleD2Ev @ 138 NONAME
-	_ZN16AgendaRepeatRuleaSERKS_ @ 139 NONAME
-	_ZNK10AgendaUtil10metaObjectEv @ 140 NONAME
-	_ZNK10AgendaUtil5errorEv @ 141 NONAME
-	_ZNK11AgendaAlarm10timeOffsetEv @ 142 NONAME
-	_ZNK11AgendaAlarm14alarmSoundNameEv @ 143 NONAME
-	_ZNK11AgendaAlarm6isNullEv @ 144 NONAME
-	_ZNK11AgendaAlarmeqERKS_ @ 145 NONAME
-	_ZNK11AgendaAlarmneERKS_ @ 146 NONAME
-	_ZNK11AgendaEntry10categoriesEv @ 147 NONAME
-	_ZNK11AgendaEntry10repeatRuleEv @ 148 NONAME
-	_ZNK11AgendaEntry11descriptionEv @ 149 NONAME
-	_ZNK11AgendaEntry14durationInSecsEv @ 150 NONAME
-	_ZNK11AgendaEntry17completedDateTimeEv @ 151 NONAME
-	_ZNK11AgendaEntry20lastModifiedDateTimeEv @ 152 NONAME
-	_ZNK11AgendaEntry2idEv @ 153 NONAME
-	_ZNK11AgendaEntry4typeEv @ 154 NONAME
-	_ZNK11AgendaEntry5alarmEv @ 155 NONAME
-	_ZNK11AgendaEntry6isNullEv @ 156 NONAME
-	_ZNK11AgendaEntry6methodEv @ 157 NONAME
-	_ZNK11AgendaEntry6rDatesEv @ 158 NONAME
-	_ZNK11AgendaEntry6statusEv @ 159 NONAME
-	_ZNK11AgendaEntry7dtStampEv @ 160 NONAME
-	_ZNK11AgendaEntry7endTimeEv @ 161 NONAME
-	_ZNK11AgendaEntry7summaryEv @ 162 NONAME
-	_ZNK11AgendaEntry8geoValueEv @ 163 NONAME
-	_ZNK11AgendaEntry8locationEv @ 164 NONAME
-	_ZNK11AgendaEntry8priorityEv @ 165 NONAME
-	_ZNK11AgendaEntry9attendeesEv @ 166 NONAME
-	_ZNK11AgendaEntry9favouriteEv @ 167 NONAME
-	_ZNK11AgendaEntry9startTimeEv @ 168 NONAME
-	_ZNK11AgendaEntryeqERKS_ @ 169 NONAME
-	_ZNK11AgendaEntryneERKS_ @ 170 NONAME
-	_ZNK14AgendaAttendee10commonNameEv @ 171 NONAME
-	_ZNK14AgendaAttendee17responseRequestedEv @ 172 NONAME
-	_ZNK14AgendaAttendee4roleEv @ 173 NONAME
-	_ZNK14AgendaAttendee6isNullEv @ 174 NONAME
-	_ZNK14AgendaAttendee6statusEv @ 175 NONAME
-	_ZNK14AgendaAttendee7addressEv @ 176 NONAME
-	_ZNK14AgendaAttendeeeqERKS_ @ 177 NONAME
-	_ZNK14AgendaAttendeeneERKS_ @ 178 NONAME
-	_ZNK14AgendaCategory20extendedCategoryNameEv @ 179 NONAME
-	_ZNK14AgendaCategory6isNullEv @ 180 NONAME
-	_ZNK14AgendaCategory8categoryEv @ 181 NONAME
-	_ZNK14AgendaCategoryeqERKS_ @ 182 NONAME
-	_ZNK14AgendaCategoryneERKS_ @ 183 NONAME
-	_ZNK14AgendaGeoValue10getLatLongERdS0_ @ 184 NONAME
-	_ZNK14AgendaGeoValue6isNullEv @ 185 NONAME
-	_ZNK14AgendaGeoValueeqERKS_ @ 186 NONAME
-	_ZNK14AgendaGeoValueneERKS_ @ 187 NONAME
-	_ZNK16AgendaRepeatRule10byMonthDayEv @ 188 NONAME
-	_ZNK16AgendaRepeatRule15repeatRuleStartEv @ 189 NONAME
-	_ZNK16AgendaRepeatRule4typeEv @ 190 NONAME
-	_ZNK16AgendaRepeatRule5byDayEv @ 191 NONAME
-	_ZNK16AgendaRepeatRule5untilEv @ 192 NONAME
-	_ZNK16AgendaRepeatRule6isNullEv @ 193 NONAME
-	_ZNK16AgendaRepeatRule7byMonthEv @ 194 NONAME
-	_ZNK16AgendaRepeatRule8intervalEv @ 195 NONAME
-	_ZNK16AgendaRepeatRule9weekStartEv @ 196 NONAME
-	_ZNK16AgendaRepeatRuleeqERKS_ @ 197 NONAME
-	_ZNK16AgendaRepeatRuleneERKS_ @ 198 NONAME
-	_ZTI10AgendaUtil @ 199 NONAME
-	_ZTI11AgendaEntry @ 200 NONAME
-	_ZTI14AgendaAttendee @ 201 NONAME
-	_ZTI14AgendaCategory @ 202 NONAME
-	_ZTV10AgendaUtil @ 203 NONAME
-	_ZTV11AgendaEntry @ 204 NONAME
-	_ZTV14AgendaAttendee @ 205 NONAME
-	_ZTV14AgendaCategory @ 206 NONAME
-	_ZN10AgendaUtil22areNoEntriesInCalendarEv @ 207 NONAME
-	_ZN10AgendaUtil26entryViewCreationCompletedEi @ 208 NONAME
-	_ZN10AgendaUtil29instanceViewCreationCompletedEi @ 209 NONAME
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/agendainterface/inc/CleanupResetAndDestroy.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,82 @@
+/*
+* Copyright (c) 2005 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"
+* which accompanies this distribution, and is available
+* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* 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 
+ *
+*/
+
+
+
+#ifndef __CLEANUPRESETANDDESTROY_H__
+#define __CLEANUPRESETANDDESTROY_H__
+
+/**
+ *  A utility class used by the templated function CleanupResetAndDestroyPushL() 
+ *  to create a TCleanupItem item that will perform a close type operation on
+ *  the class T type object.
+ **/
+template <class T>
+class CleanupResetAndDestroy
+{
+ public:
+    inline static void PushL(T& aRef);
+
+ private:
+    static void ResetAndDestroy(TAny *aPtr);
+
+};
+
+/**
+ *  Constructs and pushes a TCleanupItem object onto the cleanup stack.
+ *  
+ *  The TCleanupItem encapsulates:
+ *
+ *  1. a reference aRef to the object of type class T which is to be cleaned up
+ *  2. an associated cleanup operation.
+ *  
+ *  The cleanup operation is the private static function ResetAndDestroy() of 
+ *  the templated class CleanupResetAndDestroy and is invoked as a result of 
+ *  a subsequent call to CleanupStack::PopAndDestroy().
+ *  
+ *  CleanupResetAndDestroy::ResetAndDestroy() is passed a pointer to the 
+ *  class T object to be cleaned up, and the function implements cleanup by 
+ *  calling ResetAndDestroy() on the passed object.
+ *  The class T object must, therefore, define and implement (or inherit) a 
+ *  ResetAndDestroy() member function.
+ *
+ *  RPointerArray<HBufC> buffers;
+ *  CleanupResetAndDestroyPushL( buffers );
+ *  buffers.Append( HBufC::NewL(100) );
+ *  ...
+ *  CleanupStack::PopAndDestroy(); // <--- results in ResetAndDestroy() being called on "buffers".
+ *  ...
+ *  @endcode
+ *  
+ *  @param aRef A reference to a class T type object for which the cleanup item is being created.
+ *  @see TCleanupItem
+ *  @see CleanupResetAndDestroy
+ *  @see CleanupStack::PopAndDestroy()
+ **/
+template <class T>
+inline void CleanupResetAndDestroyPushL(T& aRef);
+
+#include "CleanupResetAndDestroy.inl"
+
+
+#endif //__CLEANUPRESETANDDESTROY_H__
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/agendainterface/inc/CleanupResetAndDestroy.inl	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,60 @@
+/*
+* Copyright (c) 2002-2004 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"
+* which accompanies this distribution, and is available
+* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* 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   
+*
+*/
+
+
+
+#include "CleanupResetAndDestroy.h"
+
+
+/**
+ *  Creates a TCleanupItem for the specified object.
+ *  The cleanup operation is the private static function ResetAndDestroy() of this class.
+ *  @param aRef The object for which a TCleanupItem is to be constructed.
+ **/
+template <class T>
+inline void CleanupResetAndDestroy<T>::PushL(T& aRef)
+{
+    CleanupStack::PushL( TCleanupItem( &ResetAndDestroy, &aRef ) );
+}
+
+/**
+ *  The cleanup operation to be performed.
+ *  @param aPtr A pointer to the object for which clean up is to be performed. 
+ *              The implementation calls ResetAndDestroy() on this object.
+ **/
+template <class T>
+void CleanupResetAndDestroy<T>::ResetAndDestroy(TAny *aPtr)
+{
+    static_cast<T*>( aPtr )->ResetAndDestroy();
+}
+
+/**
+ *  See header file CleanupResetAndDestroy.h for in-source comment.
+ *
+ **/
+template <class T>
+inline void CleanupResetAndDestroyPushL(T& aRef)
+{
+    CleanupResetAndDestroy<T>::PushL( aRef );
+}
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/agendainterface/tsrc/tsrc.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,20 @@
+#  
+# 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:
+# This is the project specification file for agendaInterface test code
+#
+
+# include test components here
+
+# End of file	--Don't remove this
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/alarmui/alarmalertwidget/alarmalertinterface/bwins/alarmalertwidgetu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,7 @@
+EXPORTS
+	?updateAlarmAlert@AlarmAlert@@QAE_NPAUSAlarmInfo@@@Z @ 1 NONAME ; bool AlarmAlert::updateAlarmAlert(struct SAlarmInfo *)
+	?dismissAlarmAlert@AlarmAlert@@QAEXXZ @ 2 NONAME ; void AlarmAlert::dismissAlarmAlert(void)
+	??0AlarmAlert@@QAE@PAVAlarmAlertObserver@@@Z @ 3 NONAME ; AlarmAlert::AlarmAlert(class AlarmAlertObserver *)
+	?showAlarmAlert@AlarmAlert@@QAE_NPAUSAlarmInfo@@@Z @ 4 NONAME ; bool AlarmAlert::showAlarmAlert(struct SAlarmInfo *)
+	??1AlarmAlert@@QAE@XZ @ 5 NONAME ; AlarmAlert::~AlarmAlert(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/alarmui/alarmalertwidget/alarmalertinterface/eabi/alarmalertwidgetu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,9 @@
+EXPORTS
+	_ZN10AlarmAlert14showAlarmAlertEP10SAlarmInfo @ 1 NONAME
+	_ZN10AlarmAlert16updateAlarmAlertEP10SAlarmInfo @ 2 NONAME
+	_ZN10AlarmAlert17dismissAlarmAlertEv @ 3 NONAME
+	_ZN10AlarmAlertC1EP18AlarmAlertObserver @ 4 NONAME
+	_ZN10AlarmAlertC2EP18AlarmAlertObserver @ 5 NONAME
+	_ZN10AlarmAlertD1Ev @ 6 NONAME
+	_ZN10AlarmAlertD2Ev @ 7 NONAME
+
--- a/alarmui/alarmalertwidget/alarmalertinterface/inc/alarmalertwidget.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/alarmui/alarmalertwidget/alarmalertinterface/inc/alarmalertwidget.h	Thu Jul 22 16:32:51 2010 +0100
@@ -11,7 +11,7 @@
 *
 * Contributors:
 *
-* Description: 
+* Description:
 *
 */
 // alarmalertwidget.h
@@ -21,15 +21,16 @@
 
 // System includes
 #include <QObject>
-#include <QVariantMap>
-#include <QDateTime>
+#include <hbdevicedialogsymbian.h>
 
 // User includes
 #include "alarmcommon.h"
 
 // Forward declarations
-class HbDeviceDialog;
+class CHbDeviceDialogSymbian;
 class AlarmAlertObserver;
+class CHbSymbianVariantMap;
+class CHbSymbianVariant;
 
 // Class declaration
 /**
@@ -37,10 +38,8 @@
  * @brief This is the client side of the device dialog plugin.
  * Contains API's to show, update and dismiss alarm dialogs
  */
-class AlarmAlertWidget : public QObject
+class AlarmAlertWidget : public MHbDeviceDialogObserver
 {
-Q_OBJECT
-
 public:
 
     /**
@@ -48,93 +47,118 @@
      * @param observer This is the observer of all user events
      */
 	AlarmAlertWidget(AlarmAlertObserver *observer);
-	
+
 	/**
 	 * @brief Destructor
 	 */
 	~AlarmAlertWidget();
-	
+
 	/**
 	 * @brief Shows the alarm dialog
 	 * @param The alarm information to display
 	 * @return true on success, false otherwise
 	 */
 	bool showAlarmDialog(SAlarmInfo *alarmInfo);
-	
+
 	/**
 	 * @brief Dismisses any alarm dialog that is being shown
 	 * @return true on success, false otherwise
 	 */
-	bool dismissAlarmDialog();
-	
+	void dismissAlarmDialog();
+
 	/**
 	 * @brief Updates the alarm dialog with new information
 	 * @param The alarm information to update
 	 * @return true on success, false otherwise
 	 */
 	bool updateAlarmDialog(SAlarmInfo *alarmInfo);
+
+public:
 	
-private slots:
+    /**
+     * @brief Inform the client about user interaction on dialog.
+     * @param List of aruguemnts the dialog has sent.
+     */
+	void DataReceived(CHbSymbianVariantMap& aData);
+
+	/**
+	 * @brief Updates the alarm dialog with new information
+	 * @param The alarm information to update
+	 */
+	void DeviceDialogClosed(TInt aCompletionCode);
+
+private:
+    /**
+     * @brief Handle the events sent by dialog.
+     * @param params List of arguments the dialog has sent
+     */
+    void triggerAction(const CHbSymbianVariant* source);
+
+private:
 
     /**
-     * @brief Slot to handle user interactions
-     * @param params List of arguments the dialog has sent 
+     * @var mVariantMap
+     * @brief Contain the parameters.
      */
-    void triggerAction(QVariantMap params);
-	
-private:
-    
+     CHbSymbianVariantMap* mVariantMap;
+
 	/**
 	 * @var mSubject
 	 * @brief Holds the alarm subject
 	 */
-    QString mSubject;
-    
+    CHbSymbianVariant* mAlarmSubject;
+
     /**
      * @var mLocation
      * @brief Holds the alarm location (for calendar alerts only)
      */
-    QString mLocation;
-    
+    CHbSymbianVariant* mLocation;
+
     /**
      * @var mAlarmTime
      * @brief Holds the alarm expiry time
      */
-    QDateTime mAlarmTime;
+    CHbSymbianVariant* mAlarmTime;
     
     /**
+     * @var mAlarmDate
+     * @brief Holds the alarm expiry date
+     */
+    CHbSymbianVariant* mAlarmDate;
+
+    /**
      * @var mDeviceDialog
      * @brief The interface to the device dialog server
      */
-    HbDeviceDialog *mDeviceDialog;
-    
+    CHbDeviceDialogSymbian *mDeviceDialog;
+
     /**
      * @var mAlarmAlertType
      * @brief Tells if the type of alert being displayed
      * is a clock /calendar/to-do alert
      */
-    int mAlarmAlertType;
-    
+    CHbSymbianVariant* mAlarmAlertType;
+
     /**
      * @var mCanSnooze
      * @brief Tells whether the current alert can be snoozed.
      * true->alarm can be snoozed
      * false->alarm cannot be snoozed
      */
-    bool mCanSnooze;
-    
+    CHbSymbianVariant* mCanSnooze;
+
     /**
      * @var mIsSilent
      * @brief Indicates if the alarm is silent or not
      */
-    bool mIsSilent;
-    
+    CHbSymbianVariant* mIsSilent;
+
     /**
      * @var mIsTimedAlarm
      * @brief Indicates if the alarm has time info or not
      */
-    bool mIsTimedAlarm;
-    
+    CHbSymbianVariant* mIsTimedAlarm;
+
     /**
      * @var mObserver
      * @brief The observer for user responses
--- a/alarmui/alarmalertwidget/alarmalertinterface/inc/alarmalertwrapper.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/alarmui/alarmalertwidget/alarmalertinterface/inc/alarmalertwrapper.h	Thu Jul 22 16:32:51 2010 +0100
@@ -74,10 +74,9 @@
 	 * AlarmAlertObserver::alertCancelled is called once the
 	 * alert is cancelled successfully
 	 * 
-	 * @return true on success, false otherwise
 	 */
-	IMPORT_C bool dismissAlarmAlert();
-	
+	IMPORT_C void dismissAlarmAlert();
+
 	/**
 	 * @brief Updates the alarm alert with the information
 	 * provided
--- a/alarmui/alarmalertwidget/alarmalertinterface/src/alarmalertwidget.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/alarmui/alarmalertwidget/alarmalertinterface/src/alarmalertwidget.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -11,21 +11,22 @@
 *
 * Contributors:
 *
-* Description: 
+* Description:
 *
 */
 // alarmalertwidget.cpp
 
 // System includes
-#include <QDateTime>
-#include <hbdevicedialog.h>
-#include <QDebug>
+#include <hbsymbianvariant.h>
 
 // User includes
 #include "alarmalertwidget.h"
 #include "alarmalert.h"
 #include "alarmalertobserver.h"
 
+// Constants.
+const TInt KMaxlength=30;
+
 // ---------------------------------------------------------
 // AlarmAlertWidget::AlarmAlertWidget
 // rest of the details are commented in the header
@@ -34,11 +35,6 @@
 AlarmAlertWidget::AlarmAlertWidget(AlarmAlertObserver *observer) :
     mObserver(observer)
 {
-    // Create a session with the device dialog server
-    mDeviceDialog = new HbDeviceDialog(HbDeviceDialog::NoFlags, this);
-    
-    // Connect to signals to receive events sent by the dialog
-    connect(mDeviceDialog, SIGNAL(dataReceived(QVariantMap)), this, SLOT(triggerAction(QVariantMap)));
 }
 
 // ---------------------------------------------------------
@@ -48,10 +44,47 @@
 //
 AlarmAlertWidget::~AlarmAlertWidget()
 {
-    // Cleanup
-    if (mDeviceDialog) {
-       delete mDeviceDialog; 
-    }
+	// Cleanup
+	
+	if (mAlarmSubject) {
+		delete mAlarmSubject;
+	}
+
+	if (mLocation) {
+		delete mLocation;
+	}
+
+	if (mAlarmTime) {
+		delete mAlarmTime;
+	}
+	
+	if (mAlarmDate) {
+        delete mAlarmDate;
+	}
+
+	if (mAlarmAlertType) {
+		delete mAlarmAlertType;
+	}
+
+	if (mCanSnooze) {
+		delete mCanSnooze;
+	}
+
+	if (mIsSilent) {
+		delete mIsSilent;
+	}
+
+	if (mIsTimedAlarm) {
+		delete mIsTimedAlarm;
+	}
+
+	if (mVariantMap) {
+		delete mVariantMap;
+	}
+
+	if (mDeviceDialog) {
+		delete mDeviceDialog;
+	}
 }
 
 // ---------------------------------------------------------
@@ -61,40 +94,77 @@
 //
 bool AlarmAlertWidget::showAlarmDialog(SAlarmInfo *alarmInfo)
 {
-    // Get the subject of the alarm (description for clock alarms
-    // and subject for calendar alarms)
-	mSubject = QString::fromUtf16(alarmInfo->iSubject->Ptr(),
-	                                     alarmInfo->iSubject->Length());
+	// Get the alarm date and time
+    TBuf<KMaxlength> timeString;
+    TBuf<KMaxlength> dateString;
+    
+    TBuf<KMaxlength> timeFormat(_L("%-B%:0%J%:1%T%:3%+B"));
+    TBuf<KMaxlength> dateFormat;
+    TLocale locale;
+    switch (locale.DateFormat()) {
+        case EDateEuropean:
+            dateFormat.Copy(_L("%F%/0%D%/1%M%/2%Y%/3"));
+            break;
+        case EDateAmerican:
+            dateFormat.Copy(_L("%F%/0%M%/1%D%/2%Y%/3"));
+            break;
+        case EDateJapanese:
+            dateFormat.Copy(_L("%F%/0%Y%/1%M%/2%D%/3"));
+            break;
+        default:
+            // Nothing yet.
+            break;
+        }
+
 	
-	// Get the location (for calendar alarms)
-	mLocation = QString::fromUtf16(alarmInfo->iLocation->Ptr(),
-	                                      alarmInfo->iLocation->Length());
+	alarmInfo->iTime.FormatL(timeString, timeFormat);
+	alarmInfo->iTime.FormatL(dateString, dateFormat); 
+
+	// Create a session with the device dialog server
+    mDeviceDialog = CHbDeviceDialogSymbian::NewL();
 	
-	// Get the alarm date and time
-	// TODO: Check QDateTime to TTime compatibility
-	mAlarmTime.setTime(QTime(alarmInfo->iTime.DateTime().Hour(),
-	                        alarmInfo->iTime.DateTime().Minute(),
-	                        alarmInfo->iTime.DateTime().Second()));
-	mAlarmTime.setDate(QDate(alarmInfo->iDate.DateTime().Year(),
-                            alarmInfo->iDate.DateTime().Month(),
-                            alarmInfo->iDate.DateTime().Day()));
+
+    // Package the different parameters to send
+	mVariantMap = CHbSymbianVariantMap::NewL();
+
+	// Get the subject of the alarm (description for clock alarms
+	// and subject for calendar alarms)
+	mAlarmSubject = CHbSymbianVariant::NewL(
+			alarmInfo->iSubject, CHbSymbianVariant::EDes );
+	mVariantMap->Add(alarmSubjectSymbian, mAlarmSubject);
+
+	// Get the location (for calendar alarms)
+	mLocation = CHbSymbianVariant::NewL(
+			alarmInfo->iLocation, CHbSymbianVariant::EDes);
+	mVariantMap->Add(alarmLocationSymbian, mLocation);
+
+	mAlarmTime = CHbSymbianVariant::NewL(
+	        &timeString, CHbSymbianVariant::EDes);
+	mVariantMap->Add(alarmTimeSymbian, mAlarmTime);
 	
-	mCanSnooze = alarmInfo->iCanSnooze;
-	mIsSilent = alarmInfo->iIsSilent;
-	mAlarmAlertType = alarmInfo->iAlarmAlertType;
-	mIsTimedAlarm = alarmInfo->iIsTimed;
+	mAlarmDate = CHbSymbianVariant::NewL(
+	        &dateString, CHbSymbianVariant::EDes);
+	mVariantMap->Add(alarmDateSymbian, mAlarmDate);
+	    
+	mIsSilent = CHbSymbianVariant::NewL(
+			&alarmInfo->iIsSilent, CHbSymbianVariant::EBool);
+	mVariantMap->Add(alarmRingingTypeSymbian, mIsSilent);
+
+	mCanSnooze = CHbSymbianVariant::NewL(
+			&alarmInfo->iCanSnooze, CHbSymbianVariant::EBool);
+	mVariantMap->Add(alarmCanSnoozeSymbain, mCanSnooze);
+
+	mAlarmAlertType = CHbSymbianVariant::NewL(
+			&alarmInfo->iAlarmAlertType, CHbSymbianVariant::EInt);
+	mVariantMap->Add(alarmTypeSymbian, mAlarmAlertType);
+
+	mIsTimedAlarm = CHbSymbianVariant::NewL(
+			&alarmInfo->iIsTimed, CHbSymbianVariant::EBool);
+	mVariantMap->Add(alarmIsTimedSymbian, mIsTimedAlarm);
+
+	// Package the different parameters to send
+	return mDeviceDialog->Show(ALARM_ALERT_PLUGIN_SYMBIAN, *mVariantMap, this);
 	
-    // Package the different parameters to send
-	QVariantMap params;
-	params.insert(alarmSubject, mSubject);
-	params.insert(alarmLocation, mLocation);
-	params.insert(alarmDateTime, mAlarmTime);
-	params.insert(alarmRingingType, mIsSilent);
-	params.insert(alarmCanSnooze, mCanSnooze);
-	params.insert(alarmType, mAlarmAlertType);
-	params.insert(alarmIsTimed, mIsTimedAlarm);
-
-	return mDeviceDialog->show(ALARM_ALERT_PLUGIN, params);
 }
 
 // ---------------------------------------------------------
@@ -102,10 +172,10 @@
 // rest of the details are commented in the header
 // ---------------------------------------------------------
 //
-bool AlarmAlertWidget::dismissAlarmDialog()
+void AlarmAlertWidget::dismissAlarmDialog()
 {
     // Dismiss the dialog
-    return mDeviceDialog->cancel();
+    mDeviceDialog->Cancel();
 }
 
 // ---------------------------------------------------------
@@ -113,13 +183,37 @@
 // rest of the details are commented in the header
 // ---------------------------------------------------------
 //
-bool AlarmAlertWidget::updateAlarmDialog(SAlarmInfo* alarmInfo)
+bool AlarmAlertWidget::updateAlarmDialog(SAlarmInfo* /*alarmInfo*/)
 {
-    Q_UNUSED(alarmInfo);
     // Update the dialog with any new information
     // TODO: Pass the updated information sent by the observer
-    QVariantMap params;
-    return mDeviceDialog->update(params);
+    /*CHbSymbianVariantMap params;
+    mDeviceDialog->Update(params);*/
+    return false;
+}
+
+// ---------------------------------------------------------
+// AlarmAlertWidget::DataReceived
+// rest of the details are commented in the header
+// ---------------------------------------------------------
+//
+void AlarmAlertWidget::DataReceived(CHbSymbianVariantMap& aData)
+{
+    if (!aData.Keys().MdcaCount()) {
+        return;
+    }
+    
+    triggerAction(aData.Get(alarmCommandSymbian));
+}
+
+// ---------------------------------------------------------
+// AlarmAlertWidget::DeviceDialogClosed
+// rest of the details are commented in the header
+// ---------------------------------------------------------
+//
+void AlarmAlertWidget::DeviceDialogClosed(TInt /*aCompletionCode*/)
+{
+  
 }
 
 // ---------------------------------------------------------
@@ -127,33 +221,28 @@
 // rest of the details are commented in the header
 // ---------------------------------------------------------
 //
-void AlarmAlertWidget::triggerAction(QVariantMap params)
+void AlarmAlertWidget::triggerAction(const CHbSymbianVariant* source)
 {
-    // Check what is the command being sent by the dialog
-    // Based on that, update the command to be sent
-    QVariantMap::const_iterator iter = params.find(alarmCommand);
-    if (iter != params.constEnd()) {
-        AlarmCommand command(AlarmCmdLast);
-        if (iter.value().toInt() == Stop) {
-            command = AlarmStop;
-        }
-        else if (iter.value().toInt() == Snooze) {
-            command = AlarmSnooze;
-        }
-        else if (iter.value().toInt() == Silence) {
-            command = AlarmSilence;
-        } else if (iter.value().toInt() == Shown) {
-			command = AlarmShown;
-			mObserver->alertDisplayed(command);
-			return;
-		} else {
-		    command = AlarmCmdLast;
-		}
-        if (command != AlarmCmdLast) {
-            // Notify the observer with the command
-            mObserver->alertCompleted(command);        	
-        }
-        	
-    }
+       AlarmCommand command(AlarmCmdLast);
+       
+       if (*source->Value<TInt>() == Stop) {    
+       command = AlarmStop;    
+       } else if (*source->Value<TInt>() == Snooze) {
+       command = AlarmSnooze;
+       } else if (*source->Value<TInt>() == Silence) {
+       command = AlarmSilence;
+       } else if (*source->Value<TInt>() == Shown) {
+       command = AlarmShown;
+       mObserver->alertDisplayed(command);
+       return;
+       } else {
+       command = AlarmCmdLast;
+       }
+       
+       if (command != AlarmCmdLast) {
+       // Notify the observer with the command
+       mObserver->alertCompleted(command);
+       }
 }
+
 // End of file  --Don't remove this.
--- a/alarmui/alarmalertwidget/alarmalertinterface/src/alarmalertwrapper.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/alarmui/alarmalertwidget/alarmalertinterface/src/alarmalertwrapper.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -60,10 +60,10 @@
 // rest of the details are commented in the header
 // ---------------------------------------------------------
 //
-EXPORT_C bool AlarmAlert::dismissAlarmAlert()
+EXPORT_C void AlarmAlert::dismissAlarmAlert()
 {
     // Forward the call to the client
-	return mAlarmWidget->dismissAlarmDialog();
+	mAlarmWidget->dismissAlarmDialog();
 }
 
 // ---------------------------------------------------------
--- a/alarmui/alarmalertwidget/alarmalertplugin/alarmalertplugin.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/alarmui/alarmalertwidget/alarmalertplugin/alarmalertplugin.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -31,3 +31,7 @@
 			alarmalertdocloader.cpp
 
 RESOURCES += alarmalert.qrc
+
+TRANSLATIONS += alarmui.ts
+
+# End of file   --Don't remove this.
--- a/alarmui/alarmalertwidget/alarmalertplugin/data/alarmalert.qrc	Tue Jun 15 15:22:54 2010 +0100
+++ b/alarmui/alarmalertwidget/alarmalertplugin/data/alarmalert.qrc	Thu Jul 22 16:32:51 2010 +0100
@@ -7,7 +7,4 @@
 		<file alias="alarmalert_clock_unlocked.docml">xml/alarmalert_clock_unlocked.docml</file>
 		<file alias="alarmalert_todo_unlocked.docml">xml/alarmalert_todo_unlocked.docml</file>
 	</qresource>
-	<qresource prefix="/translations">
-		<file alias="alarmui_en_GB">alarmui_en_GB.qm</file>
-	</qresource>
 </RCC>
\ No newline at end of file
Binary file alarmui/alarmalertwidget/alarmalertplugin/data/alarmui_en_GB.qm has changed
--- a/alarmui/alarmalertwidget/alarmalertplugin/inc/alarmalert.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/alarmui/alarmalertwidget/alarmalertplugin/inc/alarmalert.h	Thu Jul 22 16:32:51 2010 +0100
@@ -11,7 +11,7 @@
 *
 * Contributors:
 *
-* Description: 
+* Description:
 *
 */
 // alarmalert.h
@@ -21,30 +21,45 @@
 
 // The plugin name. Do not remove the "com.nokia.hb" part.
 const QString ALARM_ALERT_PLUGIN("com.nokia.hb.alarmalertdialog");
+_LIT(ALARM_ALERT_PLUGIN_SYMBIAN, "com.nokia.hb.alarmalertdialog");
 
 // The string identifier for command
 const QString alarmCommand("command");
+_LIT(alarmCommandSymbian, "command");
 
 // The string identifier for alarm subject
 const QString alarmSubject("subject");
+_LIT(alarmSubjectSymbian, "subject");
 
 // The string identifier for alarm location
 const QString alarmLocation("location");
+_LIT(alarmLocationSymbian, "location");
 
-// The string identifier for alarm date and time
-const QString alarmDateTime("dateTime");
+// The string identifier for alarm time
+const QString alarmTime("time");
+_LIT(alarmTimeSymbian, "time");
+
+// The string identifier for alarm date.
+const QString alarmDate("date");
+_LIT(alarmDateSymbian, "date");
+
+// The string identifier for alarm time
 
 // The string identifier for alarm type
 const QString alarmType("type");
+_LIT(alarmTypeSymbian, "type");
 
 // The string identifier for alarm ringing type
 const QString alarmRingingType("ringingType");
+_LIT(alarmRingingTypeSymbian, "ringingType");
 
 // The string identifier for alarm snoozability
 const QString alarmCanSnooze("canSnooze");
+_LIT(alarmCanSnoozeSymbain, "canSnooze");
 
 // The string identifier for checking the nontimed alarms
 const QString alarmIsTimed("isTimed");
+_LIT(alarmIsTimedSymbian, "isTimed");
 
 
 /**
@@ -62,7 +77,7 @@
 
 /**
  * @enum AlarmType
- * @brief Alarm types to be sent 
+ * @brief Alarm types to be sent
  * to the alarm dialog
  */
 enum AlarmType {
--- a/alarmui/alarmalertwidget/alarmalertplugin/inc/alarmalertwidget_p.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/alarmui/alarmalertwidget/alarmalertplugin/inc/alarmalertwidget_p.h	Thu Jul 22 16:32:51 2010 +0100
@@ -28,7 +28,7 @@
 // Forward declarations
 class QGraphicsWidget;
 class QEvent;
-class QTranslator;
+class HbTranslator;
 class HbMainWindow;
 class HbDocumentLoader;
 class HbLabel;
@@ -140,6 +140,11 @@
      */
     void silenced();
     
+	/**
+     * @brief Called when the alarmui is about to display.
+     */
+    void aboutToDisplay();
+    
 private:
     /**
      * @brief Extracts the parameters sent by the client
@@ -192,13 +197,19 @@
      * @var mAlarmTime
      * @brief Holds the alarm expiry time
      */
-    QDateTime mAlarmTime;
+    QString mAlarmTime;
+    
+    /**
+     * @var mAlarmDate
+     * @brief Holds the alarm expiry time
+     */
+    QString mAlarmDate;
     
     /**
      * @var mTranslator
      * @brief translator for the localisation of strings
      */
-    QTranslator *mTranslator;
+    HbTranslator *mTranslator;
 	
     /**
      * @var mAlarmDescription
--- a/alarmui/alarmalertwidget/alarmalertplugin/src/alarmalertplugin.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/alarmui/alarmalertwidget/alarmalertplugin/src/alarmalertplugin.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -19,7 +19,6 @@
 // System includes
 #include <QString>
 #include <QVariantMap>
-#include <QDebug>
 #include <hbdevicedialog.h>
 
 // User includes
@@ -80,7 +79,7 @@
     Q_UNUSED(deviceDialogType);
     Q_UNUSED(parameters);
 
-    info->group = GenericDeviceDialogGroup;
+    info->group = CriticalGroup;
     info->priority = DefaultPriority;
     info->flags = NoDeviceDialogFlags;
     return true;
--- a/alarmui/alarmalertwidget/alarmalertplugin/src/alarmalertwidget_p.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/alarmui/alarmalertwidget/alarmalertplugin/src/alarmalertwidget_p.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -20,17 +20,16 @@
 #include <QApplication>
 #include <QGesture>
 #include <QGestureEvent>
-#include <QDebug>
 #include <QGraphicsSceneMouseEvent>
-#include <QTranslator>
+
 #include <hbdocumentloader.h>
 #include <hbpushbutton.h>
 #include <hblabel.h>
 #include <hbinstance.h>
 #include <hbextendedlocale.h>
 #include <hbi18ndef.h>
-#include <hbapplication.h>
 #include <hbaction.h>
+#include <hbtranslator.h>
 
 // User includes
 #include "alarmalertwidget_p.h"
@@ -43,6 +42,7 @@
 // ---------------------------------------------------------
 //
 AlarmAlertDialogPrivate::AlarmAlertDialogPrivate(const QVariantMap &parameters):
+	mTranslator(new HbTranslator("alarmui")),
 	mClosedByClient(false),
 	mIsSilenceKey(false)
 	{
@@ -52,19 +52,13 @@
 	// Set the dismiss policy and timeout property
 	setDismissPolicy(HbPopup::NoDismiss);
 	setTimeout(HbPopup::NoTimeout);
+	
+	// Listen the signal when alarmui is about to display so that we can start playing the alarm tone.
+	connect(this, SIGNAL(aboutToShow()), this, SLOT(aboutToDisplay()) );
 
 	// Initialize the user response
 	mUserResponse = Other;
 
-	// Load the translation file and install the editor specific translator
-	mTranslator = new QTranslator;
-	QString lang = QLocale::system().name();
-	QString path = "Z:/resource/qt/translations/";
-	bool loaded = mTranslator->load("alarmui_en_GB",":/translations");
-	// TODO: Load the appropriate .qm file based on locale
-	//bool loaded = mTranslator->load("alarmui_" + lang, path);
-	HbApplication::instance()->installTranslator(mTranslator);
-
 	// TODO: Gestures not working. Integrate once support is available from Qt
 	grabGesture(Qt::SwipeGesture);
 }
@@ -88,7 +82,6 @@
     HbEffect::remove(mSlider);
 
 	// Remove the translator
-	HbApplication::instance()->removeTranslator(mTranslator);
 	if (mTranslator) {
 		delete mTranslator;
 		mTranslator = 0;
@@ -151,7 +144,7 @@
 	HbDialog::showEvent(event);
 	QVariantMap param;
 	param.insert(alarmCommand, mUserResponse);
-	//emit deviceDialogData(param);
+	emit deviceDialogData(param);
 }
 
 // ---------------------------------------------------------
@@ -161,9 +154,7 @@
 //
 void AlarmAlertDialogPrivate::closeEvent(QCloseEvent *event)
 {
-    // Forward the call to the base class
-	HbDialog::closeEvent(event);
-	
+    
 	// Do not notify the client back if the close was initiated by client itself
 	if(!mClosedByClient) {
 		// Package the user response and send it
@@ -173,6 +164,9 @@
 	}
 	// This signal has to be emitted so that the dialog can be cleaned up later
 	emit deviceDialogClosed();
+	
+	// Forward the call to the base class
+	HbDialog::closeEvent(event);
 }
 
 // ---------------------------------------------------------
@@ -215,7 +209,20 @@
 		close();
 	}
 }
-  
+
+// ---------------------------------------------------------
+// AlarmAlertDialogPrivate::aboutToDisplay
+// rest of the details are commented in the header
+// ---------------------------------------------------------
+//
+void AlarmAlertDialogPrivate::aboutToDisplay()
+    {
+    mUserResponse = Shown;
+    QVariantMap param;
+    param.insert(alarmCommand, mUserResponse);
+    emit deviceDialogData(param);
+    }
+	
 // ---------------------------------------------------------
 // AlarmAlertDialogPrivate::dismissed
 // rest of the details are commented in the header
@@ -243,8 +250,10 @@
             mSubject = iter.value().toString();
         } else if (alarmLocation == key) {
             mLocation = iter.value().toString();
-        } else if (alarmDateTime == key) {
-            mAlarmTime = iter.value().toDateTime();
+        } else if (alarmTime == key) {
+            mAlarmTime = iter.value().toString();
+        } else if (alarmDate == key) {
+            mAlarmDate = iter.value().toString();
         } else if (alarmType == key) {
             mAlarmAlertType = static_cast <AlarmType> (iter.value().toInt());
         } else if (alarmCanSnooze == key) {
@@ -302,8 +311,7 @@
 	}
 	HbExtendedLocale locale = HbExtendedLocale::system();
 	mAlarmDateTime->setPlainText(
-			hbTrId("txt_calendar_info_alarm_start_time").arg(
-					locale.format(mAlarmTime.time(), r_qtn_time_usual)));
+			hbTrId("txt_calendar_info_alarm_start_time").arg(mAlarmTime));
 
 	mAlarmDescription = qobject_cast<HbLabel*> (
 			mAlertDocLoader->findWidget("alarmDescription"));
@@ -367,16 +375,14 @@
 			qFatal("Unable to find the alarmTime label");
 		}
 		mAlarmDateTime->setPlainText(
-				hbTrId("txt_calendar_info_alarm_start_time").arg(
-						locale.format(mAlarmTime.time(), r_qtn_time_usual)));
+				hbTrId("txt_calendar_info_alarm_start_time").arg(mAlarmTime));
 		HbLabel *alarmDate = qobject_cast<HbLabel*> (
 				mAlertDocLoader->findWidget("alarmDate"));
 		if (!alarmDate) {
 			qFatal("Unable to find the alarmDate label");
 		}
 		alarmDate->setPlainText(
-				hbTrId("txt_calendar_info_alarm_start_date").arg(
-				locale.format(mAlarmTime.date(), r_qtn_date_usual_with_zero)));
+				hbTrId("txt_calendar_info_alarm_start_date").arg(mAlarmDate));
 		HbLabel *alarmDateNonTimed = qobject_cast<HbLabel*> (
 				mAlertDocLoader->findWidget("nonTimedAlarmDate"));
 		if (!alarmDateNonTimed) {
@@ -407,8 +413,7 @@
 			qFatal("Unable to find the alarmDateNonTimed label");
 		}
 		alarmDateNonTimed->setPlainText(
-				hbTrId("txt_calendar_info_alarm_start_date").arg(
-				locale.format(mAlarmTime.date(), r_qtn_date_usual_with_zero)));
+				hbTrId("txt_calendar_info_alarm_start_date").arg(mAlarmDate));
 	}
 
 	QGraphicsWidget *headingWidget = mAlertDocLoader->findWidget("heading");
@@ -482,8 +487,7 @@
 		qFatal("Unable to load the alarmDate label");
 	}
 	alarmDate->setPlainText(
-			hbTrId("txt_calendar_info_alarm_start_date").arg(
-					locale.format(mAlarmTime.date(), r_qtn_date_usual_with_zero)));
+			hbTrId("txt_calendar_info_alarm_start_date").arg(mAlarmDate));
 	
 	mAlarmDescription = qobject_cast<HbLabel*> (
 							mAlertDocLoader->findWidget("alarmDescription"));
--- a/alarmui/alarmalertwidget/bwins/alarmalertwidgetu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-EXPORTS
-	?updateAlarmAlert@AlarmAlert@@QAE_NPAUSAlarmInfo@@@Z @ 1 NONAME ; bool AlarmAlert::updateAlarmAlert(struct SAlarmInfo *)
-	??0AlarmAlert@@QAE@PAVAlarmAlertObserver@@@Z @ 2 NONAME ; AlarmAlert::AlarmAlert(class AlarmAlertObserver *)
-	?dismissAlarmAlert@AlarmAlert@@QAE_NXZ @ 3 NONAME ; bool AlarmAlert::dismissAlarmAlert(void)
-	?showAlarmAlert@AlarmAlert@@QAE_NPAUSAlarmInfo@@@Z @ 4 NONAME ; bool AlarmAlert::showAlarmAlert(struct SAlarmInfo *)
-	??1AlarmAlert@@QAE@XZ @ 5 NONAME ; AlarmAlert::~AlarmAlert(void)
-
--- a/alarmui/alarmalertwidget/eabi/alarmalertwidgetu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-EXPORTS
-	_ZN10AlarmAlert14showAlarmAlertEP10SAlarmInfo @ 1 NONAME
-	_ZN10AlarmAlert16updateAlarmAlertEP10SAlarmInfo @ 2 NONAME
-	_ZN10AlarmAlert17dismissAlarmAlertEv @ 3 NONAME
-	_ZN10AlarmAlertC1EP18AlarmAlertObserver @ 4 NONAME
-	_ZN10AlarmAlertC2EP18AlarmAlertObserver @ 5 NONAME
-	_ZN10AlarmAlertD1Ev @ 6 NONAME
-	_ZN10AlarmAlertD2Ev @ 7 NONAME
-
--- a/alarmui/src/AlmAlarmControl.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/alarmui/src/AlmAlarmControl.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -177,7 +177,7 @@
                 iAlarmUtils->StartKeyBlocker();
 
                 // reset the key guard
-                iAlarmUtils->SetKeyGuard( ETrue );
+                //iAlarmUtils->SetKeyGuard( ETrue );
             }
 
             break;
@@ -227,26 +227,9 @@
     // Allow auto-snooze only while waiting user input
     if( IsState( EStateWaitingInput ) )
         {
-        SetState( EStateAfterInput );
-        if( iAlarmUtils->IsCalendarAlarm() )
-            {    
-            if( iAlarmUtils->IsCalendarAlarmViewer() )
-                {                
-                iAlarmUtils->SetCalendarAlarmViewer(EFalse);           
-                }
-            else
-                {
-                TRAP_IGNORE( StoreMissedAlarmDataL() );
-                }
-            iAlarmUtils->DoStopAlarm();             
-            DoCancelDialog();
-                   	             
-            }
-        else
-            {        
-            iAlarmUtils->TryToSnoozeActiveAlarm();
-            DoCancelDialog();
-            }
+        SetState( EStateAfterInput );       
+        iAlarmUtils->TryToSnoozeActiveAlarm();
+        DoCancelDialog();        
         }
     TRACE_EXIT_POINT;
     }
@@ -529,9 +512,9 @@
                 delete text; // only delete if GetAlarmLabelL call was successfull
                 ASSERT( !err ); */     
                 iAlarmUtils->NotifierDialogController()->showAlarmAlert(alarmInfo);
-                iAlarmUtils->StartAutoSnoozeTimer();
-                iAlarmUtils->PlayAlarmSound();
-                SetState( EStateWaitingInput );
+                //iAlarmUtils->StartAutoSnoozeTimer();
+                //iAlarmUtils->PlayAlarmSound();
+                //SetState( EStateWaitingInput );
 
                 if( err ) // failed to fetch alarm data or show the notification
                 {
@@ -962,7 +945,7 @@
         {
             iAlarmUtils->StartAutoSnoozeTimer();
             iAlarmUtils->PlayAlarmSound();
-            iAlarmUtils->SetKeyGuard( EFalse );
+            //iAlarmUtils->SetKeyGuard( EFalse );
             SetState( EStateWaitingInput );
             iAlarmUtils->StartKeyBlocker();  // block all input for 0.5 seconds
         }
@@ -1385,7 +1368,7 @@
          {
              iAlarmUtils->StartAutoSnoozeTimer();
              iAlarmUtils->PlayAlarmSound();
-             iAlarmUtils->SetKeyGuard( EFalse );
+             //iAlarmUtils->SetKeyGuard( EFalse );
              SetState( EStateWaitingInput );
              iAlarmUtils->StartKeyBlocker();  // block all input for 0.5 seconds
          }
--- a/alarmui/src/alarmutils.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/alarmui/src/alarmutils.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -56,6 +56,8 @@
 #endif // SYMBIAN_CALENDAR_V2
 #include <calsession.h>
 #include <calentryview.h>
+#include <clockdomaincrkeys.h>
+#include <calendardomaincrkeys.h>
 // #include <calenlauncher.h>  // for launching calendar entry view
 
 
@@ -76,14 +78,8 @@
 const TInt KMaxProfileVolume( 10 );
 const TInt KVolumeRampPeriod( 3000000 );  // 3 seconds
 _LIT( KRngMimeType, "application/vnd.nokia.ringing-tone" );
-const TUid KCRUidCalendar = {0x101F874B};
 //const TUint32 KCalendarSoundFile = 0x00000004;
-const TUint32 KCalendarDefaultSoundFile = 0x00000005;
-const TUint32 KCalendarSnoozeTime = 0x00000007;
-const TUid KCRUidClockApp = {0x101F874D};
 //const TUint32 KClockAppSoundFile = 0x00000000;
-const TUint32 KClockAppDefaultSoundFile = 0x00000001;
-const TUint32 KClockAppSnoozeTime = 0x00000002;
 const TUid KAlarmClockOne = { 0x101F793A };
 
 const TUid KCRUidProfileEngine = {0x101F8798};
@@ -440,7 +436,7 @@
 
 	if( IsClockAlarm() )
 	{
-		PIM_TRAPD_ASSERT( repository = CRepository::NewL( KCRUidClockApp ); ) 
+		PIM_TRAPD_ASSERT( repository = CRepository::NewL( TUid::Uid(KCRUidClockApp) ); ) 
 		PIM_TRAPD_ASSERT( profileRepository = CRepository::NewL( 
 														KCRUidProfileEngine ); )
 
@@ -459,8 +455,10 @@
 	}
 	else
 	{
-		PIM_TRAPD_ASSERT( repository = CRepository::NewL( KCRUidCalendar ); )
-		PIM_TRAPD_ASSERT( profileRepository = CRepository::NewL( KCRUidProfileEngine ); )
+		PIM_TRAPD_ASSERT( repository =
+				CRepository::NewL( TUid::Uid(KCRUidCalendar) ); )
+		PIM_TRAPD_ASSERT( profileRepository =
+				CRepository::NewL( KCRUidProfileEngine ); )
 
 		if( repository )
 		{
@@ -660,7 +658,7 @@
         case EAlarmTypeClock:
             {
             CRepository* repository = NULL;
-            PIM_TRAPD_ASSERT( repository = CRepository::NewL( KCRUidClockApp ); )
+            PIM_TRAPD_ASSERT( repository = CRepository::NewL( TUid::Uid(KCRUidClockApp) ); )
 
             if( repository )
                 {
@@ -673,7 +671,8 @@
         case EAlarmTypeCalendar:
             {
             CRepository* repository = NULL;
-            PIM_TRAPD_ASSERT( repository = CRepository::NewL( KCRUidCalendar ); )
+            PIM_TRAPD_ASSERT( repository =
+            		CRepository::NewL( TUid::Uid(KCRUidCalendar) ); )
 
             if( repository )
                 {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/alarmui/tsrc/tsrc.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,20 @@
+#  
+# 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:
+# This is the project specification file for alarmui test code
+#
+
+# include test components here
+
+# End of file	--Don't remove this
--- a/calendarui/agendaeventviewer/agendaeventviewer.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/agendaeventviewer/agendaeventviewer.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -36,7 +36,7 @@
 
 symbian: {
 
-BLD_INF_RULES.prj_exports += \
+	BLD_INF_RULES.prj_exports += \
 				"./inc/agendaeventviewer.h  |../inc/agendaeventviewer.h" \
 				"./inc/agendaeventviewer.h  |../../inc/agendaeventviewer.h"
 				
@@ -46,12 +46,10 @@
 	
 	
 	LIBS += -lagendainterface \
-			-lnoteseditor \
 			-lcaleneditor \
 			-lcalencommonutils \
 			-lmaptileservice
-
-INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+	INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
 }
 
 SOURCES += \
@@ -69,7 +67,8 @@
 		agendaeventviewerdocloader.h \
 		agendaeventvieweritem.h
 				
-RESOURCES += \
-		agendaeventviewer.qrc
+RESOURCES += agendaeventviewer.qrc
+
+TRANSLATIONS += caleneventviewer.ts
 
 # End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/agendaeventviewer/bwins/agendaeventvieweru.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,8 @@
+EXPORTS
+	?view@AgendaEventViewer@@QAEXVAgendaEntry@@W4Actions@1@@Z @ 1 NONAME ; void AgendaEventViewer::view(class AgendaEntry, enum AgendaEventViewer::Actions)
+	?view@AgendaEventViewer@@QAEXABVQFile@@W4Actions@1@@Z @ 2 NONAME ; void AgendaEventViewer::view(class QFile const &, enum AgendaEventViewer::Actions)
+	??1AgendaEventViewer@@UAE@XZ @ 3 NONAME ; AgendaEventViewer::~AgendaEventViewer(void)
+	??0AgendaEventViewer@@QAE@PAVAgendaUtil@@PAVQObject@@@Z @ 4 NONAME ; AgendaEventViewer::AgendaEventViewer(class AgendaUtil *, class QObject *)
+	?view@AgendaEventViewer@@QAEXKW4Actions@1@@Z @ 5 NONAME ; void AgendaEventViewer::view(unsigned long, enum AgendaEventViewer::Actions)
+	??0AgendaEventViewer@@QAE@PAVQObject@@@Z @ 6 NONAME ; AgendaEventViewer::AgendaEventViewer(class QObject *)
+
--- a/calendarui/agendaeventviewer/data/agendaeventviewer.docml	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/agendaeventviewer/data/agendaeventviewer.docml	Thu Jul 22 16:32:51 2010 +0100
@@ -5,7 +5,7 @@
 			<widget name="groupBox" type="HbGroupBox">
                 <real name="z" value="1"/>
                 <bool name="collapsable" value="FALSE"/>
-                <string locid="txt_calendar_subhead_event" name="titleText" value="Event"/>
+                <string locid="txt_calendar_subhead_event" name="heading" value="Event"/>
             </widget>
             <widget name="scrollArea" type="HbScrollArea">
                 <widget name="scrollAreaContents" role="HbScrollArea:contents" type="HbWidget">
@@ -15,7 +15,9 @@
 					<widget name="reminderWidget" type="HbWidget"/>
 					<widget name="repeatWidget" type="HbWidget"/>
 					<widget name="descriptionWidget" type="HbWidget"/>
-                    <widget name="maptileWidget" type="HbLabel" />                     
+                    <widget name="maptileWidget" type="HbLabel">
+                        <contentsmargins bottom="var(hb-param-margin-gene-bottom)" left="var(hb-param-margin-gene-left)" right="var(hb-param-margin-gene-right)" top="0un"/>
+                    </widget>
                     <layout orientation="Vertical" type="linear">
                         <contentsmargins bottom="0un" left="0un" top="0un"/>
                         <linearitem itemname="subjectWidget"/>
--- a/calendarui/agendaeventviewer/data/agendaeventviewer.qrc	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/agendaeventviewer/data/agendaeventviewer.qrc	Thu Jul 22 16:32:51 2010 +0100
@@ -2,11 +2,9 @@
 	<qresource prefix="/docml">
 		<file alias="agendaeventviewer.docml">agendaeventviewer.docml</file>
 	</qresource>
-	<qresource prefix="/translations">
-		<file alias="caleneventviewer_en_GB">caleneventviewer_en_GB.qm</file>
-	</qresource>
 	<qresource>
 		<file alias="agendaeventvieweritem.css">agendaeventvieweritem.css</file>
+		<file alias="agendaeventvieweritem_color.css">agendaeventvieweritem_color.css</file>
 		<file alias="agendaeventvieweritem.widgetml">agendaeventvieweritem.widgetml</file>
 	</qresource>
 </RCC>
\ No newline at end of file
--- a/calendarui/agendaeventviewer/data/agendaeventvieweritem.css	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/agendaeventviewer/data/agendaeventvieweritem.css	Thu Jul 22 16:32:51 2010 +0100
@@ -26,7 +26,8 @@
         fixed-height:var(hb-param-graphic-size-primary-small);
         top: -var(hb-param-margin-gene-top);
         left: -var(hb-param-margin-gene-left);
-		right: var(hb-param-margin-gene-middle-horizontal);
+        
+		
 }
 
 AgendaEventViewerItem::primaryRightIconItem {
@@ -40,23 +41,40 @@
 		fixed-width:var(hb-param-graphic-size-primary-small);
 		fixed-height:var(hb-param-graphic-size-primary-small);	
 		left: -var(hb-param-margin-gene-left);
-		right: var(hb-param-margin-gene-middle-horizontal);
+		
 }
 
-AgendaEventViewerItem::primaryTextItem {
+AgendaEventViewerItem::primaryTextItem[leftPrimaryIconItem="true"] {
         text-height: var(hb-param-text-height-primary);
         font-variant: primary;
 		text-align: left;
         top: -var(hb-param-margin-gene-top);
 		right: var(hb-param-margin-gene-middle-horizontal);
+		left: -var(hb-param-margin-gene-middle-horizontal);
 }
-
-AgendaEventViewerItem::secondaryTextItem {
+AgendaEventViewerItem::primaryTextItem[leftPrimaryIconItem="false"] {
+        text-height: var(hb-param-text-height-primary);
+        font-variant: primary;
+		text-align: left;
+        top: -var(hb-param-margin-gene-top);
+		right: var(hb-param-margin-gene-middle-horizontal);
+	
+		
+}
+AgendaEventViewerItem::secondaryTextItem[leftPrimaryIconItem="true"]{
         text-height: var(hb-param-text-height-secondary);
         font-variant: secondary;
         text-align: left;
         top: -var(hb-param-margin-gene-middle-vertical);
 		right: var(hb-param-margin-gene-right);
 		bottom: var(hb-param-margin-gene-bottom);
-
 }
+AgendaEventViewerItem::secondaryTextItem[leftPrimaryIconItem="false"] {
+        text-height: var(hb-param-text-height-secondary);
+        font-variant: secondary;
+        text-align: left;
+        top: -var(hb-param-margin-gene-middle-vertical);
+		right: var(hb-param-margin-gene-right);
+		bottom: var(hb-param-margin-gene-bottom);
+		left: -var(hb-param-margin-gene-middle-horizontal);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/agendaeventviewer/data/agendaeventvieweritem_color.css	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,27 @@
+AgendaEventViewerItem::primaryTextItem{
+    color: var(qtc_list_item_content_normal);
+}
+
+AgendaEventViewerItem::primaryTextItem[state="pressed"]{
+    color: var(qtc_list_item_pressed);
+}
+
+AgendaEventViewerItem::primaryTextItem[state="disabled"]{
+    color: var(qtc_list_item_disabled);
+}
+
+AgendaEventViewerItem::secondaryTextItem{
+    color: var(qtc_list_item_content_normal);
+}
+
+AgendaEventViewerItem::secondaryTextItem[state="pressed"]{
+    color: var(qtc_list_item_pressed);
+}
+
+AgendaEventViewerItem::secondaryTextItem[state="disabled"]{
+    color: var(qtc_list_item_disabled);
+}
+
+AgendaEventViewerItem::primaryRightIconItem{
+    color: var(qtc_list_item_content_normal);
+}
\ No newline at end of file
Binary file calendarui/agendaeventviewer/data/caleneventviewer_en_GB.qm has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/agendaeventviewer/eabi/agendaeventvieweru.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,12 @@
+EXPORTS
+	_ZN17AgendaEventViewer4viewE11AgendaEntryNS_7ActionsE @ 1 NONAME
+	_ZN17AgendaEventViewer4viewERK5QFileNS_7ActionsE @ 2 NONAME
+	_ZN17AgendaEventViewer4viewEmNS_7ActionsE @ 3 NONAME
+	_ZN17AgendaEventViewerC1EP10AgendaUtilP7QObject @ 4 NONAME
+	_ZN17AgendaEventViewerC1EP7QObject @ 5 NONAME
+	_ZN17AgendaEventViewerC2EP10AgendaUtilP7QObject @ 6 NONAME
+	_ZN17AgendaEventViewerC2EP7QObject @ 7 NONAME
+	_ZN17AgendaEventViewerD0Ev @ 8 NONAME
+	_ZN17AgendaEventViewerD1Ev @ 9 NONAME
+	_ZN17AgendaEventViewerD2Ev @ 10 NONAME
+
--- a/calendarui/agendaeventviewer/inc/agendaeventview.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/agendaeventviewer/inc/agendaeventview.h	Thu Jul 22 16:32:51 2010 +0100
@@ -29,15 +29,17 @@
 
 // Forward declarations
 class QGraphicsLinearLayout;
-class QTranslator;
+class QTimer;
+class QPluginLoader;
 class HbView;
 class HbAction;
 class HbLabel;
 class HbMainWindow;
+class HbTranslator;
+class MapTileService;
 class AgendaEventViewerItem;
 class AgendaEventViewerPrivate;
 class AgendaEventViewerDocLoader;
-class NotesEditor;
 class CalenEditor;
 
 class AgendaEventView: public QObject
@@ -73,7 +75,7 @@
 	void showDeleteOccurencePopup();
 	void showDeleteConfirmationQuery();
 	void getSubjectIcon(AgendaEntry::Type type, QString &subjectIcon);
-
+    void getProgressIndicatorstatus(QString &progressIcon);
 private slots:
 	void markTodoStatus();
 	void edit();
@@ -86,8 +88,12 @@
 	void handleCalendarEditorClosed();
 	void handleDeleteOccurence(int index);
 	void handleDeleteAction();
+	void updateProgressIndicator();
+	void receiveMapTileStatus(int entryid,int addressType, int status); 
+	void changedOrientation(Qt::Orientation orientation);
+
 private:
-	
+	HbMainWindow* mMainWindow;
 	HbView *mViewer;
 	QPointer<AgendaEventViewerItem> mSubjectWidget;
 	QPointer<AgendaEventViewerItem> mDateTimeWidget;
@@ -103,16 +109,22 @@
 	AgendaEventViewerDocLoader *mDocLoader;
 	AgendaEntry mOriginalAgendaEntry;
 	AgendaEntry mAgendaEntry;
-	NotesEditor *mNoteEditor;
+	QPointer<QPluginLoader> mNotesEditorPluginLoader;
 	CalenEditor *mCalenEditor;
 	QGraphicsLinearLayout *mLinearLayout;
-	
-	QTranslator *mTranslator;
+
+	HbTranslator *mTranslator;
 	bool mReminderWidgetAdded;
 	HbAction *mBackAction;
-	HbMainWindow* mMainWindow;
+	
 	bool mLocationFeatureEnabled;
-    QString mMaptilePath;
+	QString mMaptilePath;
+    MapTileService *mMaptileService;
+    QTimer *mProgressTimer;
+    int     mProgressIconCount;  
+    bool    mMaptileStatusReceived;
+    int     mMaptileStatus; 
+	bool mNotesPluginLoaded;
 
 private:
 	friend class AgendaEventViewerPrivate;
--- a/calendarui/agendaeventviewer/inc/agendaeventviewer_p.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/agendaeventviewer/inc/agendaeventviewer_p.h	Thu Jul 22 16:32:51 2010 +0100
@@ -50,6 +50,7 @@
 	void editingCompleted();
 	void deletingStarted();
 	void deletingCompleted();
+	void viewCreationCompleted(int error);
 
 private:
 	AgendaEventViewer *q_ptr;
@@ -60,6 +61,11 @@
 
 private:
 	friend class AgendaEventView;
+	ulong mId;
+	AgendaEventViewer::Actions mAction;
+	bool mShowEventViewById;
+	bool mShowEventViewByFileHandle;
+	QString mFileName;
 };
 
 #endif // AGENDAEVENTVIEWERPRIVATE_H
--- a/calendarui/agendaeventviewer/src/agendaeventview.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/agendaeventviewer/src/agendaeventview.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -17,12 +17,14 @@
 
 // System includes
 #include <QObject>
-#include <QDebug>
 #include <QDateTime>
-#include <qtranslator.h>
 #include <QGraphicsLinearLayout>
+#include <QFile>
+#include <QString>
+#include <QTimer>
+#include <QPluginLoader>
+#include <QDir>
 #include <HbInstance>
-#include <hbapplication.h>
 #include <HbMainWindow>
 #include <HbView>
 #include <HbMenu>
@@ -37,14 +39,12 @@
 #include <HbMessageBox>
 #include <HbDialog>
 #include <HbLabel>
-#include <QFile>
-#include <QString>
-#include <QIcon>
-#include <QPainter>
-#include <QPixmap>
+#include <HbTranslator>
+
 // User includes
+#include <maptileservice.h>//maptile service
 #include <agendautil.h>
-#include <noteseditor.h>
+#include <NotesEditorInterface>
 #include <caleneditor.h>
 #include "agendaeventview.h"
 #include "agendaeventviewerdocloader.h"
@@ -52,19 +52,11 @@
 #include "agendaeventviewer_p.h"
 #include "agendaeventvieweritem.h"
 #include "calendateutils.h"
-
-//maptile service 
-#include <maptileservice.h>
 // Constants
 #define CHARACTER_HYPHEN    "-"
 #define CHARACTER_SPACE     " "
 #define CHARACTER_NEW_LINE  "\n"
 
-// This is used to set the maptile image height and width ,
-//because HbLabel by default not displaying the actual size of image 
-const int height = 128;
-const int width =  330;
-
 //This Property is use for setting a primary left icon
 static const char *primaryLeftIconItem("leftPrimaryIconItem");
 
@@ -85,21 +77,18 @@
 AgendaEventView::AgendaEventView(
 		AgendaEventViewerPrivate *owner, QObject *parent):
 		QObject(parent),
+		mMainWindow(NULL),
 		mOwner(owner),
+		mTranslator(new HbTranslator("caleneventviewer")),
 		mReminderWidgetAdded(true),
-		mMainWindow(NULL),
-		mMaptilePath(NULL)
+		mMaptilePath(NULL),
+		mMaptileService(NULL),
+		mProgressTimer(NULL),
+		mProgressIconCount(0),
+		mMaptileStatusReceived(false),
+		mMaptileStatus(-1),
+		mNotesPluginLoaded(false)
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::AgendaEventView -->";
-
-	// Load the translator based on locale
-	mTranslator = new QTranslator;
-	QString lang = QLocale::system().name();
-	QString path = "Z:/resource/qt/translations/";
-	mTranslator->load("caleneventviewer_en_GB",":/translations");
-	// TODO: Load the appropriate .qm file based on locale
-	//bool loaded = mTranslator->load("caleneventviewer_" + lang, path);
-	HbApplication::instance()->installTranslator(mTranslator);
 	
 	mDocLoader = new AgendaEventViewerDocLoader;
 
@@ -146,12 +135,18 @@
     mLinearLayout = 
     		static_cast<QGraphicsLinearLayout *> (scrollAreaWidget->layout());
 	
-    MapTileService::AppType appType;
-    appType = MapTileService::AppTypeCalendar;
-    mLocationFeatureEnabled = MapTileService::isLocationFeatureEnabled(appType);
-    
+
+    //maptile service object , to retrive maptile path from database.
+    mMaptileService= new MapTileService();   
+    mLocationFeatureEnabled = mMaptileService->isLocationFeatureEnabled(
+        MapTileService::AppTypeCalendar);
+    if (mLocationFeatureEnabled) {
+        //timer to run progress indicator icon.
+        mProgressTimer = new QTimer(this);
+        mProgressTimer->setSingleShot(true);
+        connect(mProgressTimer, SIGNAL(timeout()), this, SLOT(updateProgressIndicator()));
+    }
         
-    qDebug() << "AgendaEventViewer: AgendaEventView::AgendaEventView <--";
 	
 }
 
@@ -160,10 +155,8 @@
  */
 AgendaEventView::~AgendaEventView()
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::~AgendaEventView -->";
 
 	// Remove the translator
-	HbApplication::instance()->removeTranslator(mTranslator);
 	if (mTranslator) {
 		delete mTranslator;
 		mTranslator = 0;
@@ -171,14 +164,30 @@
 	
 	mDocLoader->reset();
 	delete mDocLoader;
-	
+
+	// Unload notes editor if loaded.
+	if (mNotesEditorPluginLoader) {
+		mNotesEditorPluginLoader->unload();
+		delete mNotesEditorPluginLoader;
+		mNotesEditorPluginLoader = 0;
+	}
+
 	// Delete the mainwindow if we have created any
 	if (mMainWindow) {
 		delete mMainWindow;
 		mMainWindow = NULL;
 	}
 	
-	qDebug() << "AgendaEventViewer: AgendaEventView::~AgendaEventView <--";
+	if (mMaptileService) {
+        delete mMaptileService;
+        mMaptileService = NULL;
+    }
+    
+	if (mProgressTimer) {
+        delete mProgressTimer;
+        mProgressTimer = NULL;
+    }
+	
 }
 
 /*!
@@ -189,7 +198,6 @@
 void AgendaEventView::execute(AgendaEntry entry,
 											AgendaEventViewer::Actions action)
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::execute -->";
 
 	mOriginalAgendaEntry = entry;
 	mAgendaEntry = entry;
@@ -205,9 +213,6 @@
 	
 	// Add the toolbar items to event viewer
 	addToolBarItem(action);
-	
-	// Add the title to event viewer.
-	addGroupBoxData();
 
 	// Connect for the entry updation and addtion signal to refresh the view
 	// when the same is edited in editor.
@@ -229,9 +234,11 @@
 		mMainWindow = new HbMainWindow();
 		mMainWindow->addView(mViewer);
 		mMainWindow->setCurrentView(mViewer);
+	    connect(mMainWindow,SIGNAL(orientationChanged(Qt::Orientation)),this,SLOT(changedOrientation(Qt::Orientation)));		
 	} else {
 		window->addView(mViewer);
 		window->setCurrentView(mViewer);
+		connect(window,SIGNAL(orientationChanged(Qt::Orientation)),this,SLOT(changedOrientation(Qt::Orientation)));		
 	}
 	
 	// Add softkey after adding view on window
@@ -240,7 +247,6 @@
 		
 	connect(mBackAction, SIGNAL(triggered()), this, SLOT(close()));
 
-	qDebug() << "AgendaEventViewer: AgendaEventView::execute <--";
 }
 
 /*!
@@ -248,7 +254,9 @@
  */
 void AgendaEventView::addViewerData()
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::addViewerData -->";
+	
+	// Add the title to event viewer.
+	addGroupBoxData();
 
 	// Set the summary & priority to viewer.
 	addSubjectAndPriorityData();
@@ -281,7 +289,6 @@
 	// Set the description.
 	addDescriptionData();
 	
-	qDebug() << "AgendaEventViewer: AgendaEventView::addViewerData <--";
 }
 
 /*!
@@ -289,7 +296,6 @@
  */
 void AgendaEventView::addMenuItem()
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::addMenuItem -->";
 
 	if (mAgendaEntry.type() == AgendaEntry::TypeTodo) {
 
@@ -307,7 +313,6 @@
 		        SLOT(markTodoStatus()));
 		menu->addAction(mMarkTodoAction);
 	}
-	qDebug() << "AgendaEventViewer: AgendaEventView::addMenuItem <--";
 }
 
 /*!
@@ -315,7 +320,6 @@
  */
 void AgendaEventView::addToolBarItem(AgendaEventViewer::Actions action)
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::addToolBarItem -->";
 
 	HbToolBar *toolBar = qobject_cast<HbToolBar *> (
 	                       mDocLoader->findWidget(AGENDA_EVENT_VIEWER_TOOLBAR));
@@ -346,7 +350,6 @@
 		toolBar->addAction(saveAction);
 	}
 
-	qDebug() << "AgendaEventViewer: AgendaEventView::addToolBarItem <--";
 }
 
 /*!
@@ -354,21 +357,20 @@
  */
 void AgendaEventView::addGroupBoxData()
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::addGroupBoxData -->";
 	
 	HbGroupBox *groupBox = qobject_cast<HbGroupBox *> (
 			mDocLoader->findWidget(AGENDA_EVENT_VIEWER_GROUPBOX));
 
-	if (mAgendaEntry.type() == AgendaEntry::TypeTodo) {
+	AgendaEntry::Type entryType = mAgendaEntry.type();
+	if (entryType == AgendaEntry::TypeTodo) {
 		groupBox->setHeading(hbTrId("txt_calendar_subhead_to_do"));
-	} else if (mAgendaEntry.type() == AgendaEntry::TypeNote) {
-		groupBox->setHeading(tr("Note"));
-	} else {
-		// TODO: Add the text id based on the entry type Anniversary or meeting
-		groupBox->setHeading(hbTrId("txt_calendar_subhead_event"));
+	} else if (entryType == AgendaEntry::TypeAppoinment) {
+		groupBox->setHeading(hbTrId("txt_calendar_subhead_meeting"));
+	}else if (entryType == AgendaEntry::TypeEvent) {
+		//TODO: Add text id once available
+		groupBox->setHeading(hbTrId("All day event"));
 	}
-
-	qDebug() << "AgendaEventViewer: AgendaEventView::addGroupBoxData <--";
+		
 }
 
 /*!
@@ -376,8 +378,6 @@
  */
 void AgendaEventView::addSubjectAndPriorityData()
 {
-	qDebug()
-	     << "AgendaEventViewer: AgendaEventView::addSubjectAndPriorityData -->";
 
 	QStringList itemList;
 	itemList.append(hbTrId("txt_calendar_dblist_subject"));
@@ -401,8 +401,6 @@
 
 	mSubjectWidget->setEventViewerItemData(itemList, Qt::DecorationRole);
 
-	qDebug()
-	     << "AgendaEventViewer: AgendaEventView::addSubjectAndPriorityData <--";
 }
 
 /*!
@@ -410,9 +408,6 @@
  */
 void AgendaEventView::addDateTimeData()
 {
-    qDebug()
-         << "AgendaEventViewer: AgendaEventView::addDateTimeData -->";
-    
     
     QStringList itemData;
     HbExtendedLocale systemLocale = HbExtendedLocale::system();
@@ -475,14 +470,13 @@
 
     		dateTimeText.append(systemLocale.format(startDateTime.date(),
 												r_qtn_date_usual_with_zero));
-
-    		if (CalenDateUtils::onSameDay(startDateTime, endDateTime)) {
+    		if (CalenDateUtils::onSameDay(startDateTime, endDateTime.addSecs(-60))) {
     			data.append(hbTrId("txt_calendar_dblist_meeting_date").arg(
 											dateTimeText));
     		} else {
     			QString endDate;
     			endDate.append(
-    					systemLocale.format(endDateTime.date(),
+    					systemLocale.format(endDateTime.addSecs(-60).date(),
 												r_qtn_date_usual_with_zero));
     			data.append(hbTrId("txt_calendar_dblist_start_end_time").arg(
 											dateTimeText).arg(endDate));
@@ -494,8 +488,6 @@
 	itemData.append(data);
     mDateTimeWidget->setEventViewerItemData(itemData, Qt::DisplayRole);
     
-    qDebug()
-         << "AgendaEventViewer: AgendaEventView::addDateTimeData <--";
 }
 
 /*!
@@ -503,18 +495,28 @@
  */
 void AgendaEventView::addLocationData()
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::addLocationData -->";
 	QStringList itemData;
-	itemData.append(QString::null);
-    itemData.append(QString::null);
-    itemData.append("qtg_small_location");
-    mLocationWidget->setProperty(primaryLeftIconItem, false); 
+	QString progressIcon(QString::null);	
+	if ( mLocationFeatureEnabled ) {
+	    getProgressIndicatorstatus(progressIcon);	   
+	}
+	 if( progressIcon.isNull() ) {
+	     itemData.append(QString::null);
+	     itemData.append(QString::null);
+	     itemData.append("qtg_small_location");
+	     mLocationWidget->setProperty(primaryLeftIconItem, false);
+	 }
+	 else {
+	     itemData.append("qtg_small_location");
+	     itemData.append( progressIcon );  
+	     itemData.append(QString::null);
+	     mLocationWidget->setProperty(primaryLeftIconItem, true);
+	 }
 	mLocationWidget->setEventViewerItemData(itemData, Qt::DecorationRole);
 	itemData.clear();
 	itemData.append(QString::null);
 	itemData.append(mAgendaEntry.location());
 	mLocationWidget->setEventViewerItemData(itemData, Qt::DisplayRole);
-	qDebug() << "AgendaEventViewer: AgendaEventView::addLocationData <--";
 }
 
 /*!
@@ -522,47 +524,18 @@
  */
 void AgendaEventView::addMapTileImage()
 {
+    if (mLocationFeatureEnabled && !mAgendaEntry.location().isEmpty() && !mMaptilePath.isEmpty()) {
 
-    qDebug() << "AgendaEventViewer: AgendaEventView::addMapTileImage -->";
-    
-    if (!mAgendaEntry.location().isEmpty() && mLocationFeatureEnabled){
-        MapTileService::AddressType addressType;
-        addressType = MapTileService::AddressPlain;
-        int eventId = mAgendaEntry.id();
-        mMaptilePath = MapTileService::getMapTileImage(eventId, addressType);
-        if (!mMaptilePath.isNull())
-        {                        
-            QIcon mapTileIcon(mMaptilePath);
-            QPainter painter;
-            QPixmap baloon(HbIcon("qtg_small_location").pixmap());
-            QPixmap map (mapTileIcon.pixmap(width,height));
-            //Display pin image in the center of maptile image
-            painter.begin( &map );
-            painter.drawPixmap( (width/2)-(baloon.width()/2), 
-                          (height/2)-baloon.height(), baloon );
-            painter.end();
-            mapTileIcon.addPixmap( map );          
-            
-            HbIcon maptile(mapTileIcon);
-            mMaptileLabel->setIcon(maptile);        
-
-            mMaptileLabel->setPreferredSize(QSizeF(width, height));
-            mMaptileLabel->setMinimumSize(QSizeF(width, height));
-            mMaptileLabel->setMaximumSize(QSizeF(width, height));
-            mMaptileLabel->setSizePolicy(QSizePolicy(QSizePolicy::Fixed,
-                    QSizePolicy::Fixed));            
-
-        }
+        HbIcon maptile(mMaptilePath);
+        mMaptileLabel->setIcon(maptile);
+        mMaptileLabel->setPreferredSize(QSizeF(maptile.width(), maptile.height()));
     }
-
-    qDebug() << "AgendaEventViewer: AgendaEventView::addMapTileImage <--";
 }
 /*!
 	Add reminder data to Event viewer
  */
 void AgendaEventView::addReminderData()
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::addReminderData -->";
 	QStringList itemData;
 	itemData.append(QString::null);
     itemData.append(QString::null);
@@ -573,7 +546,6 @@
 	itemData.append(QString::null);
 	itemData.append(alarmTimeText());
 	mReminderWidget->setEventViewerItemData(itemData, Qt::DisplayRole);
-	qDebug() << "AgendaEventViewer: AgendaEventView::addReminderData <--";
     }
 
 /*!
@@ -581,7 +553,6 @@
  */
 void AgendaEventView::addCompletedTodoData()
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::addCompletedTodoData -->";
 	QStringList itemData;
 	QString     completedText;
     HbExtendedLocale systemLocale = HbExtendedLocale::system();;
@@ -596,7 +567,6 @@
 	itemData.append(hbTrId("txt_calendar_dblist_completed_date"));
 	itemData.append(completedText);
 	mReminderWidget->setEventViewerItemData(itemData, Qt::DisplayRole);
-	qDebug() << "AgendaEventViewer: AgendaEventView::addCompletedTodoData <--";
 }
 
 /*!
@@ -604,18 +574,16 @@
  */
 void AgendaEventView::addRepeatData()
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::addRepeatData -->";
 	QStringList itemData;
 	itemData.append(QString::null);
     itemData.append(QString::null);
-    itemData.append("qtg_mono_repeat.svg");
+    itemData.append("qtg_small_repeat");
     mRepeatWidget->setProperty(primaryLeftIconItem, false);
 	mRepeatWidget->setEventViewerItemData(itemData, Qt::DecorationRole);
 	itemData.clear();
 	itemData.append(QString::null);
 	itemData.append(repeatRule());
 	mRepeatWidget->setEventViewerItemData(itemData, Qt::DisplayRole);
-	qDebug() << "AgendaEventViewer: AgendaEventView::addRepeatData <--";
 }
 
 /*!
@@ -623,7 +591,6 @@
  */
 void AgendaEventView::addDescriptionData()
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::addDiscriptionData -->";
 	QStringList itemData;
 	itemData.append(QString::null);
 	itemData.append(QString::null);
@@ -634,7 +601,6 @@
 	itemData.append(hbTrId("txt_calendar_dblist_description"));
 	itemData.append(mAgendaEntry.description());
 	mDescriptionWidget->setEventViewerItemData(itemData, Qt::DisplayRole);
-	qDebug() << "AgendaEventViewer: AgendaEventView::addDiscriptionData <--";
 }
 
 /*!
@@ -642,7 +608,6 @@
  */
 void AgendaEventView::getPriorityIcon(int priority, QString &priorityIcon)
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::getPriorityIcon -->";
 
 	switch(priority) {
 		case 1:priorityIcon.append("qtg_small_priority_high");
@@ -653,7 +618,6 @@
 		break;
 	}
 
-	qDebug() << "AgendaEventViewer: AgendaEventView::getPriorityIcon <--";
 }
 
 /*!
@@ -661,7 +625,6 @@
  */
 QString AgendaEventView::repeatRule() const
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::repeatRule -->";
 	
 	QString repeatRule;
 	AgendaRepeatRule agendaRepeatRule = mAgendaEntry.repeatRule();
@@ -673,8 +636,7 @@
 			break;
 			case AgendaRepeatRule::WeeklyRule:
 				if (AgendaUtil::isWorkdaysRepeatingEntry(agendaRepeatRule)) {
-					//TODO: Add text id for workdays
-					repeatRule.append(hbTrId("Workdays"));
+					repeatRule.append(hbTrId("txt_calendar_dblist_repeats_workdays"));
 				} else {
 					if (agendaRepeatRule.interval() == 2) {
 						repeatRule.append(
@@ -705,7 +667,6 @@
 			hbTrId("txt_calendar_dblist_repeats_daily_val_until_1").
 			arg(untilDateString));
 	}
-	qDebug() << "AgendaEventViewer: AgendaEventView::repeatRule <--";
 	
 	return repeatRule;
 }
@@ -717,7 +678,6 @@
  */
 QString AgendaEventView::alarmTimeText() const
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::alarmTimeText -->";
 
 	QString alarmDateTimeText;
 	QDateTime startTime;
@@ -742,7 +702,6 @@
 						r_qtn_date_usual_with_zero)));
 	}
 	
-	qDebug() << "AgendaEventViewer: AgendaEventView::alarmTimeText <--";
 	return alarmDateTimeText;
 }
 
@@ -751,7 +710,6 @@
  */
 void AgendaEventView::removeWidget()
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::removeWidget -->";
 	
 	if (mAgendaEntry.location().isEmpty()) { 
 		mLocationWidget->hide();
@@ -765,10 +723,11 @@
         mMaptileLabel->hide();
         mLinearLayout->removeItem(mMaptileLabel);
     }
+    file.close();
         
 	if (mAgendaEntry.alarm().isNull()) { 
 		if (mAgendaEntry.type() == AgendaEntry::TypeTodo ) {
-				if (AgendaEntry::TodoNeedsAction == mAgendaEntry.status()) { 
+				if (AgendaEntry::TodoCompleted != mAgendaEntry.status()) { 
 					mReminderWidget->hide();
 					mLinearLayout->removeItem(mReminderWidget);
 					mReminderWidgetAdded = false;
@@ -793,7 +752,6 @@
 	mLinearLayout->invalidate();
 	mLinearLayout->activate();
 	
-	qDebug() << "AgendaEventViewer: AgendaEventView::removeWidget <--";
 }
 
 /*!
@@ -801,8 +759,6 @@
  */
 void AgendaEventView::updateCompletedReminderData()
 {
-	qDebug()
-	   << "AgendaEventViewer: AgendaEventView::updateCompletedReminderData -->";
 
 	if (AgendaEntry::TodoCompleted == mAgendaEntry.status()) {
 		addCompletedTodoData();
@@ -832,8 +788,6 @@
 	
 	mLinearLayout->invalidate();
 	mLinearLayout->activate();
-	qDebug()
-	   << "AgendaEventViewer: AgendaEventView::updateCompletedReminderData <--";
 }
 
 /*!
@@ -841,7 +795,6 @@
  */
 void AgendaEventView::removeAllWidgets()
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::removeAllWidgets -->";
 
 	for (int i = 2; i < mLinearLayout->count(); i++) {
 		mLinearLayout->removeAt(i);
@@ -849,7 +802,6 @@
 	mLinearLayout->invalidate();
 	mLinearLayout->activate();
 	
-	qDebug() << "AgendaEventViewer: AgendaEventView::removeAllWidgets <--";
 }
 
 /*!
@@ -857,7 +809,6 @@
  */
 void AgendaEventView::addAllWidgets()
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::addAllWidgets -->";
 	
 	mLinearLayout->addItem(mLocationWidget);
 	mLocationWidget->show();
@@ -873,7 +824,6 @@
 	mLinearLayout->invalidate();
 	mLinearLayout->activate();
 	
-	qDebug() << "AgendaEventViewer: AgendaEventView::addAllWidgets <--";
 }
 
 /*!
@@ -881,8 +831,6 @@
  */
 void AgendaEventView::showDeleteOccurencePopup()
 {
-	qDebug()
-		<< "AgendaEventViewer: AgendaEventView::showDeleteOccurencePopup -->";
 	HbDialog *popUp = new HbDialog();
 	popUp->setDismissPolicy(HbDialog::NoDismiss);
 	popUp->setTimeout(HbDialog::NoTimeout);
@@ -916,8 +864,6 @@
 	// Show the popup
 	popUp->open();
 
-	qDebug()
-		<< "AgendaEventViewer: AgendaEventView::showDeleteOccurencePopup <--";
 }
 
 /*!
@@ -925,8 +871,6 @@
  */
 void AgendaEventView::showDeleteConfirmationQuery()
     {
-    qDebug()
-		<< "AgendaEventViewer: AgendaEventView::showDeleteConfirmationQuery -->";
     
     HbMessageBox *popup = new HbMessageBox(HbMessageBox::MessageTypeQuestion);
     popup->setDismissPolicy(HbDialog::NoDismiss);
@@ -968,8 +912,6 @@
 												SLOT(handleDeleteAction()));
     popup->addAction(new HbAction(hbTrId("txt_calendar_button_cancel"), popup));
     popup->open();
-    qDebug()
-		<< "AgendaEventViewer: AgendaEventView::showDeleteConfirmationQuery <--";
 }
 
 /*!
@@ -991,36 +933,26 @@
  */
 void AgendaEventView::markTodoStatus()
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::markTodoStatus -->";
 
 	QDateTime currentDateTime = QDateTime::currentDateTime();
 
 	// Set the to-do status using the agenda util.
-	if (AgendaEntry::TodoNeedsAction == mAgendaEntry.status()) {
-		
+	if (AgendaEntry::TodoCompleted != mAgendaEntry.status()) {
 		// Update the menu text to mark to-do as undone.
 		mMarkTodoAction->setText(hbTrId("txt_calendar_menu_mark_as_not_done"));
-		
 		mAgendaEntry.setStatus(AgendaEntry::TodoCompleted);
 		mAgendaEntry.setCompletedDateTime(currentDateTime);
 		mOwner->mAgendaUtil->setCompleted(mAgendaEntry, true, currentDateTime);
-		
-		
-
-	} else if (AgendaEntry::TodoCompleted == mAgendaEntry.status()) {
+	} else {
 		
 		// Update the menu text to mark to-do as done.
 		mMarkTodoAction->setText(hbTrId("txt_calendar_menu_mark_as_done"));
-				
 		mAgendaEntry.setStatus(AgendaEntry::TodoNeedsAction);
 		mOwner->mAgendaUtil->setCompleted(mAgendaEntry, false, currentDateTime);
-		
-		
 	}
 
 	updateCompletedReminderData();
 	
-	qDebug() << "AgendaEventViewer: AgendaEventView::markTodoStatus <--";
 }
 
 /*!
@@ -1028,18 +960,32 @@
  */
 void AgendaEventView::edit()
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::edit -->";
 
 	mOwner->editingStarted();
 	
 	if (AgendaEntry::TypeTodo == mAgendaEntry.type()) {
-		// Launch the to-do editor using notes editor api
-		// Construct Note editor for launching the to-do editor
-		mNoteEditor = new NotesEditor(mOwner->mAgendaUtil, this);
-		mNoteEditor->edit(mAgendaEntry);
+		// Load notes editor plugin if not loaded.
+		if(!mNotesPluginLoaded) {
+			// Launch the to-do editor using notes editor plugin api
+			QDir dir(NOTES_EDITOR_PLUGIN_PATH);
+			QString pluginName = dir.absoluteFilePath(NOTES_EDITOR_PLUGIN_NAME);
+
+			// Create NotesEditor plugin loader object.
+			mNotesEditorPluginLoader = new QPluginLoader(pluginName);
+
+			// Load the plugin
+			mNotesPluginLoaded = mNotesEditorPluginLoader->load();
+		}
+		QObject *plugin = qobject_cast<QObject*> (
+				mNotesEditorPluginLoader->instance());
+
+		NotesEditorInterface* interface =
+				qobject_cast<NotesEditorInterface*>(plugin);
+
+		interface->edit(mAgendaEntry, mOwner->mAgendaUtil);
 
 		connect(
-				mNoteEditor, SIGNAL(editingCompleted(bool)),
+				interface, SIGNAL(editingCompleted(bool)),
 				this, SLOT(handleNoteEditorClosed(bool)));
 		
 
@@ -1052,7 +998,6 @@
 	
 		
 	}
-	qDebug() << "AgendaEventViewer: AgendaEventView::edit <--";
 }
 
 /*!
@@ -1060,7 +1005,6 @@
  */
 void AgendaEventView::deleteAgendaEntry()
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::deleteAgendaEntry -->";
 
 	// Before we do anything, check in the entry is repeating
 	// OR its a child item
@@ -1075,7 +1019,6 @@
         showDeleteConfirmationQuery();
 	}
 
-	qDebug() << "AgendaEventViewer: AgendaEventView::deleteAgendaEntry <--";
 }
 
 /*!
@@ -1083,21 +1026,18 @@
  */
 void AgendaEventView::saveAgendaEntry()
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::saveAgendaEntry -->";
 	
 	// Save entry to calendar.
 	mOwner->mAgendaUtil->addEntry(mAgendaEntry);
 	
 	// Close the agenda entry viewer
 	close();
-	qDebug() << "AgendaEventViewer: AgendaEventView::saveAgendaEntry <--";
 }
 /*!
 	Closes the event viewer
  */
 void AgendaEventView::close()
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::close -->";
 
 	// Remove the view from main window.
 	HbMainWindow *window = hbInstance->allMainWindows().first();
@@ -1110,7 +1050,6 @@
 	window->removeView(mViewer);
 	mOwner->viewingCompleted(mAgendaEntry.startTime().date());
 
-	qDebug() << "AgendaEventViewer: AgendaEventView::close <--";
 }
 
 /*!
@@ -1118,7 +1057,6 @@
  */
 void AgendaEventView::handleEntryUpdation(ulong id)
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::handleEntryUpdation -->";
 
 	AgendaEntry updatedEntry = mOwner->mAgendaUtil->fetchById(id);
 
@@ -1164,7 +1102,6 @@
 		close();
 	}
 
-	qDebug() << "AgendaEventViewer: AgendaEventView::handleEntryUpdation <--";
 }
 
 /*!
@@ -1172,7 +1109,6 @@
 */
 void AgendaEventView::handleEntryDeletion(ulong id)
 {
-	qDebug() <<"AgendaEventViewer: AgendaEventView::handleEntryDeletion -->";
 
 	if (id == mAgendaEntry.id()) {
 		// Close the agenda entry viewer
@@ -1180,7 +1116,6 @@
 		mOwner->deletingCompleted();
 	}
 
-	qDebug() <<"AgendaEventViewer: AgendaEventView::handleEntryDeletion <--";
 }
 
 /*!
@@ -1189,13 +1124,12 @@
 void AgendaEventView::handleNoteEditorClosed(bool status)
 {
 	Q_UNUSED(status);
-	qDebug() <<"AgendaEventViewer: AgendaEventView::handleNoteEditorClosed -->";
 
-	// Cleanup.
-	mNoteEditor->deleteLater();
+	// To avoid loading the plugin again for editing,
+	// Unload the plug-in while destruction.
+
 	mOwner->editingCompleted();
 
-	qDebug() <<"AgendaEventViewer: AgendaEventView::handleNoteEditorClosed <--";
 }
 
 /*!
@@ -1203,15 +1137,11 @@
  */
 void AgendaEventView::handleCalendarEditorClosed()
 {
-	qDebug() 
-		<<"AgendaEventViewer: AgendaEventView::handleCalendarEditorClosed -->";
 
 	// Cleanup.
 	mCalenEditor->deleteLater();
 	mOwner->editingCompleted();
 
-	qDebug() 
-		<<"AgendaEventViewer: AgendaEventView::handleCalendarEditorClosed <--";
 }
 
 /*!
@@ -1219,7 +1149,6 @@
  */
 void AgendaEventView::handleDeleteOccurence(int index)
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::handleDeleteOccurence -->";
 	
 	// To notify client that deleting Started
 	// Calendar Application changing state from viewing to deleting.
@@ -1239,7 +1168,6 @@
 			break;
 	}
 
-	qDebug() << "AgendaEventViewer: AgendaEventView::handleDeleteOccurence <--";
 }
 
 /*!
@@ -1247,11 +1175,10 @@
  */
 void AgendaEventView::getSubjectIcon(AgendaEntry::Type type, QString &subjectIcon)
     {
-    qDebug() << "AgendaEventViewer: AgendaEventView::getSubjectIcon -->";
     switch(type) {
         case AgendaEntry::TypeAppoinment:
             {
-            subjectIcon.append("qtg_small_favorite");//@to do add proper icon
+            subjectIcon.append("qtg_small_meeting");
             }
             break;
         case AgendaEntry::TypeTodo:
@@ -1261,7 +1188,7 @@
             break;
         case AgendaEntry::TypeEvent:
             {
-            subjectIcon.append("qtg_small_allday");//@ TODO add proper icon
+            subjectIcon.append("qtg_small_day");
             }
             break;
         case AgendaEntry::TypeAnniversary:
@@ -1273,7 +1200,122 @@
             break;
     }
 
-    qDebug() << "AgendaEventViewer: AgendaEventView::getSubjectIcon <--";
     }
 
+/*!
+    According to maptile fetching status , update the viewer screen.
+ */
+void AgendaEventView::updateProgressIndicator()
+{   
+    if (!mMaptileStatusReceived) {
+        QString iconName("qtg_anim_small_loading_");
+        mProgressIconCount = mProgressIconCount % 10 + 1;
+        iconName.append(QVariant(mProgressIconCount).toString());
+        QStringList itemData;
+        itemData.append("qtg_small_location");
+        itemData.append(iconName);
+        itemData.append(QString::null);
+        mLocationWidget->setProperty(primaryLeftIconItem, true);
+        mLocationWidget->setEventViewerItemData(itemData, Qt::DecorationRole);
+        mProgressTimer->start(100);
+    }
+    else {
+        if (mProgressTimer->isActive()) {
+            mProgressTimer->stop();
+        }
+        if (mMaptileStatus == MapTileService::MapTileFetchingCompleted) {
+            QStringList itemData;
+            itemData.append(QString::null);
+            itemData.append(QString::null);
+            itemData.append("qtg_small_location");
+            mLocationWidget->setProperty(primaryLeftIconItem, false);
+            mLocationWidget->setEventViewerItemData(itemData, Qt::DecorationRole);
+            Qt::Orientations orientation=hbInstance->allMainWindows().first()->orientation();
+            mMaptilePath.clear();
+            mMaptileStatus = mMaptileService->getMapTileImage(mAgendaEntry.id(), MapTileService::AddressPlain, mMaptilePath ,orientation);
+            addMapTileImage();
+            QFile file(mMaptilePath);
+            if (file.exists()) {
+                //add to linear layout  
+                int indexMaptileLabel = 3;// index of maptile widget position
+                mLinearLayout->insertItem(indexMaptileLabel, mMaptileLabel);
+                mMaptileLabel->show();
+            }
+            file.close();
+
+        }
+        else {
+            QStringList itemData;
+            itemData.append("qtg_small_location");
+            QString stopIcon;
+            stopIcon.append(QString("qtg_mono_search_stop"));
+            itemData.append(stopIcon);
+            itemData.append(QString::null);
+            mLocationWidget->setProperty(primaryLeftIconItem, true);
+            mLocationWidget->setEventViewerItemData(itemData, Qt::DecorationRole);
+
+        }
+    }
+}
+
+/*!
+    Maptile status received from maptile service 
+ */
+void AgendaEventView::receiveMapTileStatus(int entryid,int addressType, int status)
+{
+    if (mAgendaEntry.id() == entryid && addressType == MapTileService::AddressPlain) {
+        mMaptileStatusReceived = true;
+        mMaptileStatus = status;
+        updateProgressIndicator();
+    }
+}
+
+/*!
+    Returns progress indication icon as per status of entry in database.
+ */
+void AgendaEventView::getProgressIndicatorstatus(QString &progressIcon)
+{
+    MapTileService::AddressType addressType;
+    addressType = MapTileService::AddressPlain;
+    int eventId = mAgendaEntry.id();
+    mMaptilePath.clear();
+    mMaptileStatus = -1;
+    connect(mMaptileService, SIGNAL(maptileFetchingStatusUpdate(int,
+            int ,int)), this, SLOT(receiveMapTileStatus(int,int,int)));
+    Qt::Orientations orientation=hbInstance->allMainWindows().first()->orientation();
+    mMaptileStatus = mMaptileService->getMapTileImage(eventId, addressType, mMaptilePath ,orientation);    
+    if (mMaptileStatus == MapTileService::MapTileFetchingNetworkError || mMaptileStatus
+        == MapTileService::MapTileFetchingInProgress) {
+        mMaptilePath.clear();
+        mMaptileStatusReceived = false; //reseting receiving status value       
+        progressIcon.append(QString("qtg_anim_small_loading_1"));
+        mProgressTimer->start(100);
+    }
+    else if (mMaptileStatus == MapTileService::MapTileFetchingInvalidAddress || mMaptileStatus
+        == MapTileService::MapTileFetchingUnknownError) {
+        mMaptilePath.clear();
+        //no further need of this coonnection 
+        disconnect(mMaptileService, SIGNAL(maptileFetchingStatusUpdate(int,
+                int ,int)), this, SLOT(receiveMapTileStatus(int,int,int)));
+        progressIcon.append(QString("qtg_mono_search_stop"));
+    }
+    else {
+        //no further need of this coonnection
+        disconnect(mMaptileService, SIGNAL(maptileFetchingStatusUpdate(int,
+                int ,int)), this, SLOT(receiveMapTileStatus(int,int,int)));
+        progressIcon.append(QString::null);
+    }
+}
+/*!
+    Reload the maptile image on system orientation change.
+ */
+void AgendaEventView::changedOrientation(Qt::Orientation orientation)
+{
+    if (mMaptileStatus == MapTileService::MapTileFetchingCompleted) {
+        mMaptilePath.clear();
+        mMaptileService->getMapTileImage(mAgendaEntry.id(), MapTileService::AddressPlain, mMaptilePath,orientation);
+        addMapTileImage();
+    }
+}
+
 // End of file
--- a/calendarui/agendaeventviewer/src/agendaeventviewer_p.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/agendaeventviewer/src/agendaeventviewer_p.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -16,7 +16,6 @@
 */
 
 // System includes.
-#include <QDebug>
 #include <QFile>
 #include <QDir>
 
@@ -43,9 +42,8 @@
  */
 AgendaEventViewerPrivate::AgendaEventViewerPrivate(
 		AgendaUtil *agendaUtil, QObject *parent)
-: QObject(parent)
+: QObject(parent),mShowEventViewById(false),mShowEventViewByFileHandle(false),mFileName(NULL),mAction(AgendaEventViewer::ActionNothing)
 {
-	qDebug() <<"AgendaEventViewerPrivate::AgendaEventViewerPrivate -->";
 
 	// Get the q-pointer.from parent
 	q_ptr = static_cast<AgendaEventViewer *> (parent);
@@ -65,8 +63,12 @@
 	connect(
 			mAgendaUtil, SIGNAL(entriesChanged(QList<ulong> )),
 			this, SLOT(handleEntriesChanged(QList<ulong> )));
+	
+	// Register for the calenInstance view creation sucessfully
+	connect(
+	        mAgendaUtil, SIGNAL(entryViewCreationCompleted(int)),
+	        this, SLOT(viewCreationCompleted(int)));
 
-	qDebug() <<"AgendaEventViewerPrivate::AgendaEventViewerPrivate <--";
 }
 
 /*!
@@ -74,14 +76,12 @@
  */
 AgendaEventViewerPrivate::~AgendaEventViewerPrivate()
 {
-	qDebug() <<"AgendaEventViewerPrivate::~AgendaEventViewerPrivate -->";
 
 	if (mViewerOwnsAgendaUtil) {
 		delete mAgendaUtil;
 		mAgendaUtil = 0;
 	}
 
-	qDebug() <<"AgendaEventViewerPrivate::~AgendaEventViewerPrivate <--";
 }
 
 /*!
@@ -93,18 +93,22 @@
 void AgendaEventViewerPrivate::view(const ulong id, 
                                     AgendaEventViewer::Actions action)
 {
-	qDebug() <<"AgendaEventViewerPrivate::view(id) -->";
 	
 	AgendaEntry entry = mAgendaUtil->fetchById(id);
 	
 	if (entry.isNull()) {
+        // save the entries , to show the entry once instances are created
+        // if entry is null exit ,later  call back comes in viewCreationCompleted 
+	    mAction = action;
+        mId =id;
+        //to avoid view creation multiple times
+        mShowEventViewById = true;
 		return;
 	}
 	// Construct the agenda event view
 	mAgendaEventView = new AgendaEventView(this);
 	mAgendaEventView->execute(entry, action);
 
-	qDebug() <<"AgendaEventViewerPrivate::view(id) <--";
 }
 
 /*!
@@ -116,7 +120,6 @@
 void AgendaEventViewerPrivate::view(const QFile &fileHandle, 
                                     AgendaEventViewer::Actions action)
 {
-	qDebug() <<"AgendaEventViewerPrivate::view(fileHandle) -->";
 
 	// Using calendar importer read the filehandle and generate agenda entry
 	QString filePath = fileHandle.fileName();
@@ -126,8 +129,13 @@
 	if (!entry.isNull()) {
 		mAgendaEventView = new AgendaEventView(this);
 		mAgendaEventView->execute(entry, action);
+	} else {
+        //store the file name
+        mFileName = filePath ;
+        mAction = action ;
+        mShowEventViewByFileHandle = true;
+        q_ptr->viewingCompleted(QDateTime::currentDateTime().date());
 	}
-	qDebug() <<"AgendaEventViewerPrivate::view(fileHandle) <--";
 }
 
 /*!
@@ -137,7 +145,6 @@
 void AgendaEventViewerPrivate::view(AgendaEntry entry, 
                                     AgendaEventViewer::Actions action)
 {
-	qDebug() <<"AgendaEventViewerPrivate::view(entry) -->";
 
 	if (entry.isNull()) {
 			return;
@@ -146,7 +153,6 @@
 	mAgendaEventView = new AgendaEventView(this);
 	mAgendaEventView->execute(entry, action);
 
-	qDebug() <<"AgendaEventViewerPrivate::view(entry) <--";
 }
 
 /*!
@@ -156,7 +162,6 @@
  */
 void AgendaEventViewerPrivate::viewingCompleted(const QDate date)
 {
-	qDebug() <<"AgendaEventViewerPrivate::viewingCompleted -->";
 
 	emit q_ptr->viewingCompleted(date);
 
@@ -165,7 +170,6 @@
 		mAgendaEventView->deleteLater();
 	}
 
-	qDebug() <<"AgendaEventViewerPrivate::viewingCompleted -->";
 }
 
 /*!
@@ -173,11 +177,9 @@
  */
 void AgendaEventViewerPrivate::editingStarted()
 {
-	qDebug() <<"AgendaEventViewerPrivate::editingStarted -->";
 
 	emit q_ptr->editingStarted();
 
-	qDebug() <<"AgendaEventViewerPrivate::editingStarted -->";
 }
 
 /*!
@@ -185,11 +187,9 @@
  */
 void AgendaEventViewerPrivate::editingCompleted()
 {
-	qDebug() <<"AgendaEventViewerPrivate::editingCompleted -->";
 
 	emit q_ptr->editingCompleted();
 
-	qDebug() <<"AgendaEventViewerPrivate::editingCompleted -->";
 }
 
 /*!
@@ -197,11 +197,9 @@
  */
 void AgendaEventViewerPrivate::deletingStarted()
 {
-	qDebug() <<"AgendaEventViewerPrivate::deletingStarted -->";
 
 	emit q_ptr->deletingStarted();
 
-	qDebug() <<"AgendaEventViewerPrivate::deletingStarted -->";
 }
 
 /*!
@@ -209,11 +207,43 @@
  */
 void AgendaEventViewerPrivate::deletingCompleted()
 {
-	qDebug() <<"AgendaEventViewerPrivate::deletingCompleted -->";
 
 	emit q_ptr->deletingCompleted();
 
-	qDebug() <<"AgendaEventViewerPrivate::deletingCompleted -->";
 }
 
+
+/*!
+     calls when instances of calenInstanceview and 
+     entryInstanceview is created successfully
+ */
+void AgendaEventViewerPrivate::viewCreationCompleted(int error)
+    {
+    
+    if((KErrNone == error))
+        {
+        AgendaEntry entry;
+        if (mShowEventViewById)
+            {
+            entry = mAgendaUtil->fetchById(mId);
+            }
+        else if(mShowEventViewByFileHandle)
+            {
+            QString nativeFilePath = QDir::toNativeSeparators(mFileName);
+            mAgendaUtil->importvCalendar(nativeFilePath, entry);
+            }
+        //if entry is there , then show the view
+        if (!entry.isNull()) 
+            {
+            mAgendaEventView = new AgendaEventView(this);
+            mAgendaEventView->execute(entry, mAction);
+            }
+        }      
+    //reset the variables
+    mId = 0;
+    mFileName.clear();
+    mShowEventViewById = false;
+    mShowEventViewByFileHandle = false;
+    mAction = AgendaEventViewer::ActionNothing;
+	}
 // End of file
--- a/calendarui/application/application.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/application/application.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -25,7 +25,6 @@
 
 CONFIG += hb
 
-
 symbian: { 
 
 	BLD_INF_RULES.prj_exports += \
@@ -33,9 +32,13 @@
 	"../rom/calendarresources.iby			LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(calendarresources.iby)" \
 	"../rom/calenregionalutil.iby			LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(calenregionalutil.iby)" \
 	"../rom/calenlunarchinese_variant.iby	CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(calenlunarchinese_variant.iby)" \
+	"../rom/calenviewerservice.iby			CORE_APP_LAYER_IBY_EXPORT_PATH(calenviewerservice.iby)" \
 	# Generic configuration interface for component cenrep settings  
 	"../conf/calendarUI.confml				APP_LAYER_CONFML(calendarUI.confml)" \
-	"../conf/calendarUI_101F874B.crml		APP_LAYER_CRML(calendarUI_101F874B.crml)" 	
+	"../conf/calendarUI_101F874B.crml		APP_LAYER_CRML(calendarUI_101F874B.crml)" \
+	# stubsis is added to provide IAD
+	"../stubsis/calendar_stub.sis             /epoc32/data/z/system/install/calendar_stub.sis"
+
 
 	LIBS += -lcalencontroller \
 		-lxqservice \ 
@@ -53,10 +56,8 @@
 
     CONFIG += service
     SERVICE.FILE = calendar_conf.xml
-
-    RESOURCES += calendar.qrc
-
-    TRANSLATIONS += calendar.ts
+    
+    SKINICON = qtg_large_calendar
 
 }
 
@@ -66,4 +67,8 @@
 SOURCES += main.cpp \
 	     calenserviceprovider.cpp	
 
+RESOURCES += calendar.qrc
+
+TRANSLATIONS += calendar.ts
+
 # End of file	--Don't remove this.
\ No newline at end of file
--- a/calendarui/application/inc/calenserviceprovider.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/application/inc/calenserviceprovider.h	Thu Jul 22 16:32:51 2010 +0100
@@ -27,7 +27,7 @@
 public:
 	enum CalenView{
 			MonthView = 0,
-			DayView
+			AgendaView
 		};
 	//Q_DECLARE_USER_METATYPE_ENUM(enum);
     CalenServiceProvider(CCalenController *controller, QObject* parent = 0);
--- a/calendarui/application/src/calenserviceprovider.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/application/src/calenserviceprovider.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -15,9 +15,10 @@
 *
 */
 //#include <qdatetime.h>
-#include <qdebug.h>
 #include <hbmainwindow.h>
 
+#include <CalenLauncher>
+
 #include "calencontroller.h"
 #include "caleneditor.h"
 #include "calenserviceprovider.h"
@@ -36,17 +37,16 @@
 
 void CalenServiceProvider::launchCalendarApp(const QDateTime& date, int viewId)
 {	
-	qDebug() << "launchCalendarApp slot getting called -->";
 	
 	// Check the view ID and launch the corresponding view
 	switch(viewId) {
-		case 0:
+		case CalenLauncher::MonthView:
 			// Launch the month view
 			mController->handleServiceManagerSlot(ECalenMonthView, date);
 			break;
-		case 1:
-			// Launch the month view
-			mController->handleServiceManagerSlot(ECalenDayView, date);
+		case CalenLauncher::AgendaView:
+			// Launch the agenda view
+			mController->handleServiceManagerSlot(ECalenAgendaView, date);
 			break;
 		default:
 			// Keep Quiet
--- a/calendarui/application/src/main.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/application/src/main.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -17,10 +17,10 @@
 
 
 #include <QtGui>
-#include <QTranslator>
 #include <xqserviceutil.h>
-#include <hbapplication.h> 
-#include <hbmainwindow.h>  
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+#include <hbtranslator.h>
 #include "calencontroller.h"
 #include "calenserviceprovider.h"
 
@@ -33,28 +33,25 @@
 	HbMainWindow window;
 	
     //For translation, loading and installing translator
-	QTranslator translator;
-    QString lang = QLocale::system().name();
-    QString path = "Z:/resource/qt/translations/";
-    // TODO: Load the appropriate .qm file based on locale
-    bool loaded = translator.load("calendar_en_GB",":/translations");
-    app.installTranslator(&translator);
-
-    //Backup and restore code  need to write here.
+	HbTranslator translator("calendar");
+	translator.loadCommon();
+	
+    // Backup and restore code need to write here.
 	
-    // Check if calendar is launched thru XQService framework
-    bool isFromServiceFrmwrk = XQServiceUtil::isService();
-    CCalenController *controller = new CCalenController(isFromServiceFrmwrk);
-    
-    // Create the Calendar service provider
-    CalenServiceProvider service(controller);
+    CCalenController *controller = new CCalenController();
+
+	int retValue = 0;
+	if (controller) {
+	    controller->constructController();
+    	// Create the Calendar service provider
+	    CalenServiceProvider service(controller);
     
-    int retValue = app.exec();
+    	retValue = app.exec();
     
-    // delete the controller
-    controller->ReleaseCustomisations();
-    controller->Release();
-    
+	    // delete the controller
+    	controller->ReleaseCustomisations();
+	    controller->Release();
+	}
     return retValue;
     }
 
--- a/calendarui/bwins/agendaeventvieweru.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-EXPORTS
-	?view@AgendaEventViewer@@QAEXVAgendaEntry@@W4Actions@1@@Z @ 1 NONAME ; void AgendaEventViewer::view(class AgendaEntry, enum AgendaEventViewer::Actions)
-	?view@AgendaEventViewer@@QAEXABVQFile@@W4Actions@1@@Z @ 2 NONAME ; void AgendaEventViewer::view(class QFile const &, enum AgendaEventViewer::Actions)
-	??1AgendaEventViewer@@UAE@XZ @ 3 NONAME ; AgendaEventViewer::~AgendaEventViewer(void)
-	??0AgendaEventViewer@@QAE@PAVAgendaUtil@@PAVQObject@@@Z @ 4 NONAME ; AgendaEventViewer::AgendaEventViewer(class AgendaUtil *, class QObject *)
-	?view@AgendaEventViewer@@QAEXKW4Actions@1@@Z @ 5 NONAME ; void AgendaEventViewer::view(unsigned long, enum AgendaEventViewer::Actions)
-	??0AgendaEventViewer@@QAE@PAVQObject@@@Z @ 6 NONAME ; AgendaEventViewer::AgendaEventViewer(class QObject *)
-
--- a/calendarui/bwins/calencommonutilsu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-EXPORTS
-	?isNullTime@CalenDateUtils@@SA_NAAVQDateTime@@@Z @ 1 NONAME ; bool CalenDateUtils::isNullTime(class QDateTime &)
-	?roundToPreviousHour@CalenDateUtils@@SAHABH@Z @ 2 NONAME ; int CalenDateUtils::roundToPreviousHour(int const &)
-	?onSameMonth@CalenDateUtils@@SA_NABVQDateTime@@0@Z @ 3 NONAME ; bool CalenDateUtils::onSameMonth(class QDateTime const &, class QDateTime const &)
-	?timeOfDay@CalenDateUtils@@SAHABVQDateTime@@@Z @ 4 NONAME ; int CalenDateUtils::timeOfDay(class QDateTime const &)
-	?minTime@CalenDateUtils@@SA?AVQDateTime@@XZ @ 5 NONAME ; class QDateTime CalenDateUtils::minTime(void)
-	?isOnToday@CalenDateUtils@@SA_NABVQDateTime@@@Z @ 6 NONAME ; bool CalenDateUtils::isOnToday(class QDateTime const &)
-	?displayTimeOnDay@CalenDateUtils@@SA?AVQDateTime@@ABV2@0@Z @ 7 NONAME ; class QDateTime CalenDateUtils::displayTimeOnDay(class QDateTime const &, class QDateTime const &)
-	?endsAtStartOfDayL@CalenAgendaUtils@@SA_NAAVAgendaEntry@@ABVQDateTime@@@Z @ 8 NONAME ; bool CalenAgendaUtils::endsAtStartOfDayL(class AgendaEntry &, class QDateTime const &)
-	?removeEntriesEndingAtMidnightL@CalenAgendaUtils@@SAXAAV?$QList@VAgendaEntry@@@@ABVQDateTime@@@Z @ 9 NONAME ; void CalenAgendaUtils::removeEntriesEndingAtMidnightL(class QList<class AgendaEntry> &, class QDateTime const &)
-	?roundToPreviousHour@CalenDateUtils@@SA?AVQDateTime@@ABV2@@Z @ 10 NONAME ; class QDateTime CalenDateUtils::roundToPreviousHour(class QDateTime const &)
-	?pastOf@CalenDateUtils@@SA?AVQDateTime@@ABV2@H@Z @ 11 NONAME ; class QDateTime CalenDateUtils::pastOf(class QDateTime const &, int)
-	?maxTime@CalenDateUtils@@SA?AVQDateTime@@XZ @ 12 NONAME ; class QDateTime CalenDateUtils::maxTime(void)
-	?timeRangesIntersect@CalenDateUtils@@SA_NABVQDateTime@@000@Z @ 13 NONAME ; bool CalenDateUtils::timeRangesIntersect(class QDateTime const &, class QDateTime const &, class QDateTime const &, class QDateTime const &)
-	?limitToValidTime@CalenDateUtils@@SA?AVQDateTime@@ABV2@@Z @ 14 NONAME ; class QDateTime CalenDateUtils::limitToValidTime(class QDateTime const &)
-	?today@CalenDateUtils@@SA?AVQDateTime@@XZ @ 15 NONAME ; class QDateTime CalenDateUtils::today(void)
-	?isValidDay@CalenDateUtils@@SA_NABVQDateTime@@@Z @ 16 NONAME ; bool CalenDateUtils::isValidDay(class QDateTime const &)
-	?beginningOfDay@CalenDateUtils@@SA?AVQDateTime@@ABV2@@Z @ 17 NONAME ; class QDateTime CalenDateUtils::beginningOfDay(class QDateTime const &)
-	?onSameDay@CalenDateUtils@@SA_NABVQDateTime@@0@Z @ 18 NONAME ; bool CalenDateUtils::onSameDay(class QDateTime const &, class QDateTime const &)
-	?defaultTime@CalenDateUtils@@SA?AVQDateTime@@ABV2@@Z @ 19 NONAME ; class QDateTime CalenDateUtils::defaultTime(class QDateTime const &)
-	?futureOf@CalenDateUtils@@SA?AVQDateTime@@ABV2@H@Z @ 20 NONAME ; class QDateTime CalenDateUtils::futureOf(class QDateTime const &, int)
-	?now@CalenDateUtils@@SA?AVQDateTime@@XZ @ 21 NONAME ; class QDateTime CalenDateUtils::now(void)
-
--- a/calendarui/bwins/calencontrolleru.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-EXPORTS
-	?checkMultipleCreation@CCalenController@@AAEXXZ @ 1 NONAME ; void CCalenController::checkMultipleCreation(void)
-	?SetDefaultContext@CCalenController@@AAEXXZ @ 2 NONAME ; void CCalenController::SetDefaultContext(void)
-	?getFirstView@CCalenController@@QAEHXZ @ 3 NONAME ; int CCalenController::getFirstView(void)
-	?handleServiceManagerSlot@CCalenController@@QAEXHABVQDateTime@@@Z @ 4 NONAME ; void CCalenController::handleServiceManagerSlot(int, class QDateTime const &)
-	?context@CCalenController@@QAEAAVMCalenContext@@XZ @ 5 NONAME ; class MCalenContext & CCalenController::context(void)
-	?ViewManager@CCalenController@@QAEAAVCalenViewManager@@XZ @ 6 NONAME ; class CalenViewManager & CCalenController::ViewManager(void)
-	?Infobar@CCalenController@@QAEPAVHbWidget@@XZ @ 7 NONAME ; class HbWidget * CCalenController::Infobar(void)
-	?agendaInterface@CCalenController@@QAEPAVAgendaUtil@@XZ @ 8 NONAME ; class AgendaUtil * CCalenController::agendaInterface(void)
-	?BroadcastNotification@CCalenController@@QAEXW4TCalenNotification@@@Z @ 9 NONAME ; void CCalenController::BroadcastNotification(enum TCalenNotification)
-	?MainWindow@CCalenController@@QAEAAVHbMainWindow@@XZ @ 10 NONAME ; class HbMainWindow & CCalenController::MainWindow(void)
-	?CancelNotifications@CCalenController@@QAEXPAVMCalenNotificationHandler@@@Z @ 11 NONAME ; void CCalenController::CancelNotifications(class MCalenNotificationHandler *)
-	?Notifier@CCalenController@@QAEAAVCalenNotifier@@XZ @ 12 NONAME ; class CalenNotifier & CCalenController::Notifier(void)
-	?InstanceL@CCalenController@@SAPAV1@XZ @ 13 NONAME ; class CCalenController * CCalenController::InstanceL(void)
-	?CustomisationManager@CCalenController@@QAEAAVCCalenCustomisationManager@@XZ @ 14 NONAME ; class CCalenCustomisationManager & CCalenController::CustomisationManager(void)
-	?IssueCommandL@CCalenController@@QAEHH@Z @ 15 NONAME ; int CCalenController::IssueCommandL(int)
-	?Services@CCalenController@@QAEAAVMCalenServices@@XZ @ 16 NONAME ; class MCalenServices & CCalenController::Services(void)
-	?InfobarTextL@CCalenController@@QAEPAVQString@@XZ @ 17 NONAME ; class QString * CCalenController::InfobarTextL(void)
-	?Release@CCalenController@@QAEXXZ @ 18 NONAME ; void CCalenController::Release(void)
-	?RegisterForNotificationsL@CCalenController@@QAEXPAVMCalenNotificationHandler@@W4TCalenNotification@@@Z @ 19 NONAME ; void CCalenController::RegisterForNotificationsL(class MCalenNotificationHandler *, enum TCalenNotification)
-	??0CCalenController@@QAE@_N@Z @ 20 NONAME ; CCalenController::CCalenController(bool)
-	?GetCommandHandlerL@CCalenController@@QAEPAVMCalenCommandHandler@@H@Z @ 21 NONAME ; class MCalenCommandHandler * CCalenController::GetCommandHandlerL(int)
-	??1CCalenController@@QAE@XZ @ 22 NONAME ; CCalenController::~CCalenController(void)
-	?OfferMenu@CCalenController@@QAEXPAVHbMenu@@@Z @ 23 NONAME ; void CCalenController::OfferMenu(class HbMenu *)
-	?RegisterForNotificationsL@CCalenController@@QAEXPAVMCalenNotificationHandler@@AAV?$RArray@W4TCalenNotification@@@@@Z @ 24 NONAME ; void CCalenController::RegisterForNotificationsL(class MCalenNotificationHandler *, class RArray<enum TCalenNotification> &)
-	?NewServicesL@CCalenController@@UAEPAVMCalenServices@@XZ @ 25 NONAME ; class MCalenServices * CCalenController::NewServicesL(void)
-	?ReleaseCustomisations@CCalenController@@QAEXXZ @ 26 NONAME ; void CCalenController::ReleaseCustomisations(void)
-
--- a/calendarui/bwins/calencustomisationmanageru.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-EXPORTS
-	?SetPluginAvailabilityL@CCalenCustomisationManager@@QAEXVTUid@@H@Z @ 1 NONAME ; void CCalenCustomisationManager::SetPluginAvailabilityL(class TUid, int)
-	?HandleNotificationL@CCalenCustomisationManager@@AAEXW4TCalenNotification@@@Z @ 2 NONAME ; void CCalenCustomisationManager::HandleNotificationL(enum TCalenNotification)
-	?HandleNotification@CCalenCustomisationManager@@UAEXW4TCalenNotification@@@Z @ 3 NONAME ; void CCalenCustomisationManager::HandleNotification(enum TCalenNotification)
-	?CreateActivePluginListL@CCalenCustomisationManager@@AAEXXZ @ 4 NONAME ; void CCalenCustomisationManager::CreateActivePluginListL(void)
-	?AddPluginL@CCalenCustomisationManager@@AAEXPAVCCalenCustomisation@@VTUid@@@Z @ 5 NONAME ; void CCalenCustomisationManager::AddPluginL(class CCalenCustomisation *, class TUid)
-	?OfferMenu@CCalenCustomisationManager@@QAEXPAVHbMenu@@@Z @ 6 NONAME ; void CCalenCustomisationManager::OfferMenu(class HbMenu *)
-	?PluginInfoArray@CCalenCustomisationManager@@QBEABV?$RPointerArray@VCImplementationInformation@@@@XZ @ 7 NONAME ; class RPointerArray<class CImplementationInformation> const & CCalenCustomisationManager::PluginInfoArray(void) const
-	?DisablePluginL@CCalenCustomisationManager@@AAEXVTUid@@@Z @ 8 NONAME ; void CCalenCustomisationManager::DisablePluginL(class TUid)
-	??_ECCalenCustomisationManager@@UAE@I@Z @ 9 NONAME ; CCalenCustomisationManager::~CCalenCustomisationManager(unsigned int)
-	?InfobarTextL@CCalenCustomisationManager@@QAEPAVQString@@XZ @ 10 NONAME ; class QString * CCalenCustomisationManager::InfobarTextL(void)
-	?NewL@CCalenCustomisationManager@@SAPAV1@AAVMCalenServicesFactory@@AAVMCalenServices@@@Z @ 11 NONAME ; class CCalenCustomisationManager * CCalenCustomisationManager::NewL(class MCalenServicesFactory &, class MCalenServices &)
-	?ActivePlugins@CCalenCustomisationManager@@QBEABV?$RArray@VTUid@@@@XZ @ 12 NONAME ; class RArray<class TUid> const & CCalenCustomisationManager::ActivePlugins(void) const
-	?PluginAvailabilityFinder@CCalenCustomisationManager@@CAHPBVTUid@@ABUTCalenPluginAvailability@1@@Z @ 13 NONAME ; int CCalenCustomisationManager::PluginAvailabilityFinder(class TUid const *, struct CCalenCustomisationManager::TCalenPluginAvailability const &)
-	?UnloadPluginsL@CCalenCustomisationManager@@QAEXABV?$RArray@VTUid@@@@@Z @ 14 NONAME ; void CCalenCustomisationManager::UnloadPluginsL(class RArray<class TUid> const &)
-	??1CCalenCustomisationManager@@UAE@XZ @ 15 NONAME ; CCalenCustomisationManager::~CCalenCustomisationManager(void)
-	?LoadPluginL@CCalenCustomisationManager@@AAEXVTUid@@@Z @ 16 NONAME ; void CCalenCustomisationManager::LoadPluginL(class TUid)
-	?GetCommandHandlerL@CCalenCustomisationManager@@QAEPAVMCalenCommandHandler@@H@Z @ 17 NONAME ; class MCalenCommandHandler * CCalenCustomisationManager::GetCommandHandlerL(int)
-	??0CCalenCustomisationManager@@AAE@AAVMCalenServicesFactory@@AAVMCalenServices@@@Z @ 18 NONAME ; CCalenCustomisationManager::CCalenCustomisationManager(class MCalenServicesFactory &, class MCalenServices &)
-	?DoImmediatePluginLoadingL@CCalenCustomisationManager@@AAEXXZ @ 19 NONAME ; void CCalenCustomisationManager::DoImmediatePluginLoadingL(void)
-	?FindPluginL@CCalenCustomisationManager@@AAEPAVCCalenCustomisation@@VTUid@@@Z @ 20 NONAME ; class CCalenCustomisation * CCalenCustomisationManager::FindPluginL(class TUid)
-	?ConstructL@CCalenCustomisationManager@@AAEXXZ @ 21 NONAME ; void CCalenCustomisationManager::ConstructL(void)
-	?EnablePluginL@CCalenCustomisationManager@@AAEXVTUid@@@Z @ 22 NONAME ; void CCalenCustomisationManager::EnablePluginL(class TUid)
-	?Infobar@CCalenCustomisationManager@@QAEPAVHbWidget@@XZ @ 23 NONAME ; class HbWidget * CCalenCustomisationManager::Infobar(void)
-
--- a/calendarui/bwins/caleneditoru.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-EXPORTS
-	?metaObject@CalenEditor@@UBEPBUQMetaObject@@XZ @ 1 NONAME ; struct QMetaObject const * CalenEditor::metaObject(void) const
-	?edit@CalenEditor@@QAEXVAgendaEntry@@_N@Z @ 2 NONAME ; void CalenEditor::edit(class AgendaEntry, bool)
-	?edit@CalenEditor@@QAEXABVQFile@@_N@Z @ 3 NONAME ; void CalenEditor::edit(class QFile const &, bool)
-	??_ECalenEditor@@UAE@I@Z @ 4 NONAME ; CalenEditor::~CalenEditor(unsigned int)
-	?tr@CalenEditor@@SA?AVQString@@PBD0@Z @ 5 NONAME ; class QString CalenEditor::tr(char const *, char const *)
-	?getStaticMetaObject@CalenEditor@@SAABUQMetaObject@@XZ @ 6 NONAME ; struct QMetaObject const & CalenEditor::getStaticMetaObject(void)
-	?trUtf8@CalenEditor@@SA?AVQString@@PBD0@Z @ 7 NONAME ; class QString CalenEditor::trUtf8(char const *, char const *)
-	?tr@CalenEditor@@SA?AVQString@@PBD0H@Z @ 8 NONAME ; class QString CalenEditor::tr(char const *, char const *, int)
-	?entrySaved@CalenEditor@@IAEXXZ @ 9 NONAME ; void CalenEditor::entrySaved(void)
-	?qt_metacast@CalenEditor@@UAEPAXPBD@Z @ 10 NONAME ; void * CalenEditor::qt_metacast(char const *)
-	?create@CalenEditor@@QAEXVQDateTime@@_NW4CreateType@1@@Z @ 11 NONAME ; void CalenEditor::create(class QDateTime, bool, enum CalenEditor::CreateType)
-	??0CalenEditor@@QAE@PAVQObject@@@Z @ 12 NONAME ; CalenEditor::CalenEditor(class QObject *)
-	?d_func@CalenEditor@@ABEPBVCalenEditorPrivate@@XZ @ 13 NONAME ; class CalenEditorPrivate const * CalenEditor::d_func(void) const
-	?trUtf8@CalenEditor@@SA?AVQString@@PBD0H@Z @ 14 NONAME ; class QString CalenEditor::trUtf8(char const *, char const *, int)
-	??0CalenEditor@@QAE@PAVAgendaUtil@@PAVQObject@@@Z @ 15 NONAME ; CalenEditor::CalenEditor(class AgendaUtil *, class QObject *)
-	?qt_metacall@CalenEditor@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 16 NONAME ; int CalenEditor::qt_metacall(enum QMetaObject::Call, int, void * *)
-	??1CalenEditor@@UAE@XZ @ 17 NONAME ; CalenEditor::~CalenEditor(void)
-	?staticMetaObject@CalenEditor@@2UQMetaObject@@B @ 18 NONAME ; struct QMetaObject const CalenEditor::staticMetaObject
-	?edit@CalenEditor@@QAEXK_N@Z @ 19 NONAME ; void CalenEditor::edit(unsigned long, bool)
-	?dialogClosed@CalenEditor@@IAEXXZ @ 20 NONAME ; void CalenEditor::dialogClosed(void)
-	?d_func@CalenEditor@@AAEPAVCalenEditorPrivate@@XZ @ 21 NONAME ; class CalenEditorPrivate * CalenEditor::d_func(void)
-	?calendarLaunchFailed@CalenEditor@@IAEXH@Z @ 22 NONAME ; void CalenEditor::calendarLaunchFailed(int)
-	?create@CalenEditor@@QAEXVAgendaEntry@@_NW4CreateType@1@@Z @ 23 NONAME ; void CalenEditor::create(class AgendaEntry, bool, enum CalenEditor::CreateType)
-
--- a/calendarui/bwins/calenglobaldatau.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-EXPORTS
-	??0CalenContextImpl@@QAE@XZ @ 1 NONAME ; CalenContextImpl::CalenContextImpl(void)
-	??0CalenContextImpl@@QAE@PAVMCalenContextChangeObserver@@@Z @ 2 NONAME ; CalenContextImpl::CalenContextImpl(class MCalenContextChangeObserver *)
-	??0CalenContextImpl@@QAE@ABV0@@Z @ 3 NONAME ; CalenContextImpl::CalenContextImpl(class CalenContextImpl const &)
-
--- a/calendarui/bwins/calenlauncheru.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-EXPORTS
-	?staticMetaObject@CalenLauncher@@2UQMetaObject@@B @ 1 NONAME ; struct QMetaObject const CalenLauncher::staticMetaObject
-	?launchCalendarApp@CalenLauncher@@QAEXW4CalenView@1@AAVQDateTime@@_N@Z @ 2 NONAME ; void CalenLauncher::launchCalendarApp(enum CalenLauncher::CalenView, class QDateTime &, bool)
-	?calendarLaunchFailed@CalenLauncher@@IAEXH@Z @ 3 NONAME ; void CalenLauncher::calendarLaunchFailed(int)
-	??1CalenLauncher@@UAE@XZ @ 4 NONAME ; CalenLauncher::~CalenLauncher(void)
-	??_ECalenLauncher@@UAE@I@Z @ 5 NONAME ; CalenLauncher::~CalenLauncher(unsigned int)
-	?tr@CalenLauncher@@SA?AVQString@@PBD0H@Z @ 6 NONAME ; class QString CalenLauncher::tr(char const *, char const *, int)
-	?trUtf8@CalenLauncher@@SA?AVQString@@PBD0@Z @ 7 NONAME ; class QString CalenLauncher::trUtf8(char const *, char const *)
-	?tr@CalenLauncher@@SA?AVQString@@PBD0@Z @ 8 NONAME ; class QString CalenLauncher::tr(char const *, char const *)
-	?qt_metacast@CalenLauncher@@UAEPAXPBD@Z @ 9 NONAME ; void * CalenLauncher::qt_metacast(char const *)
-	?getStaticMetaObject@CalenLauncher@@SAABUQMetaObject@@XZ @ 10 NONAME ; struct QMetaObject const & CalenLauncher::getStaticMetaObject(void)
-	?handleError@CalenLauncher@@QAEXH@Z @ 11 NONAME ; void CalenLauncher::handleError(int)
-	?trUtf8@CalenLauncher@@SA?AVQString@@PBD0H@Z @ 12 NONAME ; class QString CalenLauncher::trUtf8(char const *, char const *, int)
-	??0CalenLauncher@@QAE@PAVQObject@@@Z @ 13 NONAME ; CalenLauncher::CalenLauncher(class QObject *)
-	?metaObject@CalenLauncher@@UBEPBUQMetaObject@@XZ @ 14 NONAME ; struct QMetaObject const * CalenLauncher::metaObject(void) const
-	?qt_metacall@CalenLauncher@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 15 NONAME ; int CalenLauncher::qt_metacall(enum QMetaObject::Call, int, void * *)
-
--- a/calendarui/bwins/calensettingsu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-EXPORTS
-	?tr@CalenSettings@@SA?AVQString@@PBD0@Z @ 1 NONAME ; class QString CalenSettings::tr(char const *, char const *)
-	?createModel@CalenSettings@@QAEXXZ @ 2 NONAME ; void CalenSettings::createModel(void)
-	?trUtf8@CalenSettings@@SA?AVQString@@PBD0H@Z @ 3 NONAME ; class QString CalenSettings::trUtf8(char const *, char const *, int)
-	?handleAlarmSnoozeTimeChange@CalenSettings@@QAEXH@Z @ 4 NONAME ; void CalenSettings::handleAlarmSnoozeTimeChange(int)
-	?getStaticMetaObject@CalenSettings@@SAABUQMetaObject@@XZ @ 5 NONAME ; struct QMetaObject const & CalenSettings::getStaticMetaObject(void)
-	?metaObject@CalenSettings@@UBEPBUQMetaObject@@XZ @ 6 NONAME ; struct QMetaObject const * CalenSettings::metaObject(void) const
-	??_ECalenSettings@@UAE@I@Z @ 7 NONAME ; CalenSettings::~CalenSettings(unsigned int)
-	??1CalenSettings@@UAE@XZ @ 8 NONAME ; CalenSettings::~CalenSettings(void)
-	?qt_metacall@CalenSettings@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 9 NONAME ; int CalenSettings::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?handleRegionalInfoChange@CalenSettings@@QAEXXZ @ 10 NONAME ; void CalenSettings::handleRegionalInfoChange(void)
-	?qt_metacast@CalenSettings@@UAEPAXPBD@Z @ 11 NONAME ; void * CalenSettings::qt_metacast(char const *)
-	?staticMetaObject@CalenSettings@@2UQMetaObject@@B @ 12 NONAME ; struct QMetaObject const CalenSettings::staticMetaObject
-	?handleWeekNumberChange@CalenSettings@@QAEXXZ @ 13 NONAME ; void CalenSettings::handleWeekNumberChange(void)
-	?tr@CalenSettings@@SA?AVQString@@PBD0H@Z @ 14 NONAME ; class QString CalenSettings::tr(char const *, char const *, int)
-	?populateSettingList@CalenSettings@@QAEXXZ @ 15 NONAME ; void CalenSettings::populateSettingList(void)
-	?trUtf8@CalenSettings@@SA?AVQString@@PBD0@Z @ 16 NONAME ; class QString CalenSettings::trUtf8(char const *, char const *)
-	??0CalenSettings@@QAE@PAVHbDataForm@@PAVQObject@@@Z @ 17 NONAME ; CalenSettings::CalenSettings(class HbDataForm *, class QObject *)
-
--- a/calendarui/bwins/calenviewsu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,154 +0,0 @@
-EXPORTS
-	?scrollingFinished@CalenPreviewPane@@QAEXXZ @ 1 NONAME ; void CalenPreviewPane::scrollingFinished(void)
-	?fetchEntriesAndUpdateModel@CalenMonthView@@QAEXXZ @ 2 NONAME ; void CalenMonthView::fetchEntriesAndUpdateModel(void)
-	?setDate@CalenMonthView@@AAEXXZ @ 3 NONAME ; void CalenMonthView::setDate(void)
-	?showHideRegionalInformation@CalenMonthView@@AAEXXZ @ 4 NONAME ; void CalenMonthView::showHideRegionalInformation(void)
-	?updateMonthGridWithEventIndicators@CalenMonthGrid@@QAEXAAV?$QList@VCalenMonthData@@@@@Z @ 5 NONAME ; void CalenMonthGrid::updateMonthGridWithEventIndicators(class QList<class CalenMonthData> &)
-	?handleGridItemActivated@CalenMonthView@@QAEXXZ @ 6 NONAME ; void CalenMonthView::handleGridItemActivated(void)
-	?setFocusToProperDay@CalenMonthGrid@@AAEXXZ @ 7 NONAME ; void CalenMonthGrid::setFocusToProperDay(void)
-	??1CalenPreviewPane@@UAE@XZ @ 8 NONAME ; CalenPreviewPane::~CalenPreviewPane(void)
-	?mousePressEvent@CalenMonthGrid@@EAEXPAVQGraphicsSceneMouseEvent@@@Z @ 9 NONAME ; void CalenMonthGrid::mousePressEvent(class QGraphicsSceneMouseEvent *)
-	?completePopulation@CalenMonthView@@AAEXXZ @ 10 NONAME ; void CalenMonthView::completePopulation(void)
-	?handleAppendingRows@CalenMonthGrid@@AAEXAAV?$QList@VCalenMonthData@@@@@Z @ 11 NONAME ; void CalenMonthGrid::handleAppendingRows(class QList<class CalenMonthData> &)
-	?handleChangeOrientation@CalenMonthView@@AAEXXZ @ 12 NONAME ; void CalenMonthView::handleChangeOrientation(void)
-	?staticMetaObject@CalenSettingsView@@2UQMetaObject@@B @ 13 NONAME ; struct QMetaObject const CalenSettingsView::staticMetaObject
-	?upGesture@CalenMonthGrid@@MAEXH@Z @ 14 NONAME ; void CalenMonthGrid::upGesture(int)
-	?getStaticMetaObject@CalenSettingsView@@SAABUQMetaObject@@XZ @ 15 NONAME ; struct QMetaObject const & CalenSettingsView::getStaticMetaObject(void)
-	?updateMonthDataArrayWithActiveDates@CalenMonthView@@AAEXXZ @ 16 NONAME ; void CalenMonthView::updateMonthDataArrayWithActiveDates(void)
-	?scrollingFinished@CalenMonthGrid@@QAEXXZ @ 17 NONAME ; void CalenMonthGrid::scrollingFinished(void)
-	?setCurrentIdex@CalenMonthGrid@@QAEXH@Z @ 18 NONAME ; void CalenMonthGrid::setCurrentIdex(int)
-	??_ECalenMonthGrid@@UAE@I@Z @ 19 NONAME ; CalenMonthGrid::~CalenMonthGrid(unsigned int)
-	?trUtf8@CalenPreviewPane@@SA?AVQString@@PBD0@Z @ 20 NONAME ; class QString CalenPreviewPane::trUtf8(char const *, char const *)
-	?trUtf8@CalenMonthGrid@@SA?AVQString@@PBD0@Z @ 21 NONAME ; class QString CalenMonthGrid::trUtf8(char const *, char const *)
-	?populatePrevMonth@CalenMonthView@@QAEXXZ @ 22 NONAME ; void CalenMonthView::populatePrevMonth(void)
-	?qt_metacall@CalenSettingsView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 23 NONAME ; int CalenSettingsView::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?handleLeftEffectCompleted@CalenMonthView@@AAEXABUEffectStatus@HbEffect@@@Z @ 24 NONAME ; void CalenMonthView::handleLeftEffectCompleted(struct HbEffect::EffectStatus const &)
-	?getStaticMetaObject@CalenMonthGrid@@SAABUQMetaObject@@XZ @ 25 NONAME ; struct QMetaObject const & CalenMonthGrid::getStaticMetaObject(void)
-	?trUtf8@CalenSettingsView@@SA?AVQString@@PBD0H@Z @ 26 NONAME ; class QString CalenSettingsView::trUtf8(char const *, char const *, int)
-	?qt_metacast@CalenMonthView@@UAEPAXPBD@Z @ 27 NONAME ; void * CalenMonthView::qt_metacast(char const *)
-	?staticMetaObject@CalenMonthView@@2UQMetaObject@@B @ 28 NONAME ; struct QMetaObject const CalenMonthView::staticMetaObject
-	?setupView@CalenMonthView@@QAEXPAVCalenDocLoader@@@Z @ 29 NONAME ; void CalenMonthView::setupView(class CalenDocLoader *)
-	?metaObject@CalenMonthGrid@@UBEPBUQMetaObject@@XZ @ 30 NONAME ; struct QMetaObject const * CalenMonthGrid::metaObject(void) const
-	?startAutoScroll@CalenPreviewPane@@QAEXXZ @ 31 NONAME ; void CalenPreviewPane::startAutoScroll(void)
-	?doLazyLoading@CalenMonthView@@QAEXXZ @ 32 NONAME ; void CalenMonthView::doLazyLoading(void)
-	?setView@CalenMonthGrid@@QAEXPAVCalenMonthView@@@Z @ 33 NONAME ; void CalenMonthGrid::setView(class CalenMonthView *)
-	?HandleNotification@CalenDayView@@UAEXW4TCalenNotification@@@Z @ 34 NONAME ; void CalenDayView::HandleNotification(enum TCalenNotification)
-	?panGesture@CalenMonthGrid@@MAEXABVQPointF@@@Z @ 35 NONAME ; void CalenMonthGrid::panGesture(class QPointF const &)
-	?mousePressEvent@CalenPreviewPane@@UAEXPAVQGraphicsSceneMouseEvent@@@Z @ 36 NONAME ; void CalenPreviewPane::mousePressEvent(class QGraphicsSceneMouseEvent *)
-	??1CalenSettingsView@@UAE@XZ @ 37 NONAME ; CalenSettingsView::~CalenSettingsView(void)
-	?Date@CalenPreviewPane@@QAE?AVQDateTime@@XZ @ 38 NONAME ; class QDateTime CalenPreviewPane::Date(void)
-	?tr@CalenPreviewPane@@SA?AVQString@@PBD0H@Z @ 39 NONAME ; class QString CalenPreviewPane::tr(char const *, char const *, int)
-	?metaObject@CalenMonthView@@UBEPBUQMetaObject@@XZ @ 40 NONAME ; struct QMetaObject const * CalenMonthView::metaObject(void) const
-	??0CalenPreviewPane@@QAE@AAVMCalenServices@@PAVQGraphicsItem@@@Z @ 41 NONAME ; CalenPreviewPane::CalenPreviewPane(class MCalenServices &, class QGraphicsItem *)
-	?mouseReleaseEvent@CalenPreviewPane@@UAEXPAVQGraphicsSceneMouseEvent@@@Z @ 42 NONAME ; void CalenPreviewPane::mouseReleaseEvent(class QGraphicsSceneMouseEvent *)
-	?rowsInPrevMonth@CalenMonthView@@QAEHXZ @ 43 NONAME ; int CalenMonthView::rowsInPrevMonth(void)
-	?handlePrependingRows@CalenMonthGrid@@AAEXAAV?$QList@VCalenMonthData@@@@@Z @ 44 NONAME ; void CalenMonthGrid::handlePrependingRows(class QList<class CalenMonthData> &)
-	?mouseMoveEvent@CalenPreviewPane@@UAEXPAVQGraphicsSceneMouseEvent@@@Z @ 45 NONAME ; void CalenPreviewPane::mouseMoveEvent(class QGraphicsSceneMouseEvent *)
-	?metaObject@CalenPreviewPane@@UBEPBUQMetaObject@@XZ @ 46 NONAME ; struct QMetaObject const * CalenPreviewPane::metaObject(void) const
-	??0CalenDayView@@QAE@AAVMCalenServices@@@Z @ 47 NONAME ; CalenDayView::CalenDayView(class MCalenServices &)
-	?populateNextMonth@CalenMonthView@@QAEXXZ @ 48 NONAME ; void CalenMonthView::populateNextMonth(void)
-	?handleRightEffectCompleted@CalenMonthView@@AAEXABUEffectStatus@HbEffect@@@Z @ 49 NONAME ; void CalenMonthView::handleRightEffectCompleted(struct HbEffect::EffectStatus const &)
-	?qt_metacast@CalenMonthGrid@@UAEPAXPBD@Z @ 50 NONAME ; void * CalenMonthGrid::qt_metacast(char const *)
-	?firstDayOfGrid@CalenMonthView@@QAE?AVQDateTime@@XZ @ 51 NONAME ; class QDateTime CalenMonthView::firstDayOfGrid(void)
-	?rowsInFutMonth@CalenMonthView@@QAEHXZ @ 52 NONAME ; int CalenMonthView::rowsInFutMonth(void)
-	?getCurrGridIndex@CalenMonthView@@QAEHXZ @ 53 NONAME ; int CalenMonthView::getCurrGridIndex(void)
-	?launchDayView@CalenMonthView@@QAEXXZ @ 54 NONAME ; void CalenMonthView::launchDayView(void)
-	??1CalenDayViewWidget@@UAE@XZ @ 55 NONAME ; CalenDayViewWidget::~CalenDayViewWidget(void)
-	??0CalenDayViewWidget@@QAE@AAVMCalenServices@@PAVCalenDocLoader@@@Z @ 56 NONAME ; CalenDayViewWidget::CalenDayViewWidget(class MCalenServices &, class CalenDocLoader *)
-	?prependRows@CalenMonthGrid@@QAEXXZ @ 57 NONAME ; void CalenMonthGrid::prependRows(void)
-	?orientationChanged@CalenMonthGrid@@MAEXW4Orientation@Qt@@@Z @ 58 NONAME ; void CalenMonthGrid::orientationChanged(enum Qt::Orientation)
-	?qt_metacall@CalenPreviewPane@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 59 NONAME ; int CalenPreviewPane::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?trUtf8@CalenPreviewPane@@SA?AVQString@@PBD0H@Z @ 60 NONAME ; class QString CalenPreviewPane::trUtf8(char const *, char const *, int)
-	??1CalenThickLinesDrawer@@UAE@XZ @ 61 NONAME ; CalenThickLinesDrawer::~CalenThickLinesDrawer(void)
-	?setView@CalenPreviewPane@@QAEXPAVCalenMonthView@@@Z @ 62 NONAME ; void CalenPreviewPane::setView(class CalenMonthView *)
-	??_ECalenMonthView@@UAE@I@Z @ 63 NONAME ; CalenMonthView::~CalenMonthView(unsigned int)
-	?changeOrientation@CalenMonthView@@UAEXW4Orientation@Qt@@@Z @ 64 NONAME ; void CalenMonthView::changeOrientation(enum Qt::Orientation)
-	?populatePreviewPane@CalenMonthView@@QAEXAAVQDateTime@@@Z @ 65 NONAME ; void CalenMonthView::populatePreviewPane(class QDateTime &)
-	??0CalenSettingsView@@QAE@AAVMCalenServices@@PAVQGraphicsItem@@@Z @ 66 NONAME ; CalenSettingsView::CalenSettingsView(class MCalenServices &, class QGraphicsItem *)
-	?updateModelWithPrevMonth@CalenMonthView@@QAEXXZ @ 67 NONAME ; void CalenMonthView::updateModelWithPrevMonth(void)
-	?stopScrolling@CalenPreviewPane@@QAEXXZ @ 68 NONAME ; void CalenPreviewPane::stopScrolling(void)
-	?addBackgroundFrame@CalenMonthView@@AAEXXZ @ 69 NONAME ; void CalenMonthView::addBackgroundFrame(void)
-	?createGrid@CalenMonthView@@AAEXXZ @ 70 NONAME ; void CalenMonthView::createGrid(void)
-	?tr@CalenPreviewPane@@SA?AVQString@@PBD0@Z @ 71 NONAME ; class QString CalenPreviewPane::tr(char const *, char const *)
-	?getStaticMetaObject@CalenPreviewPane@@SAABUQMetaObject@@XZ @ 72 NONAME ; struct QMetaObject const & CalenPreviewPane::getStaticMetaObject(void)
-	?launchPreviousView@CalenSettingsView@@AAEXXZ @ 73 NONAME ; void CalenSettingsView::launchPreviousView(void)
-	?setCurrGridIndex@CalenMonthView@@QAEXH@Z @ 74 NONAME ; void CalenMonthView::setCurrGridIndex(int)
-	?setDateToLabel@CalenMonthView@@AAEXXZ @ 75 NONAME ; void CalenMonthView::setDateToLabel(void)
-	?addWeekNumbers@CalenMonthView@@AAEXXZ @ 76 NONAME ; void CalenMonthView::addWeekNumbers(void)
-	?qt_metacall@CalenThickLinesDrawer@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 77 NONAME ; int CalenThickLinesDrawer::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?setupView@CalenDayView@@QAEXPAVCalenDocLoader@@@Z @ 78 NONAME ; void CalenDayView::setupView(class CalenDocLoader *)
-	??1CalenMonthView@@UAE@XZ @ 79 NONAME ; CalenMonthView::~CalenMonthView(void)
-	?dateFromContext@CalenMonthView@@AAE?AVQDateTime@@ABVMCalenContext@@@Z @ 80 NONAME ; class QDateTime CalenMonthView::dateFromContext(class MCalenContext const &)
-	?staticMetaObject@CalenMonthGrid@@2UQMetaObject@@B @ 81 NONAME ; struct QMetaObject const CalenMonthGrid::staticMetaObject
-	?trUtf8@CalenMonthGrid@@SA?AVQString@@PBD0H@Z @ 82 NONAME ; class QString CalenMonthGrid::trUtf8(char const *, char const *, int)
-	?paint@CalenThickLinesDrawer@@EAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 83 NONAME ; void CalenThickLinesDrawer::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
-	?initializeForm@CalenSettingsView@@QAEXXZ @ 84 NONAME ; void CalenSettingsView::initializeForm(void)
-	?handlePanGestureFinished@CalenMonthGrid@@AAEXXZ @ 85 NONAME ; void CalenMonthGrid::handlePanGestureFinished(void)
-	?tr@CalenMonthGrid@@SA?AVQString@@PBD0H@Z @ 86 NONAME ; class QString CalenMonthGrid::tr(char const *, char const *, int)
-	?goToToday@CalenMonthView@@AAEXXZ @ 87 NONAME ; void CalenMonthView::goToToday(void)
-	?trUtf8@CalenThickLinesDrawer@@SA?AVQString@@PBD0H@Z @ 88 NONAME ; class QString CalenThickLinesDrawer::trUtf8(char const *, char const *, int)
-	?onContextChanged@CalenMonthView@@EAEXXZ @ 89 NONAME ; void CalenMonthView::onContextChanged(void)
-	?qt_metacast@CalenPreviewPane@@UAEPAXPBD@Z @ 90 NONAME ; void * CalenPreviewPane::qt_metacast(char const *)
-	?docLoader@CalenDayView@@QAEPAVCalenDocLoader@@XZ @ 91 NONAME ; class CalenDocLoader * CalenDayView::docLoader(void)
-	?getCurrentIndex@CalenMonthGrid@@QAEHXZ @ 92 NONAME ; int CalenMonthGrid::getCurrentIndex(void)
-	?tr@CalenSettingsView@@SA?AVQString@@PBD0H@Z @ 93 NONAME ; class QString CalenSettingsView::tr(char const *, char const *, int)
-	?removeWeekNumbers@CalenMonthView@@AAEXXZ @ 94 NONAME ; void CalenMonthView::removeWeekNumbers(void)
-	?trUtf8@CalenMonthView@@SA?AVQString@@PBD0H@Z @ 95 NONAME ; class QString CalenMonthView::trUtf8(char const *, char const *, int)
-	??0CalenMonthView@@QAE@AAVMCalenServices@@@Z @ 96 NONAME ; CalenMonthView::CalenMonthView(class MCalenServices &)
-	?getStaticMetaObject@CalenThickLinesDrawer@@SAABUQMetaObject@@XZ @ 97 NONAME ; struct QMetaObject const & CalenThickLinesDrawer::getStaticMetaObject(void)
-	?setNoEntriesLabel@CalenPreviewPane@@QAEXPAVHbLabel@@@Z @ 98 NONAME ; void CalenPreviewPane::setNoEntriesLabel(class HbLabel *)
-	?clearListModel@CalenDayView@@QAEXXZ @ 99 NONAME ; void CalenDayView::clearListModel(void)
-	??0CalenThickLinesDrawer@@QAE@W4WidgetType@CalendarNamespace@@PAVQGraphicsItem@@@Z @ 100 NONAME ; CalenThickLinesDrawer::CalenThickLinesDrawer(enum CalendarNamespace::WidgetType, class QGraphicsItem *)
-	?onLocaleChanged@CalenMonthView@@UAEXH@Z @ 101 NONAME ; void CalenMonthView::onLocaleChanged(int)
-	?doPopulation@CalenMonthView@@UAEXXZ @ 102 NONAME ; void CalenMonthView::doPopulation(void)
-	?tr@CalenMonthView@@SA?AVQString@@PBD0H@Z @ 103 NONAME ; class QString CalenMonthView::tr(char const *, char const *, int)
-	?GetInstanceListL@CalenPreviewPane@@AAEXXZ @ 104 NONAME ; void CalenPreviewPane::GetInstanceListL(void)
-	?getInstanceList@CalenMonthView@@AAEXAAV?$QList@VQDate@@@@VQDateTime@@1@Z @ 105 NONAME ; void CalenMonthView::getInstanceList(class QList<class QDate> &, class QDateTime, class QDateTime)
-	?tr@CalenMonthView@@SA?AVQString@@PBD0@Z @ 106 NONAME ; class QString CalenMonthView::tr(char const *, char const *)
-	??0CalenMonthGrid@@QAE@PAVQGraphicsItem@@@Z @ 107 NONAME ; CalenMonthGrid::CalenMonthGrid(class QGraphicsItem *)
-	?refreshViewOnGoToDate@CalenMonthView@@EAEXXZ @ 108 NONAME ; void CalenMonthView::refreshViewOnGoToDate(void)
-	?appendRows@CalenMonthGrid@@QAEXXZ @ 109 NONAME ; void CalenMonthGrid::appendRows(void)
-	?tr@CalenThickLinesDrawer@@SA?AVQString@@PBD0H@Z @ 110 NONAME ; class QString CalenThickLinesDrawer::tr(char const *, char const *, int)
-	?mouseReleaseEvent@CalenMonthGrid@@EAEXPAVQGraphicsSceneMouseEvent@@@Z @ 111 NONAME ; void CalenMonthGrid::mouseReleaseEvent(class QGraphicsSceneMouseEvent *)
-	?updateMonthGridWithInActiveMonths@CalenMonthGrid@@QAEXAAV?$QList@VCalenMonthData@@@@@Z @ 112 NONAME ; void CalenMonthGrid::updateMonthGridWithInActiveMonths(class QList<class CalenMonthData> &)
-	?getCurrentDay@CalenMonthView@@QAE?AVQDateTime@@XZ @ 113 NONAME ; class QDateTime CalenMonthView::getCurrentDay(void)
-	?staticMetaObject@CalenPreviewPane@@2UQMetaObject@@B @ 114 NONAME ; struct QMetaObject const CalenPreviewPane::staticMetaObject
-	?tr@CalenSettingsView@@SA?AVQString@@PBD0@Z @ 115 NONAME ; class QString CalenSettingsView::tr(char const *, char const *)
-	?onTwoSecondsTimeout@CalenPreviewPane@@QAEXXZ @ 116 NONAME ; void CalenPreviewPane::onTwoSecondsTimeout(void)
-	?tr@CalenThickLinesDrawer@@SA?AVQString@@PBD0@Z @ 117 NONAME ; class QString CalenThickLinesDrawer::tr(char const *, char const *)
-	?staticMetaObject@CalenThickLinesDrawer@@2UQMetaObject@@B @ 118 NONAME ; struct QMetaObject const CalenThickLinesDrawer::staticMetaObject
-	?populateWithInstanceView@CalenMonthView@@AAEXXZ @ 119 NONAME ; void CalenMonthView::populateWithInstanceView(void)
-	?trUtf8@CalenThickLinesDrawer@@SA?AVQString@@PBD0@Z @ 120 NONAME ; class QString CalenThickLinesDrawer::trUtf8(char const *, char const *)
-	?downGesture@CalenMonthGrid@@MAEXH@Z @ 121 NONAME ; void CalenMonthGrid::downGesture(int)
-	?populateLabel@CalenPreviewPane@@QAEXVQDateTime@@@Z @ 122 NONAME ; void CalenPreviewPane::populateLabel(class QDateTime)
-	?doPopulation@CalenDayView@@UAEXXZ @ 123 NONAME ; void CalenDayView::doPopulation(void)
-	??1CalenDayView@@UAE@XZ @ 124 NONAME ; CalenDayView::~CalenDayView(void)
-	?updateModelWithFutureMonth@CalenMonthView@@QAEXXZ @ 125 NONAME ; void CalenMonthView::updateModelWithFutureMonth(void)
-	?monthDataList@CalenMonthView@@QAE?AV?$QList@VCalenMonthData@@@@XZ @ 126 NONAME ; class QList<class CalenMonthData> CalenMonthView::monthDataList(void)
-	?updateMonthGridModel@CalenMonthGrid@@QAEXAAV?$QList@VCalenMonthData@@@@H_N@Z @ 127 NONAME ; void CalenMonthGrid::updateMonthGridModel(class QList<class CalenMonthData> &, int, bool)
-	??1CalenMonthGrid@@UAE@XZ @ 128 NONAME ; CalenMonthGrid::~CalenMonthGrid(void)
-	?metaObject@CalenThickLinesDrawer@@UBEPBUQMetaObject@@XZ @ 129 NONAME ; struct QMetaObject const * CalenThickLinesDrawer::metaObject(void) const
-	?updateWeekNumGridModel@CalenMonthView@@AAEXXZ @ 130 NONAME ; void CalenMonthView::updateWeekNumGridModel(void)
-	?qt_metacast@CalenThickLinesDrawer@@UAEPAXPBD@Z @ 131 NONAME ; void * CalenThickLinesDrawer::qt_metacast(char const *)
-	?prepareForPopulation@CalenMonthView@@AAEXXZ @ 132 NONAME ; void CalenMonthView::prepareForPopulation(void)
-	?handlePreviewPaneGesture@CalenMonthView@@QAEX_N@Z @ 133 NONAME ; void CalenMonthView::handlePreviewPaneGesture(bool)
-	?setActiveDates@CalenMonthGrid@@AAEXVQDate@@@Z @ 134 NONAME ; void CalenMonthGrid::setActiveDates(class QDate)
-	?trUtf8@CalenMonthView@@SA?AVQString@@PBD0@Z @ 135 NONAME ; class QString CalenMonthView::trUtf8(char const *, char const *)
-	?setContextForActiveDay@CalenMonthView@@QAEXH@Z @ 136 NONAME ; void CalenMonthView::setContextForActiveDay(int)
-	?trUtf8@CalenSettingsView@@SA?AVQString@@PBD0@Z @ 137 NONAME ; class QString CalenSettingsView::trUtf8(char const *, char const *)
-	??_ECalenSettingsView@@UAE@I@Z @ 138 NONAME ; CalenSettingsView::~CalenSettingsView(unsigned int)
-	??_ECalenThickLinesDrawer@@UAE@I@Z @ 139 NONAME ; CalenThickLinesDrawer::~CalenThickLinesDrawer(unsigned int)
-	?metaObject@CalenSettingsView@@UBEPBUQMetaObject@@XZ @ 140 NONAME ; struct QMetaObject const * CalenSettingsView::metaObject(void) const
-	?getStaticMetaObject@CalenMonthView@@SAABUQMetaObject@@XZ @ 141 NONAME ; struct QMetaObject const & CalenMonthView::getStaticMetaObject(void)
-	?paint@CalenMonthGrid@@EAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 142 NONAME ; void CalenMonthGrid::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
-	?qt_metacast@CalenSettingsView@@UAEPAXPBD@Z @ 143 NONAME ; void * CalenSettingsView::qt_metacast(char const *)
-	?tr@CalenMonthGrid@@SA?AVQString@@PBD0@Z @ 144 NONAME ; class QString CalenMonthGrid::tr(char const *, char const *)
-	?qt_metacall@CalenMonthView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 145 NONAME ; int CalenMonthView::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?setActiveDay@CalenMonthView@@AAEXVQDateTime@@@Z @ 146 NONAME ; void CalenMonthView::setActiveDay(class QDateTime)
-	?itemActivated@CalenMonthGrid@@QAEXABVQModelIndex@@@Z @ 147 NONAME ; void CalenMonthGrid::itemActivated(class QModelIndex const &)
-	?qt_metacall@CalenMonthGrid@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 148 NONAME ; int CalenMonthGrid::qt_metacall(enum QMetaObject::Call, int, void * *)
-	??_ECalenPreviewPane@@UAE@I@Z @ 149 NONAME ; CalenPreviewPane::~CalenPreviewPane(unsigned int)
-	?createEditor@CalenMonthView@@AAEXXZ @ 150 NONAME ; void CalenMonthView::createEditor(void)
-	?getActiveDay@CalenMonthView@@QAE?AVQDateTime@@XZ @ 151 NONAME ; class QDateTime CalenMonthView::getActiveDay(void)
-	?addRemoveActionsInMenu@CalenMonthView@@AAEXXZ @ 152 NONAME ; void CalenMonthView::addRemoveActionsInMenu(void)
-
--- a/calendarui/calendarui.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/calendarui.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -17,8 +17,19 @@
 
 TEMPLATE = subdirs
 CONFIG += ordered
-SUBDIRS += agendaeventviewer globaldata settings calenplugins customisationmanager \
-		 views controller application regionalplugins
+SUBDIRS += commonutils \
+		   calenlauncher \
+		   caleneditor \
+		   agendaeventviewer \
+		   globaldata \
+		   settings \
+		   calenplugins \
+		   customisationmanager \
+		   views \
+		   controller \
+		   application \
+		   regionalplugins \
+		   calenviewerservice
 
 # End of file	--Don't remove this.
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/caleneditor/bwins/caleneditoru.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,25 @@
+EXPORTS
+	?metaObject@CalenEditor@@UBEPBUQMetaObject@@XZ @ 1 NONAME ; struct QMetaObject const * CalenEditor::metaObject(void) const
+	?edit@CalenEditor@@QAEXVAgendaEntry@@_N@Z @ 2 NONAME ; void CalenEditor::edit(class AgendaEntry, bool)
+	?edit@CalenEditor@@QAEXABVQFile@@_N@Z @ 3 NONAME ; void CalenEditor::edit(class QFile const &, bool)
+	??_ECalenEditor@@UAE@I@Z @ 4 NONAME ; CalenEditor::~CalenEditor(unsigned int)
+	?calendarLaunchFailed@CalenEditor@@IAEXH@Z @ 5 NONAME ; void CalenEditor::calendarLaunchFailed(int)
+	?tr@CalenEditor@@SA?AVQString@@PBD0@Z @ 6 NONAME ; class QString CalenEditor::tr(char const *, char const *)
+	?getStaticMetaObject@CalenEditor@@SAABUQMetaObject@@XZ @ 7 NONAME ; struct QMetaObject const & CalenEditor::getStaticMetaObject(void)
+	?trUtf8@CalenEditor@@SA?AVQString@@PBD0@Z @ 8 NONAME ; class QString CalenEditor::trUtf8(char const *, char const *)
+	?tr@CalenEditor@@SA?AVQString@@PBD0H@Z @ 9 NONAME ; class QString CalenEditor::tr(char const *, char const *, int)
+	?entrySaved@CalenEditor@@IAEXXZ @ 10 NONAME ; void CalenEditor::entrySaved(void)
+	?qt_metacast@CalenEditor@@UAEPAXPBD@Z @ 11 NONAME ; void * CalenEditor::qt_metacast(char const *)
+	?create@CalenEditor@@QAEXVQDateTime@@_NW4CreateType@1@@Z @ 12 NONAME ; void CalenEditor::create(class QDateTime, bool, enum CalenEditor::CreateType)
+	??0CalenEditor@@QAE@PAVQObject@@@Z @ 13 NONAME ; CalenEditor::CalenEditor(class QObject *)
+	?d_func@CalenEditor@@ABEPBVCalenEditorPrivate@@XZ @ 14 NONAME ; class CalenEditorPrivate const * CalenEditor::d_func(void) const
+	?trUtf8@CalenEditor@@SA?AVQString@@PBD0H@Z @ 15 NONAME ; class QString CalenEditor::trUtf8(char const *, char const *, int)
+	?qt_metacall@CalenEditor@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 16 NONAME ; int CalenEditor::qt_metacall(enum QMetaObject::Call, int, void * *)
+	??0CalenEditor@@QAE@PAVAgendaUtil@@PAVQObject@@@Z @ 17 NONAME ; CalenEditor::CalenEditor(class AgendaUtil *, class QObject *)
+	??1CalenEditor@@UAE@XZ @ 18 NONAME ; CalenEditor::~CalenEditor(void)
+	?staticMetaObject@CalenEditor@@2UQMetaObject@@B @ 19 NONAME ; struct QMetaObject const CalenEditor::staticMetaObject
+	?edit@CalenEditor@@QAEXK_N@Z @ 20 NONAME ; void CalenEditor::edit(unsigned long, bool)
+	?dialogClosed@CalenEditor@@IAEXXZ @ 21 NONAME ; void CalenEditor::dialogClosed(void)
+	?d_func@CalenEditor@@AAEPAVCalenEditorPrivate@@XZ @ 22 NONAME ; class CalenEditorPrivate * CalenEditor::d_func(void)
+	?create@CalenEditor@@QAEXVAgendaEntry@@_NW4CreateType@1@@Z @ 23 NONAME ; void CalenEditor::create(class AgendaEntry, bool, enum CalenEditor::CreateType)
+
--- a/calendarui/caleneditor/caleneditor.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/caleneditor/caleneditor.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -44,22 +44,24 @@
 }
 
 SOURCES += caleneditor.cpp \
-					 caleneditorcustomitem.cpp \
-					  caleneditor_p.cpp \
+					caleneditorcustomitem.cpp \
+					caleneditor_p.cpp \
 					caleneditordocloader.cpp \
 					caleneditorreminderfield.cpp \
 					caleneditorrepeatfield.cpp \
 					caleneditordatahandler.cpp
-		   
+					
 HEADERS += caleneditor.h \
-		   caleneditorcustomitem.h \
- caleneditorcommon.h \
-		   caleneditordocloader.h \
-		    caleneditor_p.h \
-		caleneditorreminderfield.h \
-		caleneditorrepeatfield.h \
-		caleneditordatahandler.h
-		   
-RESOURCES += caleneditor.qrc		   
-		   
+            caleneditorcustomitem.h \
+            caleneditorcommon.h \
+            caleneditordocloader.h \
+            caleneditor_p.h \
+            caleneditorreminderfield.h \
+            caleneditorrepeatfield.h \
+            caleneditordatahandler.h
+            
+RESOURCES += caleneditor.qrc
+
+TRANSLATIONS += caleneditor.ts
+
 # End of file	--Don't remove this.
--- a/calendarui/caleneditor/data/caleneditor.qrc	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/caleneditor/data/caleneditor.qrc	Thu Jul 22 16:32:51 2010 +0100
@@ -3,7 +3,4 @@
 		<file alias="caleneditorview.docml">caleneditorview.docml</file> 	
 		<file alias="caleneditorlocationitem.docml">caleneditorlocationitem.docml</file> 	
 	</qresource>
-	<qresource prefix="/translations">
-		<file alias="caleneditor_en_GB">caleneditor_en_GB.qm</file>
-	</qresource>
 </RCC>
Binary file calendarui/caleneditor/data/caleneditor_en_GB.qm has changed
--- a/calendarui/caleneditor/data/caleneditorview.docml	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/caleneditor/data/caleneditorview.docml	Thu Jul 22 16:32:51 2010 +0100
@@ -4,12 +4,12 @@
         <string locid="txt_calendar_opt_add_description" name="text" value="Add description"/>
     </object>
     <object name="deleteEventAction" type="HbAction">
-        <string locid="txt_calendar_opt_delete_event" name="text" value="Delete event"/>
+        <string locid="txt_common_menu_delete" name="text" value="Delete"/>
     </object>
     <widget name="calenEditorview" type="HbView">
         <widget name="calenEditorcontent" role="HbView:widget" type="HbWidget">
             <widget name="calenEditorHeadingWidget" type="HbGroupBox">
-                <string locid="txt_calendar_subhead_new_event" name="titleText" value="New event"/>
+                <string locid="txt_calendar_subhead_new_event" name="heading" value="New event"/>
                 <bool name="collapsable" value="FALSE"/>
             </widget>
             <widget name="calenEditorDataFormWidget" type="HbDataForm">
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/caleneditor/eabi/caleneditoru.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,24 @@
+EXPORTS
+	_ZN11CalenEditor10entrySavedEv @ 1 NONAME
+	_ZN11CalenEditor11qt_metacallEN11QMetaObject4CallEiPPv @ 2 NONAME
+	_ZN11CalenEditor11qt_metacastEPKc @ 3 NONAME
+	_ZN11CalenEditor12dialogClosedEv @ 4 NONAME
+	_ZN11CalenEditor16staticMetaObjectE @ 5 NONAME DATA 16
+	_ZN11CalenEditor19getStaticMetaObjectEv @ 6 NONAME
+	_ZN11CalenEditor20calendarLaunchFailedEi @ 7 NONAME
+	_ZN11CalenEditor4editE11AgendaEntryb @ 8 NONAME
+	_ZN11CalenEditor4editERK5QFileb @ 9 NONAME
+	_ZN11CalenEditor4editEmb @ 10 NONAME
+	_ZN11CalenEditor6createE11AgendaEntrybNS_10CreateTypeE @ 11 NONAME
+	_ZN11CalenEditor6createE9QDateTimebNS_10CreateTypeE @ 12 NONAME
+	_ZN11CalenEditorC1EP10AgendaUtilP7QObject @ 13 NONAME
+	_ZN11CalenEditorC1EP7QObject @ 14 NONAME
+	_ZN11CalenEditorC2EP10AgendaUtilP7QObject @ 15 NONAME
+	_ZN11CalenEditorC2EP7QObject @ 16 NONAME
+	_ZN11CalenEditorD0Ev @ 17 NONAME
+	_ZN11CalenEditorD1Ev @ 18 NONAME
+	_ZN11CalenEditorD2Ev @ 19 NONAME
+	_ZNK11CalenEditor10metaObjectEv @ 20 NONAME
+	_ZTI11CalenEditor @ 21 NONAME
+	_ZTV11CalenEditor @ 22 NONAME
+
--- a/calendarui/caleneditor/inc/caleneditor.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/caleneditor/inc/caleneditor.h	Thu Jul 22 16:32:51 2010 +0100
@@ -45,6 +45,7 @@
 public:
 	enum CreateType{
 		TypeAppointment = 0,
+		// TODO: Need to add more types
 		TypeUnKnown = -1
 	};
 	
--- a/calendarui/caleneditor/inc/caleneditor_p.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/caleneditor/inc/caleneditor_p.h	Thu Jul 22 16:32:51 2010 +0100
@@ -20,6 +20,7 @@
 
 // System includes
 #include <QObject>
+#include <QPointer>
 #include <hbmainwindow.h>
 #include <QHash>
 #include <QDateTime>
@@ -31,7 +32,6 @@
 #include "caleneditorcommon.h"
 
 //forward declarations
-class QTranslator;
 class QFile;
 class HbDataForm;
 class HbDataFormModel;
@@ -42,6 +42,7 @@
 class HbCheckBox;
 class HbComboBox;
 class HbView;
+class HbTranslator;
 class MCalenServices;
 class AgendaEntry;
 class AgendaUtil;
@@ -159,6 +160,8 @@
 	void saveFromDateTime(QDateTime& fromDateTime);
 	void saveToDateTime(QDateTime& toDateTime);
 	void handleLocationChange(const QString location);
+	void handleLocationChange(const QString location, 
+            const double geoLatitude, const double geoLongitude);
 	void handleDescriptionChange(const QString description);
 	void saveAndCloseEditor();
 	void showDeleteConfirmationQuery(bool closeEditor = false);
@@ -170,6 +173,8 @@
 	void handleCancel();
 	void handleCalendarLaunchError(int error);
 	void closeEditor();
+	void handleLocationEditingFinished();
+	void selectEditingFinishedAction(HbAction* action);	
 	
 private:
 	enum EditRange {
@@ -179,7 +184,7 @@
 	};
 	
 	CalenEditor *q_ptr;
-	AgendaUtil *mAgendaUtil;
+	QPointer<AgendaUtil> mAgendaUtil;
 	
 	CalenEditorDocLoader *mEditorDocLoader;
 	HbView *mEditorView;
@@ -208,7 +213,7 @@
 	HbAction *mSoftKeyAction;
 	HbAction *mDescriptionAction;
 	HbMainWindow *mMainWindow;
-	QTranslator *mTranslator;
+	HbTranslator *mTranslator;
 	
 	bool mNewEntry;
 	bool mDescriptionItemAdded;
--- a/calendarui/caleneditor/inc/caleneditorcustomitem.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/caleneditor/inc/caleneditorcustomitem.h	Thu Jul 22 16:32:51 2010 +0100
@@ -48,6 +48,7 @@
 	void enableDateButton(bool value);
 	bool canSetModelIndex(const QModelIndex &index) const;
 	void restore();
+	QDateTime getDateTime();
 	
 protected:
 	virtual HbWidget* createCustomWidget();
@@ -62,11 +63,13 @@
 	void saveDate();
 	void handleLocationTextChange(QString location);
     void launchLocationPicker();
+    void handleEditingFinished();
 	
 Q_SIGNALS:
 	void dateTimeUpdated(QDateTime& fromDateTime);
 	void locationTextChanged(QString location);
-		
+	void locationTextChanged(QString location, double latitude, double longitude);
+	void locationEditingFinished();	
 private:
 	AgendaEntry *mEditedEntry;
 	QDate mDate;
--- a/calendarui/caleneditor/src/caleneditor.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/caleneditor/src/caleneditor.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -81,6 +81,9 @@
  */
 void CalenEditor::edit(AgendaEntry entry, bool launchCalendar)
 {
+	if(entry.isNull()) {
+		return;
+	}
 	d_ptr->edit(entry, launchCalendar);
 }
 
@@ -118,6 +121,9 @@
 void CalenEditor::create(AgendaEntry entry, bool launchCalendar, 
                          CalenEditor::CreateType type)
 {
+	if(entry.isNull()) {
+		return;
+	}
 	d_ptr->create(type, entry, launchCalendar);
 }
 
--- a/calendarui/caleneditor/src/caleneditor_p.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/caleneditor/src/caleneditor_p.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -19,8 +19,8 @@
 #include <QObject>
 #include <QTimer>
 #include <QGraphicsLinearLayout>
-#include <qtranslator.h>
-#include <qapplication.h>
+#include <QApplication>
+
 #include <hbdataform.h>
 #include <hbmainwindow.h>
 #include <hbinstance.h>
@@ -42,9 +42,9 @@
 #include <hbi18ndef.h>
 #include <qdatetime.h>
 #include <hbgroupbox.h>
-#include <hbapplication.h>
 #include <hbradiobuttonlist.h>
 #include <hbnotificationdialog.h>
+#include <hbtranslator.h>
 
 // User includes
 #include <CalenLauncher>
@@ -209,6 +209,7 @@
 									mEditRange(ThisAndAll),
 									mOriginalEntry(NULL),
 									mEditedEntry(NULL),
+									mTranslator(new HbTranslator("caleneditor")),
 									mNewEntry(true),
 									mDescriptionItemAdded(false),
 									mIsChild(false),
@@ -219,6 +220,7 @@
 	// First get the q-pointer.
 	q_ptr = static_cast<CalenEditor *> (parent);
 	mMainWindow = NULL;
+	mTranslator->loadCommon();
 	
 	if (!agendaUtil) {
 		mAgendaUtil = new AgendaUtil(this);
@@ -227,15 +229,6 @@
 		mAgendaUtil = agendaUtil;
 		mOwnsAgendaUtil = false;
 	}
-
-	// Load the translation file and install the editor specific translator
-	mTranslator = new QTranslator;
-	QString lang = QLocale::system().name();
-	QString path = "Z:/resource/qt/translations/";
-	mTranslator->load("caleneditor_en_GB", ":/translations");
-	// TODO: Load the appropriate .qm file based on locale
-	//bool loaded = mTranslator->load("caleneditor_" + lang, path);
-	HbApplication::instance()->installTranslator(mTranslator);
 }
 
 /*!
@@ -243,6 +236,10 @@
  */
 CalenEditorPrivate::~CalenEditorPrivate()
 {
+	if(mOwnsAgendaUtil) {
+		delete mAgendaUtil;
+		mAgendaUtil = NULL;
+	}
 	if (mOriginalEntry) {
 		delete mOriginalEntry;
 		mOriginalEntry = NULL;
@@ -251,12 +248,27 @@
 		delete mEditedEntry;
 		mEditedEntry = NULL;
 	}
+	if(mEditorDocLoader) {
+		delete mEditorDocLoader;
+		mEditorDocLoader = NULL;
+	}
+	if(mReminderField) {
+		delete mReminderField;
+		mReminderField = NULL;
+	}
+	if(mRepeatField) {
+		delete mRepeatField;
+		mRepeatField = NULL;
+	}
+	if(mDataHandler) {
+		delete mDataHandler;
+		mDataHandler = NULL;
+	}
 	if (mCalenEditorModel) {
 		delete mCalenEditorModel;
 		mCalenEditorModel = NULL;
 	}
 	// Remove the translator
-	HbApplication::instance()->removeTranslator(mTranslator);
 	if (mTranslator) {
 		delete mTranslator;
 		mTranslator = 0;
@@ -300,6 +312,9 @@
 {
 	mNewEntry = false;
 	AgendaEntry entry = mAgendaUtil->fetchById(id);
+	if(entry.isNull()) {
+		return;
+	}
 	edit(entry, launchCalendar);
 }
 
@@ -320,8 +335,10 @@
 			entry.setType(AgendaEntry::TypeAppoinment);
 		}
 		break;
-		case CalenEditor::TypeUnKnown:
 		default:
+			// What ever be the type of entry, currently editor supports only to
+			// open the entries of TypeAppoinment
+			entry.setType(AgendaEntry::TypeAppoinment);
 			break;
 	}
 	mLaunchCalendar = launchCalendar;
@@ -343,8 +360,10 @@
 			entry.setType(AgendaEntry::TypeAppoinment);
 		}
 		break;
-		case CalenEditor::TypeUnKnown:
 		default:
+			// What ever be the type of entry, currently editor supports only to
+			// open the entries of TypeAppoinment
+			entry.setType(AgendaEntry::TypeAppoinment);
 			break;
 	}
 	mNewEntryDateTime = entry.startTime();
@@ -383,9 +402,9 @@
 	HbAction *cancelAction =
 	        new HbAction(hbTrId("txt_calendar_button_softkey1_cancel"));
 	popUp->addAction(cancelAction);
+	connect(editButtonList, SIGNAL(itemSelected(int)), popUp, SLOT(close()));
 	connect(editButtonList, SIGNAL(itemSelected(int)), this,
 	        SLOT(handleEditOccurence(int)));
-	connect(editButtonList, SIGNAL(itemSelected(int)), popUp, SLOT(close()));
 	connect(cancelAction, SIGNAL(triggered()), this, SLOT(handleCancel()));
 
 	// Show the popup
@@ -519,12 +538,21 @@
 	HbAction *deleteEventAction = qobject_cast<HbAction *> (
 							mEditorDocLoader->findObject(
 										CALEN_EDITOR_DELETE_EVENT_ACTION));
+	deleteEventAction->setText(hbTrId("txt_common_menu_delete"));
 	connect(deleteEventAction, SIGNAL(triggered()), this,
 							SLOT(showDeleteConfirmationQuery()));
 
 	if (!mNewEntry) {
-		//TODO: Add the text id based on the entry type Anniversary or meeting
-		headingWidget->setHeading(hbTrId("txt_calendar_subhead_event"));
+		AgendaEntry::Type entryType = mEditedEntry->type();
+		if( entryType == AgendaEntry::TypeAppoinment) {
+			headingWidget->setHeading(hbTrId("txt_calendar_subhead_meeting"));
+		}else if(entryType == AgendaEntry::TypeEvent) {
+			//TODO: Add the text id once available
+			headingWidget->setHeading(hbTrId("All-day event"));
+		}else if (entryType == AgendaEntry::TypeTodo) {
+			headingWidget->setHeading(hbTrId("txt_calendar_subhead_to_do"));
+		}
+		
 	}
 
 	initModel();
@@ -854,6 +882,18 @@
 			mAgendaUtil->getNextInstanceTimes(*mEditedEntry,
 			                                  nextInstanceStartTime,
 			                                  nextInstanceEndTime);
+			
+			// If no instances earlier then set it to 01/01/1900.
+			if (prevInstanceStartTime.isNull()) {
+				prevInstanceStartTime.setDate(QDate(1900, 01, 01));
+				prevInstanceStartTime.setTime(QTime(0, 0, 0));
+			}
+			
+			// If no instances later then set it to 30/01/2100.
+			if (nextInstanceEndTime.isNull()) {
+				nextInstanceEndTime.setDate(QDate(2100, 12, 30));
+				nextInstanceEndTime.setTime(QTime(0, 0, 0));
+			}
 			mViewFromItem->setDateRange(
 									prevInstanceStartTime.addDays(1).date(),
 									nextInstanceStartTime.addDays(-1).date());
@@ -862,7 +902,10 @@
 			
 			// If repeating daily then disable the date fields as 
 			// date cannot be changed
- 			if (mEditedEntry->repeatRule().type() == AgendaRepeatRule::DailyRule) {
+ 			if ((prevInstanceEndTime.date().daysTo(
+				mEditedEntry->startTime().date()) == 1) && 
+				(mEditedEntry->endTime().date().daysTo(
+				nextInstanceStartTime.date()) == 1)) {
 				mViewFromItem->disableFromToDateField();
 			}
 		}
@@ -880,10 +923,16 @@
 	if ((mAllDayCheckBoxItem && 
 		(mAllDayCheckBoxItem->contentWidgetData("checkState") == Qt::Checked))
 		|| (!mNewEntry && mEditedEntry->type() == AgendaEntry::TypeEvent)) {
+        
+        // For all-day, we need to substratc 1 minute to get the actual end time
+        // as we store all-day as 12.00AM to 12.00 AM next day
+        QDateTime actualEndTime = mEditedEntry->endTime().addSecs(-60);
+        mViewToItem->populateDateTime(actualEndTime, false);
+        
 		// If the all day option is checked, we need to
 		// disable the time fields
 		enableFromTotimeFileds(false, mEditedEntry->startTime(),
-		                       mEditedEntry->endTime());
+                                actualEndTime);
 	}
 }
 /*!
@@ -908,8 +957,15 @@
 
 	connect(mViewLocationItem, SIGNAL(locationTextChanged(const QString)),
 			this, SLOT(handleLocationChange(const QString)));
+	
+	connect(mViewLocationItem, SIGNAL(locationTextChanged(const QString, const double, const double)),
+			this, SLOT(handleLocationChange(const QString, const double, const double)));
 
-	mViewLocationItem->populateLocation(mEditedEntry->location());
+	mViewLocationItem->populateLocation(mEditedEntry->location());	
+	
+    connect(mViewLocationItem, SIGNAL(locationEditingFinished()),
+            this, SLOT(handleLocationEditingFinished()));
+	        
 }
 /*!
 	Save the changed start time of the event.
@@ -1133,7 +1189,9 @@
 void CalenEditorPrivate::handleSubjectChange(const QString subject)
 {
 	mEditedEntry->setSummary(subject);
-	addDiscardAction();
+	if(!mNewEntry ){
+		addDiscardAction();
+	}
 }
 
 /*!
@@ -1180,6 +1238,12 @@
 		// Update Start/End Times with Edited entry values
 		enableFromTotimeFileds(true, mEditedEntry->startTime(),
 		                       mEditedEntry->endTime());
+		// If original entry was an All-day, then we need to save the date that
+		// is shown on the "To" date push button
+		if (mOriginalEntry->type() == AgendaEntry::TypeEvent) {
+            mEditedEntry->setStartAndEndTime(mViewFromItem->getDateTime(),
+                                    mViewToItem->getDateTime());
+		}
 		int index;
 		if (mIsAllDayItemAdded) {
 			index = ReminderTimeForAllDayItem;
@@ -1190,7 +1254,10 @@
 		mReminderField->setReminderChoices();
 		updateReminderChoices();
 	}
-	addDiscardAction();
+
+	if(!mNewEntry){
+		addDiscardAction();
+	}
 }
 
 /*!
@@ -1200,9 +1267,75 @@
 void CalenEditorPrivate::handleLocationChange(const QString location)
 {
 	mEditedEntry->setLocation(location);
+	if(!mNewEntry){
+		addDiscardAction();
+	}
+}
+
+
+/*!
+	Triggered when the location editor is being edited.
+	\param subject Contains the string displayed in the subject item.
+ */
+void CalenEditorPrivate::handleLocationChange(const QString location,
+    const double /*geoLatitude*/, const double /*geoLongitude*/)
+{
+	mEditedEntry->setLocation(location);
+	mEditedEntry->clearGeoValue();
 	addDiscardAction();
 }
 
+/*!
+ * Handles the completion of location editing
+ */
+void CalenEditorPrivate::handleLocationEditingFinished()
+{
+    if ( !mOriginalEntry->location().isEmpty() )
+    {
+       AgendaGeoValue entryGeoValue =mAgendaUtil->fetchById(mEditedEntry->id()).geoValue();
+       if ( !entryGeoValue.isNull() && (mEditedEntry->location()!=mOriginalEntry->location()) )
+       {   
+          
+           mEditedEntry->setGeoValue(entryGeoValue);
+           HbMessageBox* confirmationQuery = new HbMessageBox(HbMessageBox::MessageTypeQuestion);
+                   
+           confirmationQuery->setDismissPolicy(HbDialog::NoDismiss);
+           confirmationQuery->setTimeout(HbDialog::NoTimeout);
+           confirmationQuery->setIconVisible(true);  
+           
+           QString displayText;
+           displayText = displayText.append("Location changed. Keep existing location on Map?");
+           
+           confirmationQuery->setText(displayText);
+           
+           // Remove the default actions.
+           QList<QAction *> defaultActions = confirmationQuery->actions();
+           for (int index=0;index<defaultActions.count();index++) 
+           {
+               confirmationQuery->removeAction(defaultActions[index]);
+           }
+           
+           defaultActions.clear();
+           
+           confirmationQuery->addAction(new HbAction("Yes"));
+           confirmationQuery->addAction(new HbAction("No"));
+           confirmationQuery->open(this, SLOT(selectEditingFinishedAction(HbAction*)));
+       }
+    }       
+}
+
+/*!
+ * Handles the editing finished action.
+ */
+void CalenEditorPrivate::selectEditingFinishedAction(HbAction* action)
+{
+    HbMessageBox* dlg = static_cast<HbMessageBox*>(sender());    
+
+    if (action == dlg->actions().at(1))
+    {           
+        mEditedEntry->clearGeoValue();
+    } 
+}
 
 /*!
 	Triggered when the description editor is being edited.
@@ -1211,7 +1344,9 @@
 void CalenEditorPrivate::handleDescriptionChange(const QString description)
 {
 	mEditedEntry->setDescription(description);
-	addDiscardAction();
+	if(!mNewEntry){
+		addDiscardAction();
+	}
 }
 
 /*!
@@ -1230,7 +1365,7 @@
 		if (mLaunchCalendar) {
 			CalenLauncher* launcher = new CalenLauncher(this);
 			QDateTime startTime = mEditedEntry->startTime();
-			launcher->launchCalendarApp(CalenLauncher::DayView, startTime);
+			launcher->launchCalendarApp(CalenLauncher::AgendaView, startTime);
 
 			// connect to the error signal
 			connect(launcher, SIGNAL(calendarLaunchFailed(int)), this,
@@ -1385,8 +1520,12 @@
 	if (mIsChild && (mEditRange == ThisOnly)) {
 		// Add the entry
 		mAgendaUtil->updateEntry(*mEditedEntry, true);
-		// TODO: Add the text id based on meeting or anniversary
-		HbNotificationDialog::launchDialog(hbTrId("Event updated"));
+		// TODO: Add the text id once available
+		if(mEditedEntry->type() == AgendaEntry::TypeAppoinment) {
+			HbNotificationDialog::launchDialog(hbTrId("Meeting updated"));
+		}else if(mEditedEntry->type() == AgendaEntry::TypeEvent) {
+			HbNotificationDialog::launchDialog(hbTrId("All day event updated"));
+		}
 		emit q_ptr->entrySaved();
 		return true;
 	} else if ((mEditRange == ThisOnly)) {
@@ -1401,22 +1540,31 @@
 		if (!handleAllDayToSave()) {
 			if (mNewEntry) {
 				mAgendaUtil->addEntry(*mEditedEntry);
-			} else if (mEditRange == ThisAndAll) {
+			} else if (mEditRange == ThisAndAll && mOriginalEntry->isRepeating()) {
 				mAgendaUtil->storeRepeatingEntry(*mEditedEntry, true);
 			} else if (!mIsChild && (mEditRange == ThisOnly)) {
 				// Create the new exception
-				mAgendaUtil->createException(*mEditedEntry);
+				mAgendaUtil->createException(*mEditedEntry, 
+												mOriginalEntry->startTime());
 			} else {
 				// Normal entry updation
 				mAgendaUtil->updateEntry(*mEditedEntry, false);
 			}
 		}
 		if (mNewEntry) {
-			// TODO: Add the text id based on meeting or anniversary
-			HbNotificationDialog::launchDialog(hbTrId("New Event saved"));
+			// TODO: Add the text id once available
+			if(mEditedEntry->type() == AgendaEntry::TypeAppoinment) {
+				HbNotificationDialog::launchDialog(hbTrId("New meeting saved"));
+			} else if(mEditedEntry->type() == AgendaEntry::TypeEvent) {
+				HbNotificationDialog::launchDialog(hbTrId("New all-day saved"));
+			}
 		} else {
-			// TODO: Add the text id based on meeting or anniversary
-			HbNotificationDialog::launchDialog(hbTrId("Event updated"));
+			// TODO: Add the text id once available
+			if(mEditedEntry->type() == AgendaEntry::TypeAppoinment) {
+				HbNotificationDialog::launchDialog(hbTrId("Meeting updated"));
+			} else if(mEditedEntry->type() == AgendaEntry::TypeEvent) {
+				HbNotificationDialog::launchDialog(hbTrId("All day event updated"));
+			}
 		}
 		emit q_ptr->entrySaved();
 	} else if (error) {
@@ -1470,10 +1618,10 @@
 	QDateTime tempSartTime =
 	        CalenDateUtils::beginningOfDay(mEditedEntry->startTime());
 
-	// Set EndTime of AllDay event to 23:59:59
-	QDateTime tempEndTime = mEditedEntry->endTime();
+	// Set EndTime of AllDay event to 00:00:00 of next day
+	QDateTime tempEndTime = mEditedEntry->endTime().addDays(1);
 	QTime tempEndQTime = tempEndTime.time();
-	tempEndQTime.setHMS(23, 59, 59);
+	tempEndQTime.setHMS(0, 0, 0);
 	tempEndTime.setTime(tempEndQTime);
 
 	if (mNewEntry && (mAllDayCheckBoxItem->contentWidgetData("checkState")
@@ -1491,19 +1639,43 @@
 
 		// Clone the entry to AllDayEntry, Delete old entry from Database
 		mAgendaUtil->cloneEntry(*mEditedEntry, AgendaEntry::TypeEvent);
-		mAgendaUtil->deleteEntry(mEditedEntry->id());
-
+		// For later reference for the notification popup
+		mEditedEntry->setType(AgendaEntry::TypeEvent);
 		return true;
-	} else if ((mAllDayCheckBoxItem->contentWidgetData("checkState")
-	        != Qt::Checked) && (mEditedEntry->type()
-	        != AgendaEntry::TypeAppoinment)) {
-		// Editing exissting AllDayentry, and Alldat Box is Not-Checked
-		// Clone the entry to MeetingEntry, Delete old entry from Database
-		mAgendaUtil->cloneEntry(*mEditedEntry, AgendaEntry::TypeAppoinment);
-		mAgendaUtil->deleteEntry(mEditedEntry->id());
-
-		return true;
-	}
+	} else if (mAllDayCheckBoxItem->contentWidgetData("checkState")
+	        != Qt::Checked) {
+             if (mEditedEntry->type() != AgendaEntry::TypeAppoinment) {
+	            // Editing existing AllDayentry, and Alldat Box is Not-Checked
+	            // Clone the entry to MeetingEntry, Delete old entry from Database
+	            mAgendaUtil->cloneEntry(*mEditedEntry, AgendaEntry::TypeAppoinment);
+	            // For later reference for the notification popup
+	            mEditedEntry->setType(AgendaEntry::TypeAppoinment);
+	            return true;
+	        }
+            // Check if the duration of the meeting is matching the all-day criteria
+            // if yes, then we need to store it as all-day instead of normal meeting
+             else if (mEditedEntry->startTime() == CalenDateUtils::beginningOfDay(mEditedEntry->startTime())) {
+            // Get the end time and see if it is at the beginning of the end date day
+            if (mEditedEntry->endTime() == CalenDateUtils::beginningOfDay(mEditedEntry->endTime())) {
+                // Store it as all-day
+                mEditedEntry->setType(AgendaEntry::TypeEvent);
+                // Check if this was an all-day earlier and now user has changed it like that
+                // or it is a new entry
+                if (mOriginalEntry->type() == AgendaEntry::TypeEvent ||
+                        mNewEntry) {
+                    return false;
+                } else {
+                    // It was a meeting
+                    // Clone the entry to AllDayEntry, Delete old entry from Database
+                    mEditedEntry->setStartAndEndTime(tempSartTime, tempEndTime);
+                    mAgendaUtil->cloneEntry(*mEditedEntry, AgendaEntry::TypeEvent);
+                    // For later reference for the notification popup
+                    mEditedEntry->setType(AgendaEntry::TypeEvent);
+                    return true;
+                }
+            }
+        } 
+	} 
 	return false;
 }
 
--- a/calendarui/caleneditor/src/caleneditorcustomitem.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/caleneditor/src/caleneditorcustomitem.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -55,7 +55,13 @@
 	\param parent The parent object.
  */
 CalenEditorCustomItem::CalenEditorCustomItem(QGraphicsItem *parent)
-:HbDataFormViewItem(parent)
+:HbDataFormViewItem(parent),
+ mPushButtonTime(NULL),
+ mPushButtonDate(NULL),
+ mRepeatUntilWidget(NULL),
+ mReminderTimeWidget(NULL),
+ mDatePicker(NULL),
+ mTimePicker(NULL)
 {
 	mMinDate = CalenDateUtils::minTime().date();
 	mMaxDate = CalenDateUtils::maxTime().date();
@@ -155,6 +161,10 @@
 												SLOT(launchLocationPicker()));
 			connect(mLocationLineEdit, SIGNAL(textChanged(const QString)),
 						this, SLOT(handleLocationTextChange(const QString)));
+						
+			connect(mLocationLineEdit, SIGNAL(editingFinished()),
+			            this, SLOT(handleEditingFinished()));
+			
 			return widgetLocation;
 		}
 		
@@ -213,7 +223,7 @@
 			locationString.append(',');
 		}
 		locationString.append(selectedLocation.mCountry);
-		emit locationTextChanged(locationString);
+		emit locationTextChanged(locationString, selectedLocation.mLatitude, selectedLocation.mLongitude);
 		mLocationLineEdit->setText(locationString );
     }
 }
@@ -284,6 +294,14 @@
 }
 
 /*!
+	Handles the location editing finished
+ */
+void CalenEditorCustomItem::handleEditingFinished()
+{
+    emit locationEditingFinished();
+}
+
+/*!
 	Launches the date picker
  */
 void CalenEditorCustomItem::handleDate()
@@ -309,12 +327,12 @@
 	mDatePicker = new HbDateTimePicker(mDate, popUp);
 	mDatePicker->setMinimumDate(mMinDate);
 	mDatePicker->setMaximumDate(mMaxDate);
-	
+	mDatePicker->setDate(mDate);
 	popUp->setContentWidget(mDatePicker);
-	HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok"));
+	HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok"), popUp);
 	popUp->addAction(okAction);
 	connect(okAction, SIGNAL(triggered()), this, SLOT(saveDate()));
-	popUp->addAction(new HbAction(hbTrId("txt_common_button_cancel")));
+	popUp->addAction(new HbAction(hbTrId("txt_common_button_cancel"), popUp));
 	popUp->open();
 }
 
@@ -351,7 +369,7 @@
 	mTimePicker->setTime(mTime);
 	popUp->setContentWidget(mTimePicker);
 
-	HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok"));
+	HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok"), popUp);
 	popUp->addAction(okAction);
 	connect(okAction, SIGNAL(triggered()), this, SLOT(saveTime()));
 	popUp->addAction(new HbAction(hbTrId("txt_common_button_cancel"), popUp));
@@ -397,6 +415,9 @@
 	
 	// Set FromTime in Editor
 	mPushButtonTime->setText(mLocale.format(fromDateTime.time(),r_qtn_time_usual_with_zero));
+	
+	// Store the time
+    mTime = fromDateTime.time();
 }
 
 /*!
@@ -419,6 +440,9 @@
 	// Set ToTime in Editor
 	mPushButtonTime->setText(mLocale.format(
 							toDateTime.time(),r_qtn_time_usual_with_zero));
+	
+	// Store the time
+	mTime = toDateTime.time();
 }
 
 /*!
@@ -463,6 +487,11 @@
     }
 }
 
+QDateTime CalenEditorCustomItem::getDateTime()
+{
+    return QDateTime(mDate, mTime);
+}
+
 Q_IMPLEMENT_USER_METATYPE(QLocationPickerItem)
 
 // End of file	--Don't remove this.
--- a/calendarui/caleneditor/src/caleneditorreminderfield.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/caleneditor/src/caleneditorreminderfield.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -58,7 +58,7 @@
 	mReminderItem = new HbDataFormModelItem();
 	mReminderItem->setType(HbDataFormModelItem::ComboBoxItem);
 	mReminderItem->setData(HbDataFormModelItem::LabelRole,
-						   hbTrId("txt_calendar_setlabel_alarm"));	
+						   hbTrId("txt_calendar_setlabel_reminder"));	
 	// Add it to the model
 	mCalenEditorModel->appendDataFormItem(mReminderItem,
 										mCalenEditorModel->invisibleRootItem());
@@ -69,7 +69,9 @@
  */
 CalenEditorReminderField::~CalenEditorReminderField()
 {
-	// Nothing Yet
+	if(mReminderHash.count()) {
+		mReminderHash.clear();
+	}
 }
 
 /*!
@@ -79,25 +81,20 @@
 {
 	// Create the reminder choices
 	QStringList reminderChoices;
-	reminderChoices << hbTrId("txt_calendar_setlabel_alarm_val_off")
-			<< hbTrId("txt_calendar_setlabel_alarm_val_before_ln_minutes", 5)
-			<< hbTrId("txt_calendar_setlabel_alarm_val_before_ln_minutes", 10)
-			<< hbTrId("txt_calendar_setlabel_alarm_val_before_ln_minutes", 15)
-			<< hbTrId("txt_calendar_setlabel_alarm_val_before_ln_minutes", 30)
-			<< hbTrId("txt_calendar_setlabel_alarm_val_before_ln_hours", 1)
-			<< hbTrId("txt_calendar_setlabel_alarm_val_before_ln_hours", 2);
+	reminderChoices << hbTrId("txt_calendar_setlabel_reminder_val_off")
+				<< hbTrId("txt_calendar_setlabel_reminder_val_at_the_start")
+				<< hbTrId("txt_calendar_setlabel_reminder_val_15_minutes_befo")
+				<< hbTrId("txt_calendar_setlabel_reminder_val_30_minutes_befo")
+				<< hbTrId("txt_calendar_setlabel_reminder_val_1_hour_before");
 
 	mReminderItem->setContentWidgetData(QString("items"), reminderChoices);
 
 	// Build the hash map for the reminder.
-	mReminderHash[0] = 0; // OFF.
-	mReminderHash[1] = 5;
-	mReminderHash[2] = 10;
-	mReminderHash[3] = 15;
-	mReminderHash[4] = 30;
-	mReminderHash[5] = 60;
-	mReminderHash[6] = 120;
-
+	mReminderHash[0] = -1; // OFF.
+	mReminderHash[1] = 0;
+	mReminderHash[2] = 15;
+	mReminderHash[3] = 30;
+	mReminderHash[4] = 60;
 	mReminderItem->setEnabled(true);
 }
 
@@ -153,9 +150,9 @@
 	// Set the default reminder value to 15 minutes 
 	if (newEntry) {
 		if (!pastEvent) {
-			mReminderItem->setContentWidgetData("currentIndex", 3);
+			mReminderItem->setContentWidgetData("currentIndex", 2);
 			// Save the reminder alarm for the entry
-			reminder.setTimeOffset(mReminderHash.value(3));
+			reminder.setTimeOffset(mReminderHash.value(2));
 			reminder.setAlarmSoundName(QString(" "));
 			// Set the reminder to the entry as well as original entry.
 			mCalenEditor->editedEntry()->setAlarm(reminder);
@@ -192,10 +189,10 @@
 				}
 			}
 			QStringList reminderChoicesForAllDay;
-			reminderChoicesForAllDay << hbTrId("off") 
-					<< hbTrId("On event day")
-					<< hbTrId("1 day before")
-					<< hbTrId("2 days before");
+			reminderChoicesForAllDay << hbTrId("txt_calendar_setlabel_reminder_val_off") 
+					<< hbTrId("txt_calendar_setlabel_reminder_val_on_event_day")
+					<< hbTrId("txt_calendar_setlabel_reminder_val_1_day_before")
+					<< hbTrId("txt_calendar_setlabel_reminder_val_2_days_before");
 			mReminderItem->setContentWidgetData(QString("items"),
 			                                    reminderChoicesForAllDay);
 			QTime referenceTime(0, 0, 0);
@@ -240,10 +237,10 @@
 	}
 	// Check whether all day event or not and store appropriately.
 	if (!mCalenEditor->isAllDayEvent()) {
-		// If value for the index in hash table is 0 i.e reminder is "OFF",
+		// If value for the index in hash table is -1 i.e reminder is "OFF",
 		// then set the default constructed reminder to
 		// the entry which is Null.
-		if (!mReminderHash.value(index)) {
+		if (mReminderHash.value(index) < 0) {
 			// Construct the default alarm which is NULL
 			reminder = AgendaAlarm();
 		} else {
@@ -293,7 +290,9 @@
 	}
 	// Set the reminder to the entry.
 	mCalenEditor->editedEntry()->setAlarm(reminder);
-	mCalenEditor->addDiscardAction();
+	if(!mCalenEditor->isNewEntry()) {
+		mCalenEditor->addDiscardAction();
+	}
 }
 
 /*!
@@ -312,7 +311,7 @@
 {
 	// Create the remindar choices
 	QStringList reminderChoices;
-	reminderChoices << hbTrId("txt_calendar_setlabel_alarm_val_off");
+	reminderChoices << hbTrId("txt_calendar_setlabel_reminder_val_off");
 	mReminderItem->setContentWidgetData(QString("items"), reminderChoices);
 	mReminderItem->setEnabled(false); 
 }
@@ -361,23 +360,25 @@
 	if (referenceDate < QDate::currentDate() || 
 			referenceDate == QDate::currentDate()) {
 		// Set reminder off for past event.
-		reminderChoicesForAllDay << hbTrId("off");
+		reminderChoicesForAllDay << hbTrId("txt_calendar_setlabel_reminder_val_off");
 		mReminderItem->setContentWidgetData(QString("items"), 
 													reminderChoicesForAllDay);
 		mReminderItem->setEnabled(false); 
 		removeReminderTimeField();
 	} else if (theDayAfterTomorrow < referenceDate || 
 			theDayAfterTomorrow == referenceDate) {
-		reminderChoicesForAllDay << hbTrId("off")
-								 << hbTrId("On event day")
-								 << hbTrId("1 day before")
-								 << hbTrId("2 days before");
+		reminderChoicesForAllDay 
+				<< hbTrId("txt_calendar_setlabel_reminder_val_off")
+				<< hbTrId("txt_calendar_setlabel_reminder_val_on_event_day")
+				<< hbTrId("txt_calendar_setlabel_reminder_val_1_day_before")
+				<< hbTrId("txt_calendar_setlabel_reminder_val_2_days_before");
 		mReminderItem->setEnabled(true);
 		mCustomReminderTimeItem->setEnabled(true);
 	} else {
-		reminderChoicesForAllDay << hbTrId("off")
-								 << hbTrId("On event day")
-								 << hbTrId("1 day before");
+		reminderChoicesForAllDay 
+					<< hbTrId("txt_calendar_setlabel_reminder_val_off")
+					<< hbTrId("txt_calendar_setlabel_reminder_val_on_event_day")
+					<< hbTrId("txt_calendar_setlabel_reminder_val_1_day_before");
 		mReminderItem->setEnabled(true);
 		mCustomReminderTimeItem->setEnabled(true);
 	}
@@ -403,7 +404,7 @@
 	mCustomReminderTimeItem = mCalenEditorModel->insertDataFormItem(
 							index,
 							itemType,
-							QString(hbTrId("Reminder Time")),
+							QString(hbTrId("txt_calendar_setlabel_reminder_time")),
 							mCalenEditorModel->invisibleRootItem());
 	if (currentReminderIndex() != 1){
 		mReminderTimeForAllDay.setHMS(18,0,0,0);
@@ -436,13 +437,13 @@
 {
 	mReminderTimeAdded = false;
 	if (mCustomReminderTimeItem) {
-					QModelIndex reminderIndex =
-					        mCalenEditorModel->indexFromItem(mCustomReminderTimeItem);
-					mCalenEditorModel->removeItem(
-					                              mCalenEditorModel->index(
-					                            		  reminderIndex.row(), 0));
-					mCustomReminderTimeItem = NULL;
-				}
+		QModelIndex reminderIndex =
+				mCalenEditorModel->indexFromItem(mCustomReminderTimeItem);
+		mCalenEditorModel->removeItem(
+				mCalenEditorModel->index(
+						reminderIndex.row(), 0));
+		mCustomReminderTimeItem = NULL;
+	}
 }
 
 /*!
--- a/calendarui/caleneditor/src/caleneditorrepeatfield.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/caleneditor/src/caleneditorrepeatfield.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -33,6 +33,9 @@
 #include "caleneditorrepeatfield.h"
 #include "caleneditorcustomitem.h"
 
+// Constants
+const int userRole = Qt::UserRole + 100;
+
 /*!
 	\class CalenEditorRepeatField
  */
@@ -71,8 +74,7 @@
 		QStringList repeatChoices;
 		repeatChoices << hbTrId("txt_calendar_setlabel_repeat_val_only_once")
 		        << hbTrId("txt_calendar_setlabel_repeat_val_daily")
-		        // TODO : add text ID for workdays
-		        << hbTrId("Workdays")
+		        << hbTrId("txt_calendar_setlabel_repeat_val_workdays")
 		        << hbTrId("txt_calendar_setlabel_repeat_val_weekly")
 		        << hbTrId("txt_calendar_setlabel_repeat_val_fortnightly")
 		        << hbTrId("txt_calendar_setlabel_repeat_val_monthly")
@@ -126,16 +128,16 @@
 	// Set the user roles for the combobox items so that we depend on these
 	// roles to identify the correct repeat type when repeat choices are 
 	// dynamically removed or added
-	mRepeatComboBox->setItemData(RepeatOnce, RepeatOnce, Qt::UserRole+100);
-	mRepeatComboBox->setItemData(RepeatDaily, RepeatDaily, Qt::UserRole+100);
+	mRepeatComboBox->setItemData(RepeatOnce, RepeatOnce, userRole);
+	mRepeatComboBox->setItemData(RepeatDaily, RepeatDaily, userRole);
 	mRepeatComboBox->setItemData(RepeatWorkdays, 
-								 RepeatWorkdays, Qt::UserRole+100);
-	mRepeatComboBox->setItemData(RepeatWeekly, RepeatWeekly, Qt::UserRole+100);
+								 RepeatWorkdays, userRole);
+	mRepeatComboBox->setItemData(RepeatWeekly, RepeatWeekly, userRole);
 	mRepeatComboBox->setItemData(RepeatBiWeekly, 
-								 RepeatBiWeekly, Qt::UserRole+100);
+								 RepeatBiWeekly, userRole);
 	mRepeatComboBox->setItemData(RepeatMonthly, 
-								 RepeatMonthly, Qt::UserRole+100);
-	mRepeatComboBox->setItemData(RepeatYearly, RepeatYearly, Qt::UserRole+100);
+								 RepeatMonthly, userRole);
+	mRepeatComboBox->setItemData(RepeatYearly, RepeatYearly, userRole);
 	
 	if (mCalenEditor->editedEntry()->isRepeating()) {
 		switch (mCalenEditor->editedEntry()->repeatRule().type()) {
@@ -197,9 +199,9 @@
 	mIsWorkdays = false;
 
 	HbExtendedLocale locale = HbExtendedLocale::system();
-	// Get the user role w ehave set for this index
-	QVariant userRole = mRepeatComboBox->itemData(index, Qt::UserRole + 100);
-	int value = userRole.toInt();
+	// Get the user role we have set for this index
+	QVariant role = mRepeatComboBox->itemData(index, userRole);
+	int value = role.toInt();
 	switch (value) {
 		case 1: {
 			if (!mRepeatUntilItemAdded) {
@@ -296,7 +298,9 @@
 		}
 		break;
 	}
-	mCalenEditor->addDiscardAction();
+	if(!mCalenEditor->isNewEntry()) {
+		mCalenEditor->addDiscardAction();
+	}
 	mCalenEditor->updateReminderChoices();
 }
 
@@ -433,6 +437,9 @@
 */
 void CalenEditorRepeatField::updateRepeatChoices()
 {
+    if (!mRepeatComboBox) {
+        return;
+    }
 	// Clear all the choices and add it again. If we dont do it 
 	// as user would have changed the end times many times and we would have
 	// deleted repeat options depending upon that
@@ -443,8 +450,7 @@
 	QStringList repeatChoices;
 	repeatChoices << hbTrId("txt_calendar_setlabel_repeat_val_only_once")
 			<< hbTrId("txt_calendar_setlabel_repeat_val_daily")
-			// TODO : add text ID for workdays
-			<< hbTrId("Workdays")
+			<< hbTrId("txt_calendar_setlabel_repeat_val_workdays")
 			<< hbTrId("txt_calendar_setlabel_repeat_val_weekly")
 			<< hbTrId("txt_calendar_setlabel_repeat_val_fortnightly")
 			<< hbTrId("txt_calendar_setlabel_repeat_val_monthly")
@@ -453,19 +459,19 @@
 	// Set the user roles for the combobox items so that we depend on these
 	// roles to identify the correct repeat type when repeat choices are 
 	// dynamically removed or added
-	mRepeatComboBox->setItemData(RepeatOnce, RepeatOnce, Qt::UserRole + 100);
+	mRepeatComboBox->setItemData(RepeatOnce, RepeatOnce, userRole);
 	mRepeatComboBox->setItemData(RepeatDaily, RepeatDaily, 
-								 Qt::UserRole + 100);
+	                             userRole);
 	mRepeatComboBox->setItemData(RepeatWorkdays, 
-								 RepeatWorkdays, Qt::UserRole+100);
+								 RepeatWorkdays, userRole);
 	mRepeatComboBox->setItemData(RepeatWeekly, RepeatWeekly,
-								 Qt::UserRole + 100);
+	                             userRole);
 	mRepeatComboBox->setItemData(RepeatBiWeekly, RepeatBiWeekly,
-								 Qt::UserRole + 100);
+	                             userRole);
 	mRepeatComboBox->setItemData(RepeatMonthly, RepeatMonthly,
-								 Qt::UserRole + 100);
+	                             userRole);
 	mRepeatComboBox->setItemData(RepeatYearly, RepeatYearly, 
-								 Qt::UserRole + 100);
+	                             userRole);
 
 	int totalCount = mRepeatComboBox->count();
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/calenlauncher/bwins/calenlauncheru.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,17 @@
+EXPORTS
+	?staticMetaObject@CalenLauncher@@2UQMetaObject@@B @ 1 NONAME ; struct QMetaObject const CalenLauncher::staticMetaObject
+	?launchCalendarApp@CalenLauncher@@QAEXW4CalenView@1@AAVQDateTime@@_N@Z @ 2 NONAME ; void CalenLauncher::launchCalendarApp(enum CalenLauncher::CalenView, class QDateTime &, bool)
+	?calendarLaunchFailed@CalenLauncher@@IAEXH@Z @ 3 NONAME ; void CalenLauncher::calendarLaunchFailed(int)
+	??1CalenLauncher@@UAE@XZ @ 4 NONAME ; CalenLauncher::~CalenLauncher(void)
+	??_ECalenLauncher@@UAE@I@Z @ 5 NONAME ; CalenLauncher::~CalenLauncher(unsigned int)
+	?tr@CalenLauncher@@SA?AVQString@@PBD0H@Z @ 6 NONAME ; class QString CalenLauncher::tr(char const *, char const *, int)
+	?trUtf8@CalenLauncher@@SA?AVQString@@PBD0@Z @ 7 NONAME ; class QString CalenLauncher::trUtf8(char const *, char const *)
+	?tr@CalenLauncher@@SA?AVQString@@PBD0@Z @ 8 NONAME ; class QString CalenLauncher::tr(char const *, char const *)
+	?qt_metacast@CalenLauncher@@UAEPAXPBD@Z @ 9 NONAME ; void * CalenLauncher::qt_metacast(char const *)
+	?getStaticMetaObject@CalenLauncher@@SAABUQMetaObject@@XZ @ 10 NONAME ; struct QMetaObject const & CalenLauncher::getStaticMetaObject(void)
+	?handleError@CalenLauncher@@QAEXH@Z @ 11 NONAME ; void CalenLauncher::handleError(int)
+	?trUtf8@CalenLauncher@@SA?AVQString@@PBD0H@Z @ 12 NONAME ; class QString CalenLauncher::trUtf8(char const *, char const *, int)
+	??0CalenLauncher@@QAE@PAVQObject@@@Z @ 13 NONAME ; CalenLauncher::CalenLauncher(class QObject *)
+	?metaObject@CalenLauncher@@UBEPBUQMetaObject@@XZ @ 14 NONAME ; struct QMetaObject const * CalenLauncher::metaObject(void) const
+	?qt_metacall@CalenLauncher@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 15 NONAME ; int CalenLauncher::qt_metacall(enum QMetaObject::Call, int, void * *)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/calenlauncher/eabi/calenlauncheru.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,17 @@
+EXPORTS
+	_ZN13CalenLauncher11handleErrorEi @ 1 NONAME
+	_ZN13CalenLauncher11qt_metacallEN11QMetaObject4CallEiPPv @ 2 NONAME
+	_ZN13CalenLauncher11qt_metacastEPKc @ 3 NONAME
+	_ZN13CalenLauncher16staticMetaObjectE @ 4 NONAME DATA 16
+	_ZN13CalenLauncher17launchCalendarAppENS_9CalenViewER9QDateTimeb @ 5 NONAME
+	_ZN13CalenLauncher19getStaticMetaObjectEv @ 6 NONAME
+	_ZN13CalenLauncher20calendarLaunchFailedEi @ 7 NONAME
+	_ZN13CalenLauncherC1EP7QObject @ 8 NONAME
+	_ZN13CalenLauncherC2EP7QObject @ 9 NONAME
+	_ZN13CalenLauncherD0Ev @ 10 NONAME
+	_ZN13CalenLauncherD1Ev @ 11 NONAME
+	_ZN13CalenLauncherD2Ev @ 12 NONAME
+	_ZNK13CalenLauncher10metaObjectEv @ 13 NONAME
+	_ZTI13CalenLauncher @ 14 NONAME
+	_ZTV13CalenLauncher @ 15 NONAME
+
--- a/calendarui/calenlauncher/inc/calenlauncher.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/calenlauncher/inc/calenlauncher.h	Thu Jul 22 16:32:51 2010 +0100
@@ -29,7 +29,7 @@
 public:
 	enum CalenView{
 			MonthView = 0,
-			DayView
+			AgendaView
 		};
     CalenLauncher(QObject* parent = 0);
     ~CalenLauncher();
--- a/calendarui/calenplugins/agendaeventviewerplugin/agendaeventviewerplugin.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/calenplugins/agendaeventviewerplugin/agendaeventviewerplugin.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -39,12 +39,11 @@
 	TARGET.CAPABILITY = ALL -TCB
 	TARGET.EPOCALLOWDLLDATA = 1
 	TARGET.UID3 = 0x2002E6A0 
-	
+	INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE	
 	
 	LIBS += -lagendainterface \
 			-lagendaeventviewer
 
-INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
 
 load(data_caging_paths)
 # plugin stub deployment
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/calenviewerservice/calenviewerservice.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,68 @@
+#
+#  Copyright (c) 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 is the project specification file for the calenviewerservice exe.
+#  
+
+TEMPLATE = app
+TARGET = calenviewerservice
+
+DEPENDPATH += 	. \
+				./inc \
+				./src \
+				../inc
+
+INCLUDEPATH += 	. \
+				./inc \
+				../inc \
+				./traces
+
+CONFIG += hb
+
+symbian: { 
+	LIBS += -lagendaeventviewer \
+			-lxqservice \ 
+			-lxqserviceutil \
+			-lagendainterface \
+			-lagendaeventviewer
+    
+  TARGET.CAPABILITY = All -TCB
+	TARGET.UID3 = 0x20031594
+  INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+}
+
+# Input
+HEADERS += 	calenviewerservice.h
+
+SOURCES += 	calenviewerservice.cpp \
+			main.cpp
+
+CONFIG += service
+SERVICE.FILE = data/calenviewerservice_conf.xml
+SERVICE.OPTIONS += embeddable
+SERVICE.OPTIONS += hidden
+
+RSS_RULES += \
+	"datatype_list = " \
+	"      {" \
+	"      DATATYPE" \
+	"          {" \
+	"          priority = EDataTypePriorityHigh;" \
+	"          type = \"text/x-vCalendar\";" \  
+	"          }," \
+	"      DATATYPE" \
+	"          {" \
+	"          priority = EDataTypePriorityHigh;" \
+	"          type = \"text/calendar\";" \  
+	"          }" \
+	"      };" \
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/calenviewerservice/data/calenviewerservice_conf.xml	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<service>
+  <name>calenviewerservice</name>
+  <filepath>No path</filepath>
+  <description>vCal/ICal viewer</description>
+  <interface>
+     <name>com.nokia.symbian.IFileView</name>
+     <version>1.0</version>
+     <description>Interface for showing Files</description>
+   </interface>
+</service>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/calenviewerservice/inc/calenviewerservice.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,57 @@
+/*
+* 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 __CALEN_VIEWER_SERVICE_H__
+#define __CALEN_VIEWER_SERVICE_H__
+
+// System includes
+#include <xqserviceprovider.h>
+#include <xqsharablefile.h>
+
+// Forward declarations
+class AgendaUtil;
+class AgendaEventViewer;
+
+class CalenViewerService : public XQServiceProvider
+{
+    Q_OBJECT
+public:
+	CalenViewerService(QObject *parent = 0);
+	~CalenViewerService();
+
+public slots:
+	bool view(QString file);
+	bool view(XQSharableFile file);
+	
+private slots:
+    void entryViewReady(int error);
+    void handleClientDisconnected();
+    
+private:
+    void viewEntry();
+    void complete(bool ok);
+    
+private:
+    QString mFileName;
+    AgendaUtil *mAgendaUtil;
+    AgendaEventViewer *mViewer;
+    bool mEntryViewReady;
+    bool mWaitingForEntryViewReady;
+    int mAsyncReqIndex;
+};
+
+#endif		// __CALEN_VIEWER_SERVICE_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/calenviewerservice/src/calenviewerservice.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,223 @@
+/*
+* 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: 
+*
+*/
+
+// System includes
+#include <QFile>
+#include <QCoreApplication>
+#include <agendautil.h>
+
+// User includes
+#include "calenviewerservice.h"
+#include "agendaeventviewer.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "calenviewerserviceTraces.h"
+#endif
+
+
+// ----------------------------------------------------------------------------
+// CalenViewerService::CalenViewerService
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//
+CalenViewerService::CalenViewerService(QObject* parent) : 
+	XQServiceProvider(QLatin1String("calenviewerservice.com.nokia.symbian.IFileView"), parent),
+	mFileName(0),
+	mViewer(NULL),
+	mEntryViewReady(false),
+	mWaitingForEntryViewReady(false),
+	mAsyncReqIndex(0)
+{
+    OstTraceFunctionEntry0( CALENVIEWERSERVICE_CALENVIEWERSERVICE_ENTRY );
+    
+    // Construct the agenda util object
+    mAgendaUtil = new AgendaUtil();
+    connect(mAgendaUtil, SIGNAL(entryViewCreationCompleted(int)), this, SLOT(entryViewReady(int)));
+    connect(this, SIGNAL(clientDisconnected()), this, SLOT(handleClientDisconnected()));
+    
+	publishAll();
+	
+	OstTraceFunctionExit0( CALENVIEWERSERVICE_CALENVIEWERSERVICE_EXIT );
+}
+
+// ----------------------------------------------------------------------------
+// CalenViewerService::~CalenViewerService
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//
+CalenViewerService::~CalenViewerService()
+{
+    OstTraceFunctionEntry0( DUP1_CALENVIEWERSERVICE_CALENVIEWERSERVICE_ENTRY );
+    
+    // Cleanup
+    if (mAgendaUtil) {
+        delete mAgendaUtil;
+        mAgendaUtil = NULL;
+    }
+    if (mViewer) {
+        mViewer->deleteLater();
+        mViewer = NULL;
+    }
+    
+    OstTraceFunctionExit0( DUP1_CALENVIEWERSERVICE_CALENVIEWERSERVICE_EXIT );
+}
+
+// ----------------------------------------------------------------------------
+// CalenViewerService::view
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//
+bool CalenViewerService::view(QString file)
+{	
+    OstTraceFunctionEntry0( CALENVIEWERSERVICE_VIEW_ENTRY );
+    
+    // Set the request as asynchronous
+    mAsyncReqIndex = setCurrentRequestAsync();
+    
+    // Store the file name
+	mFileName = file;
+	
+	if (mEntryViewReady) {
+	    // View the entry only after the entry view
+	    // is completely instantiated
+	    viewEntry();
+	} else {
+	    OstTrace0( TRACE_NORMAL, DUP1_CALENVIEWERSERVICE_VIEW, "Entry view not ready" );
+	    // Mark the flag to indicate that after the
+	    // entry view is ready, the file must be opened
+	    mWaitingForEntryViewReady = true;
+	}
+	
+	OstTraceFunctionExit0( CALENVIEWERSERVICE_VIEW_EXIT );
+	
+	return true;
+}
+
+// ----------------------------------------------------------------------------
+// CalenViewerService::view
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//
+bool CalenViewerService::view(XQSharableFile sf)
+{	
+    OstTraceFunctionEntry0( DUP1_CALENVIEWERSERVICE_VIEW_ENTRY );
+    
+    Q_UNUSED(sf);
+    
+    OstTrace0( TRACE_NORMAL, DUP2_CALENVIEWERSERVICE_VIEW, "Functionality not yet present" );
+    
+    // Set the request as asynchronous
+    mAsyncReqIndex = setCurrentRequestAsync();
+    
+	// TODO: Convert RFile to QFile handle and view
+	// Support for this has to come from Qt
+	complete(false);
+	
+	OstTraceFunctionExit0( DUP1_CALENVIEWERSERVICE_VIEW_EXIT );
+	
+	return true;
+}
+
+// ----------------------------------------------------------------------------
+// CalenViewerService::entryViewReady
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//
+void CalenViewerService::entryViewReady(int error)
+{
+    OstTraceFunctionEntry0( CALENVIEWERSERVICE_ENTRYVIEWREADY_ENTRY );
+    
+    Q_UNUSED(error);
+    
+    mEntryViewReady = true;
+
+    // Now open the file for viewing
+    if (mWaitingForEntryViewReady) {
+        // If control comes here, it means that
+        // the request to view the file has come before
+        // the entry view is ready. So view the entry now
+        viewEntry();
+    }
+    
+    OstTraceFunctionExit0( CALENVIEWERSERVICE_ENTRYVIEWREADY_EXIT );
+}
+
+// ----------------------------------------------------------------------------
+// CalenViewerService::handleClientDisconnected
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//
+void CalenViewerService::handleClientDisconnected()
+{
+    OstTraceFunctionEntry0( CALENVIEWERSERVICE_HANDLECLIENTDISCONNECTED_ENTRY );
+    
+    // Just exit the application
+    qApp->quit();
+    
+    OstTraceFunctionExit0( CALENVIEWERSERVICE_HANDLECLIENTDISCONNECTED_EXIT );
+}
+
+// ----------------------------------------------------------------------------
+// CalenViewerService::viewEntry
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//
+void CalenViewerService::viewEntry()
+{
+    OstTraceFunctionEntry0( CALENVIEWERSERVICE_VIEWENTRY_ENTRY );
+    
+    if (mFileName.isEmpty()) {
+        // Invalid file name or viewer is already being viewed
+        OstTrace0( TRACE_NORMAL, CALENVIEWERSERVICE_VIEWENTRY, "Filename is empty" );
+        
+        // Just exit the application
+        qApp->quit();
+
+        return;
+    }
+    QFile fileHandle(mFileName);
+
+    if (!mViewer) {
+        mViewer = new AgendaEventViewer(mAgendaUtil, this);
+        connect(mViewer, SIGNAL(viewingCompleted()), qApp, SLOT(quit()));
+    }
+    
+    // TODO : No indication if the parsing of vcal/ical is successful
+    mViewer->view(fileHandle, AgendaEventViewer::ActionSave);
+    complete(true);
+    
+    OstTraceFunctionExit0( DUP1_CALENVIEWERSERVICE_VIEWENTRY_EXIT );
+}
+
+// ----------------------------------------------------------------------------
+// CalenViewerService::complete
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//
+void CalenViewerService::complete(bool ok)
+{
+    OstTraceFunctionEntry0( CALENVIEWERSERVICE_COMPLETE_ENTRY );
+    
+    // TODO : Pass return value based on whether parsing
+    // of vcal or ical is successful or not
+    completeRequest(mAsyncReqIndex, ok);
+    
+    OstTraceFunctionExit0( CALENVIEWERSERVICE_COMPLETE_EXIT );
+}
+
+// End of file	--Don't remove this.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/calenviewerservice/src/main.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,47 @@
+/*
+* 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:  main implementation.
+*
+*/
+
+// System includes
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+
+// User includes
+#include "calenviewerservice.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "mainTraces.h"
+#endif
+
+
+int main (int argc, char *argv[])
+{
+    OstTraceFunctionEntry0( _MAIN_ENTRY );
+    
+    HbApplication app(argc, argv);
+	HbMainWindow mainWindow;
+	
+	// Create the service provider
+	CalenViewerService service;
+	
+	mainWindow.show();
+	
+	int retVal = app.exec();
+	
+	OstTraceFunctionExit0( _MAIN_EXIT );
+	
+	return retVal;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/calenviewerservice/traces/OstTraceDefinitions.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,7 @@
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
+// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
+#define OST_TRACE_COMPILER_IN_USE
+#include <opensystemtrace.h>
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/calenviewerservice/traces/calenviewerserviceTraces.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,35 @@
+// Created by TraceCompiler 2.2.2
+// DO NOT EDIT, CHANGES WILL BE LOST
+
+#ifndef __CALENVIEWERSERVICETRACES_H__
+#define __CALENVIEWERSERVICETRACES_H__
+
+#define KOstTraceComponentID 0x20031594
+
+#define CALENVIEWERSERVICE_CALENVIEWERSERVICE_ENTRY 0x8a0001
+#define CALENVIEWERSERVICE_CALENVIEWERSERVICE_EXIT 0x8a0002
+#define DUP1_CALENVIEWERSERVICE_CALENVIEWERSERVICE_ENTRY 0x8a0005
+#define DUP1_CALENVIEWERSERVICE_CALENVIEWERSERVICE_EXIT 0x8a0006
+#define CALENVIEWERSERVICE_VIEW_ENTRY 0x8a0007
+#define CALENVIEWERSERVICE_VIEW_EXIT 0x8a0008
+#define DUP1_CALENVIEWERSERVICE_VIEW_ENTRY 0x8a0009
+#define DUP1_CALENVIEWERSERVICE_VIEW_EXIT 0x8a000a
+#define CALENVIEWERSERVICE_INSTANCEVIEWREADY_ENTRY 0x8a000b
+#define CALENVIEWERSERVICE_INSTANCEVIEWREADY_EXIT 0x8a000c
+#define CALENVIEWERSERVICE_ENTRYVIEWREADY_ENTRY 0x8a000d
+#define CALENVIEWERSERVICE_ENTRYVIEWREADY_EXIT 0x8a000e
+#define CALENVIEWERSERVICE_HANDLECLIENTDISCONNECTED_ENTRY 0x8a000f
+#define CALENVIEWERSERVICE_HANDLECLIENTDISCONNECTED_EXIT 0x8a0010
+#define CALENVIEWERSERVICE_VIEWENTRY_ENTRY 0x8a0011
+#define DUP1_CALENVIEWERSERVICE_VIEWENTRY_EXIT 0x8a0012
+#define CALENVIEWERSERVICE_COMPLETE_ENTRY 0x8a0013
+#define CALENVIEWERSERVICE_COMPLETE_EXIT 0x8a0014
+#define CALENVIEWERSERVICE_VIEWENTRY 0x860002
+#define DUP1_CALENVIEWERSERVICE_VIEW 0x860003
+#define DUP2_CALENVIEWERSERVICE_VIEW 0x860004
+
+
+#endif
+
+// End of file
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/calenviewerservice/traces/fixed_id.definitions	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,26 @@
+#Fixed group and trace id definitions. If this file is removed, the identifiers are rebuilt.
+[GROUP]TRACE_FLOW=0x8a
+[GROUP]TRACE_NORMAL=0x86
+[TRACE]TRACE_FLOW[0x8A]_CALENVIEWERSERVICE_CALENVIEWERSERVICE_ENTRY=0x1
+[TRACE]TRACE_FLOW[0x8A]_CALENVIEWERSERVICE_CALENVIEWERSERVICE_EXIT=0x2
+[TRACE]TRACE_FLOW[0x8A]_CALENVIEWERSERVICE_COMPLETE_ENTRY=0x13
+[TRACE]TRACE_FLOW[0x8A]_CALENVIEWERSERVICE_COMPLETE_EXIT=0x14
+[TRACE]TRACE_FLOW[0x8A]_CALENVIEWERSERVICE_ENTRYVIEWREADY_ENTRY=0xd
+[TRACE]TRACE_FLOW[0x8A]_CALENVIEWERSERVICE_ENTRYVIEWREADY_EXIT=0xe
+[TRACE]TRACE_FLOW[0x8A]_CALENVIEWERSERVICE_HANDLECLIENTDISCONNECTED_ENTRY=0xf
+[TRACE]TRACE_FLOW[0x8A]_CALENVIEWERSERVICE_HANDLECLIENTDISCONNECTED_EXIT=0x10
+[TRACE]TRACE_FLOW[0x8A]_CALENVIEWERSERVICE_INSTANCEVIEWREADY_ENTRY=0xb
+[TRACE]TRACE_FLOW[0x8A]_CALENVIEWERSERVICE_INSTANCEVIEWREADY_EXIT=0xc
+[TRACE]TRACE_FLOW[0x8A]_CALENVIEWERSERVICE_VIEWENTRY_ENTRY=0x11
+[TRACE]TRACE_FLOW[0x8A]_CALENVIEWERSERVICE_VIEW_ENTRY=0x7
+[TRACE]TRACE_FLOW[0x8A]_CALENVIEWERSERVICE_VIEW_EXIT=0x8
+[TRACE]TRACE_FLOW[0x8A]_DUP1_CALENVIEWERSERVICE_CALENVIEWERSERVICE_ENTRY=0x5
+[TRACE]TRACE_FLOW[0x8A]_DUP1_CALENVIEWERSERVICE_CALENVIEWERSERVICE_EXIT=0x6
+[TRACE]TRACE_FLOW[0x8A]_DUP1_CALENVIEWERSERVICE_VIEWENTRY_EXIT=0x12
+[TRACE]TRACE_FLOW[0x8A]_DUP1_CALENVIEWERSERVICE_VIEW_ENTRY=0x9
+[TRACE]TRACE_FLOW[0x8A]_DUP1_CALENVIEWERSERVICE_VIEW_EXIT=0xa
+[TRACE]TRACE_FLOW[0x8A]__MAIN_ENTRY=0x3
+[TRACE]TRACE_FLOW[0x8A]__MAIN_EXIT=0x4
+[TRACE]TRACE_NORMAL[0x86]_CALENVIEWERSERVICE_VIEWENTRY=0x2
+[TRACE]TRACE_NORMAL[0x86]_DUP1_CALENVIEWERSERVICE_VIEW=0x3
+[TRACE]TRACE_NORMAL[0x86]_DUP2_CALENVIEWERSERVICE_VIEW=0x4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/calenviewerservice/traces/mainTraces.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,16 @@
+// Created by TraceCompiler 2.2.2
+// DO NOT EDIT, CHANGES WILL BE LOST
+
+#ifndef __MAINTRACES_H__
+#define __MAINTRACES_H__
+
+#define KOstTraceComponentID 0x20031594
+
+#define _MAIN_ENTRY 0x8a0003
+#define _MAIN_EXIT 0x8a0004
+
+
+#endif
+
+// End of file
+
Binary file calendarui/cenrep/101F874B.cre has changed
Binary file calendarui/cenrep/101F874B.txt has changed
--- a/calendarui/cenrep/CalendarDomainCRKeys.h	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +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: Calendar Domain Cenrep Keys.
-*
-*/
-
-#ifndef CALENDARDOMAINCRKEYS_H
-#define CALENDARDOMAINCRKEYS_H
-
-//#include <CalendarSDKCRKeys.h>
-
-/** Calendar UI Settings API */
-/** Provides access to the Calendar application's settings */
-
-const TUid KCRUidCalendar = {0x101F874B};
-
-/**
-* Calendar alarm sound file, string.
-* Default value : "z:\data\sounds\digital\alarm.aac"
-**/
-const TUint32 KCalendarSoundFile = 0x00000004;
-
-/** 
-* Default Calendar alarm sound file.
-* Default value : "z:\data\sounds\digital\alarm.aac"
-**/
-const TUint32 KCalendarDefaultSoundFile = 0x00000005;
-
-#endif
\ No newline at end of file
--- a/calendarui/cenrep/CalendarInternalCRKeys.h	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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 Internal Cenrep Keys.
-*
-*/
-
-
-
-#ifndef CALENDARINTERNALCRKEYS_H
-#define CALENDARINTERNALCRKEYS_H
-
-//#include <CalendarSDKCRKeys.h>
-
-/** Calendar UI Settings API */
-/** Provides access to the Calendar application's settings */
-
-const TUint32 KCRUidCalendar = {0x101F874B};
-
-
-/**
-* Default alarm time in minutes before event starting time.
-* Value is an integer between 0 and 60. Default: 15.
-**/
-const TUint32 KCalendarDefaultAlarmTime = 0x00000000;
-
-/**
-* Default starting view for Calendar. Value is an integer between 0 and 2.
-* 0 = Month view (default)
-* 1 = Week view
-* 2 = Day view
-**/
-const TUint32 KCalendarDefaultStartView = 0x00000001;
-
-/**
-* Week view title in Calendar application.
-* Value is eihter integer 0 or 1
-* 0 = Week number (default)
-* 1 = Week dates
-**/
-const TUint32 KCalendarWeekViewTitle = 0x00000002;
-
-/**
-* Is Chinese Lunar calendar information shown in Calendar
-* (only available if feature is included in ROM image).
-* Value is either integer 0 or 1
-* 0 = Off
-* 1 = On (default)
-* This key value is deprecated and has been replaced by the KCRUidCalenLunarPlugin key.
-**/
-const TUint32 KCalendarLunarCalendar = 0x00000003;
-
-/**
-* Calendar alarm sound file, string.
-* Default value : "z:\data\sounds\digital\alarm.aac"
-**/
-const TUint32 KCalendarSoundFile = 0x00000004;
-
-/**
-* Default Calendar alarm sound file.
-* Default value : "z:\data\sounds\digital\alarm.aac"
-**/
-const TUint32 KCalendarDefaultSoundFile = 0x00000005;
-
-/**
-* A flag that is set when a Calendar alarm was lost due to time change.
-* Default value: 0
-*/
-const TUint32 KCalendarLostAlarm = 0x00000006;
-
-/**
-* Calendar alarm snooze time interval in minutes.
-* Default value: 5
-*/
-const TUint32 KCalendarSnoozeTime = 0x00000007;
-
-//Added as an addition to the Symbian fix
-/**
-* Calendar Persistent Time to store the last time the System Time updated.
-* Default Value : 0
-*/
-const TReal KCalendarPersistentTime  = 0x00000009;
-
-/**
-* Text string containing UIDs and enabled/disabled flag (separated
-* by commas) for Calendar plugins.
-* Default value: Empty
-*/
-const TUint32 KCalendarPluginAvailability = 0x0000000A;
-
-/**
-* Defines whether regional information must be shown in the Calendar or not
-* Default value: 1
-*/
-const TUint32 KShowRegionalInformation = 0x0000000B;
-
-#endif  // CALENDARINTERNALCRKEYS_H
--- a/calendarui/cenrep/CalendarPrivateCRKeys.h	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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 Private Cenrep Keys.
-*
-*/
-
-
-
-#ifndef CALENDARPRIVATECRKEYS_H
-#define CALENDARPRIVATECRKEYS_H
-
-#include <CalendarInternalCRKeys.h>
-
-/** Calendar UI Local Variation API */
-/** Provides access to the Calendar application's local variation setting */
-
-const TUid KCRUidCalendarLV = {0x101F874C};
-
-
-/**
-* Local variation bitmask for Caledar configuration.
-* For values refer to CalendarVariant.hrh.
-*
-**/
-const TUint32 KCalenLVFlags = 0x00000007;
-
-
-/** Calendar Thai Plugin  Settings API */
-/** Provides access to the Calendar Thai Plugin's settings */
-const TUid KCRUidCalenThaiPlugin = {0x102823D2};
-
-/**
-* User modifiable setting
-* Is Thai regional Calendar information shown in Calendar
-* (only available if feature is included in phone,
-*  currnet display language is Thai)
-* Value is either integer 0 or 1 
-* 0 = Off 
-* 1 = On (default)
-**/
-const TUint32 KCalenThaiPluginEnabled = 0x00000000;
-
-
-/** Calendar Lunar Calendar Plugin Settings API */
-/** Provides access to the Calendar Lunar Plugin's settings */
-const TUid KCRUidCalenLunarPlugin = { 0x102823D1 };
-
-/**
-* User modifiable setting
-* Is Chinese Lunar Calendar information shown in Calendar
-* (only available if feature is included in phone,
-*  currnet display language is some of Chinese languages)
-* Value is either integer 0 or 1 
-* 0 = Off 
-* 1 = On (default)
-**/
-const TUint32 KCalenChineseLunarEnabled = 0x00000000;
-
-
-/**
-* User modifiable setting
-* Is Vietnamese Lunar Calendar information shown in Calendar
-* (only available if feature is included in phone,
-*  currnet display language is Vietnamese languages)
-* Value is either integer 0 or 1 
-* 0 = Off 
-* 1 = On (default)
-**/
-const TUint32 KCalenVietnameseLunarEnabled = 0x00000001;
-
-
-/** Calendar UI Extensions Settings API */
-/** Provides access to user settings that enable Calendar UI extensions and customizations */
-const TUid KCRUidCalenUIExtensions = { 0x10282ED7 };
-
-/**
-* User modifiable setting to enable the AIW External Calendar.
-* (only available if an AIW provider is included in phone)
-* Value is either integer 0 or 1 
-* 0 = Off 
-* 1 = On (default)
-**/
-const TUint32 KCalenExternalCalendarEnabled = 0x00000000;
-
-
-#endif  // CALENDARPRIVATECRKEYS_H
--- a/calendarui/cenrep/README.txt	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-Put 101F874B.cre in epoc32/winscw/c/private/10202be9/persists.
-
-This is a temporary solution until the calendar central repository data gets updated in the platform to include the new plugin setting item.
-
-Once the platform change has been made, 101F874B.cre and 101F874B.txt can be deleted from this directory.
\ No newline at end of file
Binary file calendarui/cenrep/keys_calendarUI.xls has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/commonutils/bwins/calencommonutilsu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,20 @@
+EXPORTS
+	?roundToPreviousHour@CalenDateUtils@@SAHABH@Z @ 1 NONAME ; int CalenDateUtils::roundToPreviousHour(int const &)
+	?onSameMonth@CalenDateUtils@@SA_NABVQDateTime@@0@Z @ 2 NONAME ; bool CalenDateUtils::onSameMonth(class QDateTime const &, class QDateTime const &)
+	?timeOfDay@CalenDateUtils@@SAHABVQDateTime@@@Z @ 3 NONAME ; int CalenDateUtils::timeOfDay(class QDateTime const &)
+	?minTime@CalenDateUtils@@SA?AVQDateTime@@XZ @ 4 NONAME ; class QDateTime CalenDateUtils::minTime(void)
+	?isOnToday@CalenDateUtils@@SA_NABVQDateTime@@@Z @ 5 NONAME ; bool CalenDateUtils::isOnToday(class QDateTime const &)
+	?displayTimeOnDay@CalenDateUtils@@SA?AVQDateTime@@ABV2@0@Z @ 6 NONAME ; class QDateTime CalenDateUtils::displayTimeOnDay(class QDateTime const &, class QDateTime const &)
+	?endsAtStartOfDay@CalenAgendaUtils@@SA_NAAVAgendaEntry@@ABVQDateTime@@@Z @ 7 NONAME ; bool CalenAgendaUtils::endsAtStartOfDay(class AgendaEntry &, class QDateTime const &)
+	?roundToPreviousHour@CalenDateUtils@@SA?AVQDateTime@@ABV2@@Z @ 8 NONAME ; class QDateTime CalenDateUtils::roundToPreviousHour(class QDateTime const &)
+	?maxTime@CalenDateUtils@@SA?AVQDateTime@@XZ @ 9 NONAME ; class QDateTime CalenDateUtils::maxTime(void)
+	?timeRangesIntersect@CalenDateUtils@@SA_NABVQDateTime@@000@Z @ 10 NONAME ; bool CalenDateUtils::timeRangesIntersect(class QDateTime const &, class QDateTime const &, class QDateTime const &, class QDateTime const &)
+	?limitToValidTime@CalenDateUtils@@SA?AVQDateTime@@ABV2@@Z @ 11 NONAME ; class QDateTime CalenDateUtils::limitToValidTime(class QDateTime const &)
+	?today@CalenDateUtils@@SA?AVQDateTime@@XZ @ 12 NONAME ; class QDateTime CalenDateUtils::today(void)
+	?isValidDay@CalenDateUtils@@SA_NABVQDateTime@@@Z @ 13 NONAME ; bool CalenDateUtils::isValidDay(class QDateTime const &)
+	?beginningOfDay@CalenDateUtils@@SA?AVQDateTime@@ABV2@@Z @ 14 NONAME ; class QDateTime CalenDateUtils::beginningOfDay(class QDateTime const &)
+	?onSameDay@CalenDateUtils@@SA_NABVQDateTime@@0@Z @ 15 NONAME ; bool CalenDateUtils::onSameDay(class QDateTime const &, class QDateTime const &)
+	?defaultTime@CalenDateUtils@@SA?AVQDateTime@@ABV2@@Z @ 16 NONAME ; class QDateTime CalenDateUtils::defaultTime(class QDateTime const &)
+	?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)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/commonutils/eabi/calencommonutilsu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,20 @@
+EXPORTS
+	_ZN14CalenDateUtils10isValidDayERK9QDateTime @ 1 NONAME
+	_ZN14CalenDateUtils11defaultTimeERK9QDateTime @ 2 NONAME
+	_ZN14CalenDateUtils11onSameMonthERK9QDateTimeS2_ @ 3 NONAME
+	_ZN14CalenDateUtils14beginningOfDayERK9QDateTime @ 4 NONAME
+	_ZN14CalenDateUtils16displayTimeOnDayERK9QDateTimeS2_ @ 5 NONAME
+	_ZN14CalenDateUtils16limitToValidTimeERK9QDateTime @ 6 NONAME
+	_ZN14CalenDateUtils19roundToPreviousHourERK9QDateTime @ 7 NONAME
+	_ZN14CalenDateUtils19roundToPreviousHourERKi @ 8 NONAME
+	_ZN14CalenDateUtils19timeRangesIntersectERK9QDateTimeS2_S2_S2_ @ 9 NONAME
+	_ZN14CalenDateUtils3nowEv @ 10 NONAME
+	_ZN14CalenDateUtils5todayEv @ 11 NONAME
+	_ZN14CalenDateUtils7maxTimeEv @ 12 NONAME
+	_ZN14CalenDateUtils7minTimeEv @ 13 NONAME
+	_ZN14CalenDateUtils8futureOfERK9QDateTimei @ 14 NONAME
+	_ZN14CalenDateUtils9isOnTodayERK9QDateTime @ 15 NONAME
+	_ZN14CalenDateUtils9onSameDayERK9QDateTimeS2_ @ 16 NONAME
+	_ZN14CalenDateUtils9timeOfDayERK9QDateTime @ 17 NONAME
+	_ZN16CalenAgendaUtils16endsAtStartOfDayER11AgendaEntryRK9QDateTime @ 18 NONAME
+
--- a/calendarui/commonutils/inc/calenagendautils.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/commonutils/inc/calenagendautils.h	Thu Jul 22 16:32:51 2010 +0100
@@ -43,12 +43,6 @@
     public:
         
         /**
-         * Removes entries ending aDay at midnight.
-         **/
-        static void removeEntriesEndingAtMidnightL( QList<AgendaEntry>& list, 
-                                                                    const QDateTime& day );
-
-        /**
          * Checks that if entry ends at starting midnight of the day,
          * but has started earlier.
          * Such entries are not shown in day that they end, because end time 
@@ -56,7 +50,7 @@
          * @returns ETrue, if entry ends at starting midnight of day, but starts before that
          *          EFalse, otherwise
          **/
-        static bool endsAtStartOfDayL( AgendaEntry& entry,
+        static bool endsAtStartOfDay( AgendaEntry& entry,
                                                         const QDateTime& day );
 
     };
--- a/calendarui/commonutils/inc/calendateutils.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/commonutils/inc/calendateutils.h	Thu Jul 22 16:32:51 2010 +0100
@@ -62,12 +62,6 @@
     static bool isValidDay( const QDateTime& time );
 
     /**
-     * Return ETrue if aTime is NULL
-     * @param aTime time to be compared against NULL time
-     */
-    static bool isNullTime( 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
@@ -125,8 +119,6 @@
      */
     static QDateTime defaultTime( const QDateTime& date );
     
-    static QDateTime pastOf(const QDateTime& dateTime, int numOfDays);
-        
     static QDateTime futureOf(const QDateTime& dateTime, int numOfDays);
     
    
--- a/calendarui/commonutils/src/calenagendautils.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/commonutils/src/calenagendautils.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -30,43 +30,12 @@
 // ============================ CalenAgendaUtils ==============================
 
 // -----------------------------------------------------------------------------
-// CalenAgendaUtils::RemoveEntriesStartingAtMidnight
+// CalenAgendaUtils::EndsAtStartOfDay
 // ?implementation_description
 // (other items were commented in a header).
 // -----------------------------------------------------------------------------
 //
- void CalenAgendaUtils::removeEntriesEndingAtMidnightL( QList<AgendaEntry>& list, 
-                                                                const QDateTime& day )
-    {
-    TRACE_ENTRY_POINT;
-
-    // Remove events starting before aDay and ending at midnight
-    TInt i( 0 );
-
-    while( i < list.count() )
-        {
-        AgendaEntry& entry = list[i];
-
-        if( endsAtStartOfDayL( entry, day ) )
-            {
-            list.removeAt( i );
-            }
-        else
-            {
-            ++i;
-            }
-        }
-    
-    TRACE_EXIT_POINT;
-    }
-
-// -----------------------------------------------------------------------------
-// CalenAgendaUtils::EndsAtStartOfDayL
-// ?implementation_description
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
- bool CalenAgendaUtils::endsAtStartOfDayL( AgendaEntry& entry,
+ bool CalenAgendaUtils::endsAtStartOfDay( AgendaEntry& entry,
                                           const QDateTime& day )
     {
     TRACE_ENTRY_POINT;
--- a/calendarui/commonutils/src/calendateutils.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/commonutils/src/calendateutils.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -120,17 +120,6 @@
 // (other items were commented in a header).
 // -----------------------------------------------------------------------------
 //
- bool CalenDateUtils::isNullTime( QDateTime& time )
-    {
-    return( time.isNull() );
-    }
-
-// -----------------------------------------------------------------------------
-// ?classname::?member_function
-// ?implementation_description
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
  QDateTime CalenDateUtils::limitToValidTime( const QDateTime& time )
     {    
     QDateTime valid = time;
@@ -169,7 +158,7 @@
 //
  int CalenDateUtils::timeOfDay( const QDateTime& dateTime )
     {    
-    QDateTime midnight = CalenDateUtils::beginningOfDay( dateTime );
+    QDateTime midnight = beginningOfDay( dateTime );
     int resultInSec = midnight.secsTo(dateTime);
     
     return (resultInSec/60);
@@ -201,15 +190,7 @@
 //
  QDateTime CalenDateUtils::now()
     {
-    TTime currentTime;
-    currentTime.HomeTime();
-    TDateTime curDateTime = currentTime.DateTime();
-    QDateTime ret;
-    ret.setDate(QDate(curDateTime.Year(), curDateTime.Month() + 1, curDateTime.Day() + 1));
-    ret.setTime(QTime(curDateTime.Hour(), curDateTime.Minute(), curDateTime.Second(), curDateTime.MicroSecond()));
-    // TODO: need to use QDateTime::currentDateTime() from QT4.6 onwards
-    //return QDateTime::currentDateTime();
-    return ret;
+    return QDateTime::currentDateTime();
     }
 
 // -----------------------------------------------------------------------------
@@ -250,44 +231,6 @@
  // (other items were commented in a header).
  // -----------------------------------------------------------------------------
  //
- QDateTime CalenDateUtils::pastOf(const QDateTime& dateTime, int numOfDays)
-     {
-     QDateTime result;
-     int dayNumber = dateTime.date().day();
-      int numOfDaysInMonth = dayNumber;
-      int month = dateTime.date().month();
-      int year = dateTime.date().year();
-      int buff = numOfDays;
-      QDate date(year, month, dayNumber);
-      while(buff > numOfDaysInMonth)
-          {
-          if(month == 1) {
-          // If January,
-          month = 12; // December
-          year--;
-          }
-          else {
-          month--;
-          }
-          // Create the qdate with these details
-          date.setDate(year, month, 1);
-          // check to see if it goes beyond the next month also
-          buff = buff - numOfDaysInMonth;
-          numOfDaysInMonth = date.daysInMonth();
-          }
-      
-      // Substract buff days from end of the month
-      int day = numOfDaysInMonth - buff;
-      date.setYMD(date.year(), date.month(), day);
-      result.setDate(date);
-      result.setTime(dateTime.time());
-      return result;
-     }
- 
- // -----------------------------------------------------------------------------
- // (other items were commented in a header).
- // -----------------------------------------------------------------------------
- //
  QDateTime CalenDateUtils::futureOf(const QDateTime& dateTime, int numOfDays)
      {
      QDateTime result;
Binary file calendarui/conf/calendarUI.confml has changed
Binary file calendarui/conf/calendarUI_101F874B.crml has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/controller/bwins/calencontrolleru.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,40 @@
+EXPORTS
+	?trUtf8@CCalenController@@SA?AVQString@@PBD0H@Z @ 1 NONAME ; class QString CCalenController::trUtf8(char const *, char const *, int)
+	?checkMultipleCreation@CCalenController@@AAEXXZ @ 2 NONAME ; void CCalenController::checkMultipleCreation(void)
+	??0CCalenController@@QAE@XZ @ 3 NONAME ; CCalenController::CCalenController(void)
+	?handleServiceManagerSlot@CCalenController@@QAEXHABVQDateTime@@@Z @ 4 NONAME ; void CCalenController::handleServiceManagerSlot(int, class QDateTime const &)
+	?staticMetaObject@CCalenController@@2UQMetaObject@@B @ 5 NONAME ; struct QMetaObject const CCalenController::staticMetaObject
+	?qt_metacall@CCalenController@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 6 NONAME ; int CCalenController::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?qt_metacast@CCalenController@@UAEPAXPBD@Z @ 7 NONAME ; void * CCalenController::qt_metacast(char const *)
+	?BroadcastNotification@CCalenController@@QAEXW4TCalenNotification@@@Z @ 8 NONAME ; void CCalenController::BroadcastNotification(enum TCalenNotification)
+	?CancelNotifications@CCalenController@@QAEXPAVMCalenNotificationHandler@@@Z @ 9 NONAME ; void CCalenController::CancelNotifications(class MCalenNotificationHandler *)
+	?eventFilter@CCalenController@@UAE_NPAVQObject@@PAVQEvent@@@Z @ 10 NONAME ; bool CCalenController::eventFilter(class QObject *, class QEvent *)
+	?tr@CCalenController@@SA?AVQString@@PBD0@Z @ 11 NONAME ; class QString CCalenController::tr(char const *, char const *)
+	?getStaticMetaObject@CCalenController@@SAABUQMetaObject@@XZ @ 12 NONAME ; struct QMetaObject const & CCalenController::getStaticMetaObject(void)
+	?CustomisationManager@CCalenController@@QAEAAVCCalenCustomisationManager@@XZ @ 13 NONAME ; class CCalenCustomisationManager & CCalenController::CustomisationManager(void)
+	?IssueCommandL@CCalenController@@QAEHH@Z @ 14 NONAME ; int CCalenController::IssueCommandL(int)
+	?tr@CCalenController@@SA?AVQString@@PBD0H@Z @ 15 NONAME ; class QString CCalenController::tr(char const *, char const *, int)
+	?Services@CCalenController@@QAEAAVMCalenServices@@XZ @ 16 NONAME ; class MCalenServices & CCalenController::Services(void)
+	?OfferMenu@CCalenController@@QAEXPAVHbMenu@@@Z @ 17 NONAME ; void CCalenController::OfferMenu(class HbMenu *)
+	?ReleaseCustomisations@CCalenController@@QAEXXZ @ 18 NONAME ; void CCalenController::ReleaseCustomisations(void)
+	?SetDefaultContext@CCalenController@@AAEXXZ @ 19 NONAME ; void CCalenController::SetDefaultContext(void)
+	??_ECCalenController@@UAE@I@Z @ 20 NONAME ; CCalenController::~CCalenController(unsigned int)
+	?getFirstView@CCalenController@@QAEHXZ @ 21 NONAME ; int CCalenController::getFirstView(void)
+	?metaObject@CCalenController@@UBEPBUQMetaObject@@XZ @ 22 NONAME ; struct QMetaObject const * CCalenController::metaObject(void) const
+	?Infobar@CCalenController@@QAEPAVHbWidget@@XZ @ 23 NONAME ; class HbWidget * CCalenController::Infobar(void)
+	?ViewManager@CCalenController@@QAEAAVCalenViewManager@@XZ @ 24 NONAME ; class CalenViewManager & CCalenController::ViewManager(void)
+	?context@CCalenController@@QAEAAVMCalenContext@@XZ @ 25 NONAME ; class MCalenContext & CCalenController::context(void)
+	?agendaInterface@CCalenController@@QAEPAVAgendaUtil@@XZ @ 26 NONAME ; class AgendaUtil * CCalenController::agendaInterface(void)
+	?constructController@CCalenController@@QAEXXZ @ 27 NONAME ; void CCalenController::constructController(void)
+	?MainWindow@CCalenController@@QAEAAVHbMainWindow@@XZ @ 28 NONAME ; class HbMainWindow & CCalenController::MainWindow(void)
+	?Notifier@CCalenController@@QAEAAVCalenNotifier@@XZ @ 29 NONAME ; class CalenNotifier & CCalenController::Notifier(void)
+	?InstanceL@CCalenController@@SAPAV1@XZ @ 30 NONAME ; class CCalenController * CCalenController::InstanceL(void)
+	??1CCalenController@@UAE@XZ @ 31 NONAME ; CCalenController::~CCalenController(void)
+	?InfobarTextL@CCalenController@@QAEPAVQString@@XZ @ 32 NONAME ; class QString * CCalenController::InfobarTextL(void)
+	?Release@CCalenController@@QAEXXZ @ 33 NONAME ; void CCalenController::Release(void)
+	?trUtf8@CCalenController@@SA?AVQString@@PBD0@Z @ 34 NONAME ; class QString CCalenController::trUtf8(char const *, char const *)
+	?RegisterForNotificationsL@CCalenController@@QAEXPAVMCalenNotificationHandler@@W4TCalenNotification@@@Z @ 35 NONAME ; void CCalenController::RegisterForNotificationsL(class MCalenNotificationHandler *, enum TCalenNotification)
+	?GetCommandHandlerL@CCalenController@@QAEPAVMCalenCommandHandler@@H@Z @ 36 NONAME ; class MCalenCommandHandler * CCalenController::GetCommandHandlerL(int)
+	?RegisterForNotificationsL@CCalenController@@QAEXPAVMCalenNotificationHandler@@AAV?$RArray@W4TCalenNotification@@@@@Z @ 37 NONAME ; void CCalenController::RegisterForNotificationsL(class MCalenNotificationHandler *, class RArray<enum TCalenNotification> &)
+	?NewServicesL@CCalenController@@UAEPAVMCalenServices@@XZ @ 38 NONAME ; class MCalenServices * CCalenController::NewServicesL(void)
+
--- a/calendarui/controller/controller.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/controller/controller.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -23,6 +23,7 @@
 INCLUDEPATH += ./inc \
 						   ../inc \ 
 						   ../views/inc \
+						   ../views/dayview/inc \
 						   ../globaldata/inc 
 
 CONFIG += hb
@@ -43,7 +44,8 @@
 					-lcaleneditor \
 					-lbafl \
 					-lagendainterface \
-					-lagendaeventviewer
+					-lagendaeventviewer \
+					-lxqserviceutil
 						
  	TARGET.UID3 = 0x10282F25					  
   TARGET.CAPABILITY = CAP_GENERAL_DLL
--- a/calendarui/controller/data/calendar.qrc	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/controller/data/calendar.qrc	Thu Jul 22 16:32:51 2010 +0100
@@ -1,9 +1,6 @@
 <!DOCTYPE RCC><RCC version="1.0">
 	<qresource prefix="/xml">
-		<file alias="calendayview.docml">xml/calendayview.docml</file>	
+		<file alias="calenagendaview.docml">xml/calenagendaview.docml</file>	
 		<file alias="calenmonthview.docml">xml/calenmonthview.docml</file>	
 	</qresource>
-	<qresource prefix="/translations" >
-		<file alias="calendar_en_GB">calendar_en_GB.qm</file>
-	</qresource>
 </RCC>
Binary file calendarui/controller/data/calendar_en_GB.qm has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/controller/data/xml/calenagendaview.docml	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="newEventAction" type="HbAction">
+        <string locid="txt_calendar_opt_new_event" name="text"/>
+    </object>
+	<object name="todayAction" type="HbAction">
+        <string locid="txt_calendar_opt_go_to_today" name="text"/>
+    </object>
+    <object name="goToDateAction" type="HbAction">
+        <string locid="txt_calendar_opt_go_to_date" name="text"/>
+    </object>
+	<object name="switchToDayViewAction" type="HbAction">
+        <string locid="txt_calendar_opt_switch_to_day_view" name="text"/>
+    </object>
+    <object name="settingsAction" type="HbAction">
+        <string locid="txt_calendar_opt_settings" name="text"/>
+    </object>    
+    <widget name="agendaView" type="HbView">
+        <widget name="agendaViewWidget" role="HbView:widget" type="HbWidget">
+			<widget name="headingRegionalPluginWidget" type="HbWidget">
+	            <widget name="headingWidget" type="HbGroupBox">
+	                <string name="heading" value=""/>
+	                <real name="z" value="1"/>
+	                <sizehint type="PREFERRED" width="53.43284un"/>
+	                <bool name="collapsable" value="FALSE"/>
+	            </widget>
+				<layout orientation="Vertical" spacing="0un" type="linear">
+					<contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+					<linearitem itemname="headingWidget"/>
+				</layout>
+			</widget>
+            <widget name="noEventsLabel" type="HbLabel">
+                <real name="z" value="2"/>
+                <string locid="txt_calendar_empty_list_no_entries" name="plainText"/>
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <fontspec name="fontSpec" role="Undefined" textheight="var(hb-param-text-height-primary)"/>
+            </widget>
+			<widget name="eventsList" type="HbListView">
+                <widget name="listItemPrototype" role="HbListView:prototype" type="HbListViewItem"/>
+                <real name="z" value="2"/>
+                <sizehint height="47.7612un" type="PREFERRED" width="35.8209un"/>
+            </widget>
+            <layout type="anchor">
+                <anchoritem dst="headingRegionalPluginWidget" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="headingRegionalPluginWidget" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+                <anchoritem dst="headingRegionalPluginWidget" dstEdge="RIGHT" spacing="-0un" src="" srcEdge="RIGHT"/>
+            </layout>
+        </widget>
+        <widget name="viewMenu" role="HbView:menu" type="HbMenu"/>
+		<widget name="viewMenu" role="HbView:menu" type="HbMenu">
+	            <ref object="newEventAction" role="HbMenu:addAction"/>
+	            <ref object="todayAction" role="HbMenu:addAction"/>
+	            <ref object="goToDateAction" role="HbMenu:addAction"/>
+				<ref object="switchToDayViewAction" role="HbMenu:addAction"/>
+	            <ref object="settingsAction" role="HbMenu:addAction"/>
+	        </widget>
+        <string locid="txt_calendar_title_calendar" name="title"/>
+    </widget>
+    <section name="emptyList">
+        <widget name="agendaViewWidget" role="HbView:widget" type="HbWidget">
+            <layout type="anchor">
+                <anchoritem dst="headingRegionalPluginWidget" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="headingRegionalPluginWidget" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+                <anchoritem dst="headingRegionalPluginWidget" dstEdge="RIGHT" spacing="-0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="noEventsLabel" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
+                <anchoritem dst="noEventsLabel" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-left)" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="noEventsLabel" dstEdge="TOP" spacing="38un" src="" srcEdge="TOP"/>
+            </layout>
+        </widget>
+    </section>
+    <section name="nonEmptyList">
+        <widget name="agendaViewWidget" role="HbView:widget" type="HbWidget">
+            <layout type="anchor">
+                <anchoritem dst="headingRegionalPluginWidget" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="headingRegionalPluginWidget" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+                <anchoritem dst="headingRegionalPluginWidget" dstEdge="RIGHT" spacing="-0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="eventsList" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="eventsList" dstEdge="TOP" spacing="0un" src="headingRegionalPluginWidget" srcEdge="BOTTOM"/>
+                <anchoritem dst="eventsList" dstEdge="RIGHT" spacing="-0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="eventsList" dstEdge="BOTTOM" spacing="-0un" src="" srcEdge="BOTTOM"/>
+            </layout>
+        </widget>
+    </section>
+    <section name="emptyLandscape">
+        <widget name="agendaViewWidget" role="HbView:widget" type="HbWidget">
+            <layout type="anchor">
+                <anchoritem dst="headingRegionalPluginWidget" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="headingRegionalPluginWidget" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+                <anchoritem dst="headingRegionalPluginWidget" dstEdge="RIGHT" spacing="-0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="noEventsLabel" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
+                <anchoritem dst="noEventsLabel" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-left)" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="noEventsLabel" dstEdge="TOP" spacing="21.8806un" src="" srcEdge="TOP"/>
+            </layout>
+        </widget>
+    </section>
+    <metadata activeUIState="emptyListState" display="QHD portrait" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+        <uistate name="emptyListState" sections="#common emptyList"/>
+        <uistate name="nonEmptyListState" sections="#common nonEmptyList"/>
+        <uistate name="emptyListLandscapeState" sections="#common emptyList emptyLandscape"/>
+        <dummydata objectName="eventsList" section="nonEmptyList" value="0"/>
+    </metadata>
+</hbdocument>
--- a/calendarui/controller/data/xml/calendayview.docml	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<hbdocument version="0.9">
-    <object name="newEventAction" type="HbAction">
-        <string locid="txt_calendar_opt_new_event" name="text"/>
-    </object>
-    <object name="goToDateAction" type="HbAction">
-        <string locid="txt_calendar_opt_go_to_date" name="text"/>
-    </object>
-    <object name="settingsAction" type="HbAction">
-        <string locid="txt_calendar_opt_settings" name="text"/>
-    </object>
-    <object name="todayAction" type="HbAction">
-        <string locid="txt_calendar_opt_go_to_today" name="text"/>
-    </object>
-    <widget name="dayView" type="HbView">
-        <widget name="dayViewWidget" role="HbView:widget" type="HbWidget">
-			<widget name="headingRegionalPluginWidget" type="HbWidget">
-	            <widget name="headingWidget" type="HbGroupBox">
-	                <string name="titleText" value=""/>
-	                <real name="z" value="1"/>
-	                <sizehint type="PREFERRED" width="53.43284un"/>
-	                <bool name="collapsable" value="FALSE"/>
-	            </widget>
-				<layout orientation="Vertical" spacing="0un" type="linear">
-					<contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
-					<linearitem itemname="headingWidget"/>
-				</layout>
-			</widget>
-            <widget name="noEventsLabel" type="HbLabel">
-                <real name="z" value="2"/>
-                <string locid="txt_calendar_empty_list_no_entries" name="plainText"/>
-                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
-                <enums name="textWrapping" value="TextWordWrap"/>
-                <fontspec name="fontSpec" role="Undefined" textheight="var(hb-param-text-height-primary)"/>
-            </widget>
-			<widget name="eventsList" type="HbListView">
-                <widget name="listItemPrototype" role="HbListView:prototype" type="HbListViewItem"/>
-                <real name="z" value="2"/>
-                <sizehint height="47.7612un" type="PREFERRED" width="35.8209un"/>
-            </widget>
-            <layout type="anchor">
-                <anchoritem dst="headingRegionalPluginWidget" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
-                <anchoritem dst="headingRegionalPluginWidget" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
-                <anchoritem dst="headingRegionalPluginWidget" dstEdge="RIGHT" spacing="-0un" src="" srcEdge="RIGHT"/>
-            </layout>
-        </widget>
-        <widget name="viewMenu" role="HbView:menu" type="HbMenu"/>
-		<widget name="viewMenu" role="HbView:menu" type="HbMenu">
-	            <ref object="newEventAction" role="HbMenu:addAction"/>
-	            <ref object="todayAction" role="HbMenu:addAction"/>
-	            <ref object="goToDateAction" role="HbMenu:addAction"/>
-	            <ref object="settingsAction" role="HbMenu:addAction"/>
-	        </widget>
-        <string locid="txt_calendar_title_calendar" name="title"/>
-    </widget>
-    <section name="emptyList">
-        <widget name="dayViewWidget" role="HbView:widget" type="HbWidget">
-            <layout type="anchor">
-                <anchoritem dst="headingRegionalPluginWidget" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
-                <anchoritem dst="headingRegionalPluginWidget" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
-                <anchoritem dst="headingRegionalPluginWidget" dstEdge="RIGHT" spacing="-0un" src="" srcEdge="RIGHT"/>
-                <anchoritem dst="noEventsLabel" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
-                <anchoritem dst="noEventsLabel" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-left)" src="" srcEdge="RIGHT"/>
-                <anchoritem dst="noEventsLabel" dstEdge="TOP" spacing="38un" src="" srcEdge="TOP"/>
-            </layout>
-        </widget>
-    </section>
-    <section name="nonEmptyList">
-        <widget name="dayViewWidget" role="HbView:widget" type="HbWidget">
-            <layout type="anchor">
-                <anchoritem dst="headingRegionalPluginWidget" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
-                <anchoritem dst="headingRegionalPluginWidget" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
-                <anchoritem dst="headingRegionalPluginWidget" dstEdge="RIGHT" spacing="-0un" src="" srcEdge="RIGHT"/>
-                <anchoritem dst="eventsList" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
-                <anchoritem dst="eventsList" dstEdge="TOP" spacing="0un" src="headingRegionalPluginWidget" srcEdge="BOTTOM"/>
-                <anchoritem dst="eventsList" dstEdge="RIGHT" spacing="-0un" src="" srcEdge="RIGHT"/>
-                <anchoritem dst="eventsList" dstEdge="BOTTOM" spacing="-0un" src="" srcEdge="BOTTOM"/>
-            </layout>
-        </widget>
-    </section>
-    <section name="emptyLandscape">
-        <widget name="dayViewWidget" role="HbView:widget" type="HbWidget">
-            <layout type="anchor">
-                <anchoritem dst="headingRegionalPluginWidget" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
-                <anchoritem dst="headingRegionalPluginWidget" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
-                <anchoritem dst="headingRegionalPluginWidget" dstEdge="RIGHT" spacing="-0un" src="" srcEdge="RIGHT"/>
-                <anchoritem dst="noEventsLabel" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
-                <anchoritem dst="noEventsLabel" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-left)" src="" srcEdge="RIGHT"/>
-                <anchoritem dst="noEventsLabel" dstEdge="TOP" spacing="21.8806un" src="" srcEdge="TOP"/>
-            </layout>
-        </widget>
-    </section>
-    <metadata activeUIState="emptyListState" display="QHD portrait" unit="un">
-        <uistate name="Common ui state" sections="#common"/>
-        <uistate name="emptyListState" sections="#common emptyList"/>
-        <uistate name="nonEmptyListState" sections="#common nonEmptyList"/>
-        <uistate name="emptyListLandscapeState" sections="#common emptyList emptyLandscape"/>
-        <dummydata objectName="eventsList" section="nonEmptyList" value="0"/>
-    </metadata>
-</hbdocument>
--- a/calendarui/controller/data/xml/calenmonthview.docml	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/controller/data/xml/calenmonthview.docml	Thu Jul 22 16:32:51 2010 +0100
@@ -23,15 +23,12 @@
             <widget name="monthViewExceptPreviewPane" type="HbWidget">
                 <widget name="monthTitle" type="HbLabel">
                     <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+					<fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
                     <real name="z" value="6"/>
-                    <sizehint height="3.5un" type="PREFERRED" width="52un"/>
-                    <sizehint height="3.5un" type="MINIMUM" width="52un"/>
-                    <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
-                    <sizehint height="3.5un" type="MAXIMUM" width="52un"/>
-                    <enums name="elideMode" value="ElideNone"/>
-                    <enums name="textFormat" value="PlainText"/>
-                    <string name="plainText" value=""/>
-                    <enums name="logicalFont" value="FontSecondary"/>
+                    <sizehint height="expr(var(hb-param-text-height-secondary) + 0.75un + 0.75un)" type="PREFERRED" width="52un"/>
+                    <sizehint height="expr(var(hb-param-text-height-secondary) + 0.75un + 0.75un)" type="MINIMUM" width="52un"/>
+                    <contentsmargins bottom="0.75un" left="var(hb-param-margin-gene-left)" right="var(hb-param-margin-gene-right)" top="0.75un"/>
+                    <sizehint height="expr(var(hb-param-text-height-secondary) + 0.75un + 0.75un)" type="MAXIMUM" width="52un"/>
                 </widget>
                 <widget name="dayNamesWidget" type="HbWidget">
                     <widget name="firstDayLabel" type="HbLabel">
@@ -40,10 +37,7 @@
                         <sizehint height="3un" type="PREFERRED" width="3.41604un"/>
                         <sizehint height="3un" type="MINIMUM" width="3.41604un"/>
                         <sizehint height="3un" type="MAXIMUM" width="10.54104un"/>
-                        <enums name="elideMode" value="ElideNone"/>
-                        <enums name="textFormat" value="PlainText"/>
-                        <string name="plainText" value=""/>
-                        <enums name="logicalFont" value="FontSecondary"/>
+                        <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-tiny)"/>
                     </widget>
                     <widget name="secondDayLabel" type="HbLabel">
                         <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
@@ -51,10 +45,7 @@
                         <sizehint height="3un" type="PREFERRED" width="3.41604un"/>
                         <sizehint height="3un" type="MINIMUM" width="3.41604un"/>
                         <sizehint height="3un" type="MAXIMUM" width="10.54104un"/>
-                        <enums name="elideMode" value="ElideNone"/>
-                        <enums name="textFormat" value="PlainText"/>
-                        <string name="plainText" value=""/>
-                        <enums name="logicalFont" value="FontSecondary"/>
+                        <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-tiny)"/>
                     </widget>
                     <widget name="thirdDayLabel" type="HbLabel">
                         <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
@@ -62,10 +53,7 @@
                         <sizehint height="3un" type="PREFERRED" width="3.41604un"/>
                         <sizehint height="3un" type="MINIMUM" width="3.41604un"/>
                         <sizehint height="3un" type="MAXIMUM" width="10.54104un"/>
-                        <enums name="elideMode" value="ElideNone"/>
-                        <enums name="textFormat" value="PlainText"/>
-                        <string name="plainText" value=""/>
-                        <enums name="logicalFont" value="FontSecondary"/>
+                        <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-tiny)"/>
                     </widget>
                     <widget name="fourthDayLabel" type="HbLabel">
                         <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
@@ -73,10 +61,7 @@
                         <sizehint height="3un" type="PREFERRED" width="3.41604un"/>
                         <sizehint height="3un" type="MINIMUM" width="3.41604un"/>
                         <sizehint height="3un" type="MAXIMUM" width="10.54104un"/>
-                        <enums name="elideMode" value="ElideNone"/>
-                        <enums name="textFormat" value="PlainText"/>
-                        <string name="plainText" value=""/>
-                        <enums name="logicalFont" value="FontSecondary"/>
+                        <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-tiny)"/>
                     </widget>
                     <widget name="fifthDayLabel" type="HbLabel">
                         <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
@@ -84,10 +69,7 @@
                         <sizehint height="3un" type="PREFERRED" width="3.41604un"/>
                         <sizehint height="3un" type="MINIMUM" width="3.41604un"/>
                         <sizehint height="3un" type="MAXIMUM" width="10.54104un"/>
-                        <enums name="elideMode" value="ElideNone"/>
-                        <enums name="textFormat" value="PlainText"/>
-                        <string name="plainText" value=""/>
-                        <enums name="logicalFont" value="FontSecondary"/>
+                        <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-tiny)"/>
                     </widget>
                     <widget name="sixthDayLabel" type="HbLabel">
                         <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
@@ -95,10 +77,7 @@
                         <sizehint height="3un" type="PREFERRED" width="3.41604un"/>
                         <sizehint height="3un" type="MINIMUM" width="3.41604un"/>
                         <sizehint height="3un" type="MAXIMUM" width="10.54104un"/>
-                        <enums name="elideMode" value="ElideNone"/>
-                        <enums name="textFormat" value="PlainText"/>
-                        <string name="plainText" value=""/>
-                        <enums name="logicalFont" value="FontSecondary"/>
+                        <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-tiny)"/>
                     </widget>
                     <widget name="seventhDayLabel" type="HbLabel">
                         <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
@@ -106,10 +85,7 @@
                         <sizehint height="3un" type="PREFERRED" width="3.41604un"/>
                         <sizehint height="3un" type="MINIMUM" width="3.41604un"/>
                         <sizehint height="3un" type="MAXIMUM" width="10.54104un"/>
-                        <enums name="elideMode" value="ElideNone"/>
-                        <enums name="textFormat" value="PlainText"/>
-                        <string name="plainText" value=""/>
-                        <enums name="logicalFont" value="FontSecondary"/>
+                        <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-tiny)"/>
                     </widget>
                     <real name="z" value="6"/>
                     <sizehint height="3un" type="PREFERRED" width="52un"/>
@@ -132,60 +108,42 @@
                         <sizehint height="42.77612un" type="PREFERRED" width="6.41604un"/>
                         <sizehint height="0un" type="MINIMUM" width="6.41604un"/>
                         <sizehint height="42.77612un" type="MAXIMUM" width="6.41604un"/>
-                        <enums name="elideMode" value="ElideNone"/>
-                        <enums name="textFormat" value="PlainText"/>
-                        <string name="plainText" value=""/>
-                        <enums name="logicalFont" value="FontSecondary"/>
+                        <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-tiny)"/>
                     </widget>
                     <widget name="secondWeekLabel" type="HbLabel">
                         <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
                         <sizehint height="42.77612un" type="PREFERRED" width="6.41604un"/>
                         <sizehint height="0un" type="MINIMUM" width="6.41604un"/>
                         <sizehint height="42.77612un" type="MAXIMUM" width="6.41604un"/>
-                        <enums name="elideMode" value="ElideNone"/>
-                        <enums name="textFormat" value="PlainText"/>
-                        <string name="plainText" value=""/>
-                        <enums name="logicalFont" value="FontSecondary"/>
+                        <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-tiny)"/>
                     </widget>
                     <widget name="thirdWeekLabel" type="HbLabel">
                         <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
                         <sizehint height="42.77612un" type="PREFERRED" width="6.41604un"/>
                         <sizehint height="0un" type="MINIMUM" width="6.41604un"/>
                         <sizehint height="42.77612un" type="MAXIMUM" width="6.41604un"/>
-                        <enums name="elideMode" value="ElideNone"/>
-                        <enums name="textFormat" value="PlainText"/>
-                        <string name="plainText" value=""/>
-                        <enums name="logicalFont" value="FontSecondary"/>
+                        <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-tiny)"/>
                     </widget>
                     <widget name="fourthWeekLabel" type="HbLabel">
                         <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
                         <sizehint height="42.77612un" type="PREFERRED" width="6.41604un"/>
                         <sizehint height="0un" type="MINIMUM" width="6.41604un"/>
                         <sizehint height="42.77612un" type="MAXIMUM" width="6.41604un"/>
-                        <enums name="elideMode" value="ElideNone"/>
-                        <enums name="textFormat" value="PlainText"/>
-                        <string name="plainText" value=""/>
-                        <enums name="logicalFont" value="FontSecondary"/>
+                        <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-tiny)"/>
                     </widget>
                     <widget name="fifthWeekLabel" type="HbLabel">
                         <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
                         <sizehint height="42.77612un" type="PREFERRED" width="6.41604un"/>
                         <sizehint height="0un" type="MINIMUM" width="6.41604un"/>
                         <sizehint height="42.77612un" type="MAXIMUM" width="6.41604un"/>
-                        <enums name="elideMode" value="ElideNone"/>
-                        <enums name="textFormat" value="PlainText"/>
-                        <string name="plainText" value=""/>
-                        <enums name="logicalFont" value="FontSecondary"/>
+                        <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-tiny)"/>
                     </widget>
                     <widget name="sixthWeekLabel" type="HbLabel">
                         <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
                         <sizehint height="42.77612un" type="PREFERRED" width="6.41604un"/>
                         <sizehint height="0un" type="MINIMUM" width="6.41604un"/>
                         <sizehint height="42.77612un" type="MAXIMUM" width="6.41604un"/>
-                        <enums name="elideMode" value="ElideNone"/>
-                        <enums name="textFormat" value="PlainText"/>
-                        <string name="plainText" value=""/>
-                        <enums name="logicalFont" value="FontSecondary"/>
+                        <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-tiny)"/>
                     </widget>
                     <real name="z" value="3"/>
                     <sizehint height="43.77612un" type="PREFERRED" width="6.41604un"/>
@@ -221,6 +179,12 @@
                     </layout>
                 </widget>
 				<widget name="prevPaneWidget" type="HbWidget">
+					<widget name="prevRegionalInfo" type="HbLabel">
+					<enums name="alignment" value="AlignCenter"/>
+					<fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+					<string name="textColor" value="qtc_cal_day_preview_heading"/>
+					<contentsmargins bottom="0.75un" left="var(hb-param-margin-gene-left)" right="var(hb-param-margin-gene-right)" top="0.75un"/>
+					</widget>
 	                <widget name="prevPaneLayout" type="HbWidget">
 	                    <widget name="prevPaneContainer" type="HbWidget">
 	                        <widget name="prevPreviewPane" type="HbScrollArea">
@@ -235,7 +199,7 @@
 	                            <enums name="horizontalScrollBarPolicy" value="ScrollBarAlwaysOff"/>
 	                            <enums name="clampingStyle" value="StrictClamping"/>
 								<enums name="scrollingStyle" value="PanOrFlick"/>
-								<bool name="frictionEnabled" value="FALSE"/>
+								<bool name="frictionEnabled" value="TRUE"/>
 	                        </widget>
 	                        <widget name="NoEntriesLabelPrev" type="HbLabel">
 	                            <string locid="txt_calendar_empty_list_no_entries" name="plainText"/>
@@ -270,6 +234,12 @@
 	                </layout>
 	            </widget>
                 <widget name="currPaneWidget" type="HbWidget">
+					<widget name="currRegionalInfo" type="HbLabel">
+					<enums name="alignment" value="AlignCenter"/>
+					<fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+					<string name="textColor" value="qtc_cal_day_preview_heading"/>
+					<contentsmargins bottom="0.75un" left="var(hb-param-margin-gene-left)" right="var(hb-param-margin-gene-right)" top="0.75un"/>
+					</widget>
                     <widget name="currPaneLayout" type="HbWidget">
                         <widget name="currPaneContainer" type="HbWidget">
                             <widget name="currPreviewPane" type="HbScrollArea">
@@ -284,7 +254,7 @@
 	                            <enums name="horizontalScrollBarPolicy" value="ScrollBarAlwaysOff"/>
 	                            <enums name="clampingStyle" value="StrictClamping"/>
 								<enums name="scrollingStyle" value="PanOrFlick"/>
-								<bool name="frictionEnabled" value="FALSE"/>
+								<bool name="frictionEnabled" value="TRUE"/>
                             </widget>
                             <widget name="NoEntriesLabelCurr" type="HbLabel">
                                 <string locid="txt_calendar_empty_list_no_entries" name="plainText"/>
@@ -319,6 +289,12 @@
                     </layout>
                 </widget>
                 <widget name="nextPaneWidget" type="HbWidget">
+					<widget name="nextRegionalInfo" type="HbLabel">
+					<enums name="alignment" value="AlignCenter"/>
+					<fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+					<string name="textColor" value="qtc_cal_day_preview_heading"/>
+					<contentsmargins bottom="0.75un" left="var(hb-param-margin-gene-left)" right="var(hb-param-margin-gene-right)" top="0.75un"/>
+					</widget>
                     <widget name="nextPaneLayout" type="HbWidget">
                         <widget name="nextPaneContainer" type="HbWidget">
                             <widget name="nextPreviewPane" type="HbScrollArea">
@@ -333,7 +309,7 @@
 	                            <enums name="horizontalScrollBarPolicy" value="ScrollBarAlwaysOff"/>
 	                            <enums name="clampingStyle" value="StrictClamping"/>
 								<enums name="scrollingStyle" value="PanOrFlick"/>
-								<bool name="frictionEnabled" value="FALSE"/>
+								<bool name="frictionEnabled" value="TRUE"/>
                             </widget>
                             <widget name="NoEntriesLabelNext" type="HbLabel">
                                 <string locid="txt_calendar_empty_list_no_entries" name="plainText"/>
@@ -464,41 +440,59 @@
         </widget>	
     </section>
     <section name="landscape">
+     	<widget name="prevPaneLayout" type="HbWidget">
+            <sizehint height="42.8806un" type="PREFERRED" width="11.9403un"/>
+        </widget>
+		<widget name="prevPaneContainer" type="HbWidget">
+            <sizehint height="42.8806un" type="PREFERRED" width="23.8806un"/>
+        </widget>
 		<widget name="prevPaneWidget" type="HbWidget">
             <sizehint height="42.8806un" type="FIXED" width="40.8un"/>
 		</widget>
+		<widget name="currPaneContainer" type="HbWidget">
+	    <sizehint height="42.8806un" type="PREFERRED" width="23.8806un"/>
+		</widget>
+		<widget name="currPaneLayout" type="HbWidget">
+	    <sizehint height="42.8806un" type="PREFERRED" width="11.9403un"/>
+		</widget>
 		<widget name="currPaneWidget" type="HbWidget">
             <sizehint height="42.8806un" type="FIXED" width="40.8un"/>
 		</widget>
+		<widget name="nextPaneLayout" type="HbWidget">
+            <sizehint height="42.8806un" type="PREFERRED" width="11.9403un"/>
+        </widget>
+		<widget name="nextPaneContainer" type="HbWidget">
+            <sizehint height="42.8806un" type="PREFERRED" width="11.9403un"/>
+        </widget>
 		<widget name="nextPaneWidget" type="HbWidget">
             <sizehint height="42.8806un" type="FIXED" width="40.8un"/>
 		</widget>
 		<widget name="prevPreviewPaneContents" type="HbWidget">
-                        <sizehint type="MINIMUM" width="40.8un"/>
+            <sizehint type="MINIMUM" width="40.8un"/>
             <sizehint type="MAXIMUM" width="40.8un"/>
 		</widget>
 		<widget name="currPreviewPaneContents" type="HbWidget">
-                        <sizehint type="MINIMUM" width="40.8un"/>
+            <sizehint type="MINIMUM" width="40.8un"/>
             <sizehint type="MAXIMUM" width="40.8un"/>
 		</widget>
 		<widget name="nextPreviewPaneContents" type="HbWidget">
-                        <sizehint type="MINIMUM" width="40.8un"/>
+            <sizehint type="MINIMUM" width="40.8un"/>
             <sizehint type="MAXIMUM" width="40.8un"/>
 		</widget>
         <widget name="monthGridWeekNumWidget" type="HbWidget">
-            <sizehint height="34.77612un" type="MAXIMUM" width="52un"/>
-            <sizehint height="34.77612un" type="MAXIMUM" width="52un"/>
-            <sizehint height="34.77612un" type="MINIMUM" width="52un"/>
+            <sizehint height="33.1un" type="PREFERRED" width="52un"/>
+            <sizehint height="33.1un" type="MAXIMUM" width="52un"/>
+            <sizehint height="33.1un" type="MINIMUM" width="52un"/>
         </widget>
         <widget name="monthGrid" type="HbGridView">
-            <sizehint height="34.77612un" type="PREFERRED" width="52un"/>
-            <sizehint height="34.77612un" type="MAXIMUM" width="52un"/>
-            <sizehint height="34.77612un" type="MINIMUM" width="0un"/>
+            <sizehint height="33.1un" type="PREFERRED" width="52un"/>
+            <sizehint height="33.1un" type="MAXIMUM" width="52un"/>
+            <sizehint height="33.1un" type="MINIMUM" width="0un"/>
         </widget>
         <widget name="weekNumbersWidget" type="HbWidget">
-            <sizehint height="34.77612un" type="PREFERRED" width="6.41604un"/>
-            <sizehint height="34.77612un" type="MINIMUM" width="6.41604un"/>
-            <sizehint height="34.77612un" type="MAXIMUM" width="6.41604un"/>
+            <sizehint height="33.1un" type="PREFERRED" width="6.41604un"/>
+            <sizehint height="33.1un" type="MAXIMUM" width="6.41604un"/>
+            <sizehint height="33.1un" type="MINIMUM" width="6.41604un"/>
         </widget>
         <widget name="content" role="HbView:widget" type="HbWidget">
             <layout orientation="Horizontal" spacing="0.75un" type="linear">
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/controller/eabi/calencontrolleru.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,41 @@
+EXPORTS
+	_ZN16CCalenController10MainWindowEv @ 1 NONAME
+	_ZN16CCalenController11ViewManagerEv @ 2 NONAME
+	_ZN16CCalenController11eventFilterEP7QObjectP6QEvent @ 3 NONAME
+	_ZN16CCalenController11qt_metacallEN11QMetaObject4CallEiPPv @ 4 NONAME
+	_ZN16CCalenController11qt_metacastEPKc @ 5 NONAME
+	_ZN16CCalenController12InfobarTextLEv @ 6 NONAME
+	_ZN16CCalenController12NewServicesLEv @ 7 NONAME
+	_ZN16CCalenController12getFirstViewEv @ 8 NONAME
+	_ZN16CCalenController13IssueCommandLEi @ 9 NONAME
+	_ZN16CCalenController15agendaInterfaceEv @ 10 NONAME
+	_ZN16CCalenController16staticMetaObjectE @ 11 NONAME DATA 16
+	_ZN16CCalenController17SetDefaultContextEv @ 12 NONAME
+	_ZN16CCalenController18GetCommandHandlerLEi @ 13 NONAME
+	_ZN16CCalenController19CancelNotificationsEP25MCalenNotificationHandler @ 14 NONAME
+	_ZN16CCalenController19constructControllerEv @ 15 NONAME
+	_ZN16CCalenController19getStaticMetaObjectEv @ 16 NONAME
+	_ZN16CCalenController20CustomisationManagerEv @ 17 NONAME
+	_ZN16CCalenController21BroadcastNotificationE18TCalenNotification @ 18 NONAME
+	_ZN16CCalenController21ReleaseCustomisationsEv @ 19 NONAME
+	_ZN16CCalenController21checkMultipleCreationEv @ 20 NONAME
+	_ZN16CCalenController24handleServiceManagerSlotEiRK9QDateTime @ 21 NONAME
+	_ZN16CCalenController25RegisterForNotificationsLEP25MCalenNotificationHandler18TCalenNotification @ 22 NONAME
+	_ZN16CCalenController25RegisterForNotificationsLEP25MCalenNotificationHandlerR6RArrayI18TCalenNotificationE @ 23 NONAME
+	_ZN16CCalenController7InfobarEv @ 24 NONAME
+	_ZN16CCalenController7ReleaseEv @ 25 NONAME
+	_ZN16CCalenController7contextEv @ 26 NONAME
+	_ZN16CCalenController8NotifierEv @ 27 NONAME
+	_ZN16CCalenController8ServicesEv @ 28 NONAME
+	_ZN16CCalenController9InstanceLEv @ 29 NONAME
+	_ZN16CCalenController9OfferMenuEP6HbMenu @ 30 NONAME
+	_ZN16CCalenControllerC1Ev @ 31 NONAME
+	_ZN16CCalenControllerC2Ev @ 32 NONAME
+	_ZN16CCalenControllerD0Ev @ 33 NONAME
+	_ZN16CCalenControllerD1Ev @ 34 NONAME
+	_ZN16CCalenControllerD2Ev @ 35 NONAME
+	_ZNK16CCalenController10metaObjectEv @ 36 NONAME
+	_ZTI16CCalenController @ 37 NONAME
+	_ZTV16CCalenController @ 38 NONAME
+	_ZThn8_N16CCalenController12NewServicesLEv @ 39 NONAME
+
--- a/calendarui/controller/inc/calencontroller.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/controller/inc/calencontroller.h	Thu Jul 22 16:32:51 2010 +0100
@@ -25,6 +25,7 @@
 #include <apadef.h>                     // TApaCommand
 #include <qglobal.h>					// Q_DECL_EXPORT macro
 #include <agendautil.h>
+#include <qobject>
 #include "hb_calencommands.hrh"            // Calendar commands
 #include "calennotificationhandler.h"   // TCalenNotification
 #include "calenservices.h"
@@ -58,16 +59,22 @@
  * The controller handles events from the rest of Calendar and delegates
  * them to the appropriate place (i.e. the action ui classes).
  */
-class CALENCONTROLLER_EXPORT CCalenController : public MCalenServicesFactory
+class CALENCONTROLLER_EXPORT CCalenController : public QObject, public MCalenServicesFactory
     {
-  
+	Q_OBJECT
+	
     public:  // Construction and destruction
 		/**
 		 * C++ constructor
 		 */
-		CCalenController(bool isFromServiceFrmwrk);
+		CCalenController();
 		
 		/**
+		 * Second phase contruction for controller
+		 */
+		void constructController();
+
+		/**
 		 * Constructs CCalenController with existing CAknViewAppUi. If the
 		 * controller has been previously initialized with the same CAknViewAppUi,
 		 * the existing instance will be returned.
@@ -212,6 +219,12 @@
          */
         CCalenCustomisationManager& CustomisationManager();
         
+	    /**
+         * Filters the events eg. Locale/language change events
+         * @param event
+         */
+        bool eventFilter(QObject *object, QEvent *event);
+        
     private:  // Construction and destruction
         
         /**
@@ -229,7 +242,6 @@
         CalenContextImpl* mContext; 
         AgendaUtil *mAgendaUtil; // Agenda interface provider 
         CalenServicesImpl* iServices;   // Services. 
-        HbMainWindow* iMainWindow;
         CalenNotifier*     iNotifier;   // Broadcasts calendar events
         CCalenStateMachine* iStateMachine;
         CCalenActionUi*     iActionUi;   // Default internal command handling
--- a/calendarui/controller/inc/calendeleteui.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/controller/inc/calendeleteui.h	Thu Jul 22 16:32:51 2010 +0100
@@ -181,11 +181,6 @@
     void showDeleteQuery(const TDeleteConfirmationType type,
                          const int count = 0);
     
-    /**
-     * Deletes the entries before the selected date
-     */
-    void getSelectedDateAndDelete();
-
 private: // own methods
     /**
      * C++ constructor
@@ -239,6 +234,8 @@
     QDateTime iStartTime;
     QDateTime iEndTime;
     HbDateTimePicker *mDatePicker;
+    HbAction *mDeleteAction;
+    HbAction *mCancelAction;
     // Confirmation note id is stored here. Note is shown when asynchronous
     // delete completes.
     int iConfirmationNoteId;
--- a/calendarui/controller/inc/calennotificationhandler.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/controller/inc/calennotificationhandler.h	Thu Jul 22 16:32:51 2010 +0100
@@ -32,6 +32,7 @@
     ECalenNotifyInstanceDeleted,
     ECalenNotifySystemTimeChanged,
     ECalenNotifySystemLocaleChanged,
+    ECalenNotifySystemLanguageChanged,
     ECalenNotifyLostAlarms,
     ECalenNotifyCmdLineLaunch,
     ECalenNotifyAvkonViewSwitchLaunch,
--- a/calendarui/controller/inc/calenstatetable.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/controller/inc/calenstatetable.h	Thu Jul 22 16:32:51 2010 +0100
@@ -113,10 +113,10 @@
     /* ECalenMonthView */
     { EIdle , EIdle, KCalenNoNotification },
 
-    /* ECalenWeekView */
+    /* ECalenDayView */
     { EIdle , EIdle, KCalenNoNotification },
 
-    /* ECalenDayView */
+    /* ECalenAgendaView */
     { EIdle , EIdle, KCalenNoNotification },
 
     /* ECalenForwardsToDayView */
--- a/calendarui/controller/inc/calenviewmanager.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/controller/inc/calenviewmanager.h	Thu Jul 22 16:32:51 2010 +0100
@@ -28,10 +28,10 @@
 #include "hb_calencommands.hrh"
 #include "calencommandhandler.h"
 
-
+class CalenNativeView;
 class CCalenController;
 class CalenMonthView;
-class CalenDayView;
+class CalenAgendaView;
 class AgendaEventViewer;
 class CalenLandscapeDayView;
 class CalenSettingsView;
@@ -52,8 +52,12 @@
 		/**
 		 * Constructor
 		 */
-		CalenViewManager ( CCalenController& aController, 
-		                   bool isFromServiceFrmwrk);
+		CalenViewManager ( CCalenController& aController);
+		
+		/**
+		 * Second Phase Constructor
+		 */
+		void SecondPhaseConstruction();
 		
         /**
          * Destructor
@@ -93,10 +97,13 @@
 		
 		void showPrevDay();
 		
-		void removeDayViews();
+		void removePreviousView();
 		
 		void constructOtherViews();
 		
+		void launchSettingsView();
+		
+		
 	public: // from MCalenNotificationHandler
    
         /**
@@ -112,7 +119,7 @@
         /**
 		 * Loads day view frm the docml
 		 */
-        void loadDayView();
+        void loadAgendaView();
 	    /**
 	     * Activates the default view, as retrieved from settings.
 	     */
@@ -133,7 +140,7 @@
 		 * to provide illusion of swiping to next or prev
 		 * day
 		 */
-		void loadAlternateDayView();
+		void loadAlternateAgendaView();
         
     private slots:
 		void handleMainViewReady();
@@ -144,22 +151,24 @@
 		void handleDeletingCompleted();
 		void handleInstanceViewCreation(int status);
 		void handleEntryViewCreation(int status);
+		void handleDayViewReady();
 		
     private:  // Data        
 
 		CCalenController		&mController;
 		CalenMonthView			*mCalenMonthView;
-		CalenDayView			*mCalenDayView;
+		CalenAgendaView			*mCalenAgendaView;
 		AgendaEventViewer		*mCalenEventViewer;
 		CalenLandscapeDayView	*mCalenLandscapeDayView;
 		CalenSettingsView		*mSettingsView;
-		CalenDocLoader			*mDayViewDocLoader;
+		CalenDocLoader			*mAgendaViewDocLoader;
 		CalenDocLoader			*mMonthViewDocLoader;
-		CalenDayView            *mCalenDayViewAlt;
-		CalenDocLoader          *mDayViewAltDocLoader;
+		CalenAgendaView         *mCalenAgendaViewAlt;
+		CalenDocLoader          *mAgendaViewAltDocLoader;
+		CalenNativeView			*mCalenDayView;
         
 		int  mCurrentViewId;
-		int  mPreviousViewId;
+		int  mPreviousViewsId;
 		int  mFirstView;
         };
 
--- a/calendarui/controller/src/calenactionui.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/controller/src/calenactionui.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -142,23 +142,11 @@
     
     if(aCommand.Command()==ECalenShowSettings)
         {  
-        launchSettingsView();
+        iController.ViewManager().launchSettingsView();
         }
     
     TRACE_EXIT_POINT;
-    return continueCommand;    }
-
-// ----------------------------------------------------------------------------
-// CCalenActionUi::launchSettingsView
-// Launches settings view
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//
-void CCalenActionUi::launchSettingsView()
-    {
-    CalenSettingsView* settingsView = iController.ViewManager().settingsView();
-    settingsView->initializeForm();
-    iController.Services().MainWindow().setCurrentView(settingsView);
+    return continueCommand; 
     }
 
 // End of file
--- a/calendarui/controller/src/calenbackgroundstate.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/controller/src/calenbackgroundstate.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -100,6 +100,7 @@
 
     switch( cmd )
         {
+        case ECalenAgendaView:
         case ECalenDayView:
             SetCurrentState(aStateMachine,CCalenStateMachine::ECalenIdleState);
             cmdUsed = ETrue;
--- a/calendarui/controller/src/calencontroller.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/controller/src/calencontroller.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -20,6 +20,8 @@
 #include <hbmainwindow.h>
 #include <hbwidget.h>
 #include <hbinstance.h>
+#include <hbapplication.h> //Activity Manager
+#include <xqserviceutil.h> // service utils
 
 // User includes
 #include "calencontroller.h"            // CCalenController
@@ -46,74 +48,100 @@
 // (other items were commented in a header).
 // ----------------------------------------------------------------------------
 //
-CCalenController::CCalenController(bool isFromServiceFrmwrk)
+CCalenController::CCalenController()
 {
     TRACE_ENTRY_POINT;
-    iIsFromServiceFrmWrk = isFromServiceFrmwrk;
+	// Check the Application Startup reason, set iIsFromServiceFrmWrk if application
+	// is started by service framework, false otherwise
+    /*Hb::ActivationReasonService == qobject_cast<HbApplication*>(qApp)->activateReason() ? 
+        iIsFromServiceFrmWrk = true:
+        iIsFromServiceFrmWrk = false; */
+    
+    // Check if calendar is launched thru XQService framework
+    iIsFromServiceFrmWrk = XQServiceUtil::isService(); // Since activateReason 
+    //of hbapplication is not returning right value if the activity is started 
+    //as services so using the above line temporarily untill a fix is available in 
+    // hbappliacation. Need to remove this line after the fix is available for hbapplcation
+    
     iNextServicesCommandBase = KCustomCommandRangeStart;
     iRefCount = 0;
-    
-    // Store the pointer in tls, also avoid multiple creations
-    checkMultipleCreation();
-    
-    // Get an instance of AgendaUtil interface class
-    // This will take care of 
-    mAgendaUtil = new AgendaUtil();
-    
-    iStateMachine = CCalenStateMachine::NewL( *this );
-    
-    // Create the notifier.
-    iNotifier = new( ELeave )CalenNotifier( *iStateMachine );
-    
-    // Construct the context
-    mContext = new CalenContextImpl(iNotifier);
-    
-    // Set the default context.Once will start use of calencmdlinelauncher,
-    // Then need to remove this function
-    SetDefaultContext();
-    
-    RArray<TCalenNotification> notificationArray;
-    // Complete construction of the notifier and register the
-    // global data for notifications
-    iNotifier->ConstructL();
+    mAgendaUtil = 0;
     
-    // Create the services
-    iServices = CalenServicesImpl::NewL();
-    // Create the customisation manager, and register for 
-    // notifications
-    iCustomisationManager = CCalenCustomisationManager::NewL( *this,
-                                                                  *iServices );
-    // Create the view manager, and register for notifications
-	iViewManager = new CalenViewManager(*this, isFromServiceFrmwrk );
-	
+    TRACE_EXIT_POINT;
+}
+
+// ----------------------------------------------------------------------------
+// CCalenController::constuctController
+// Construct the controller completely
+// (other items were commented in a header).
+// ----------------------------------------------------------------------------
+//
+void CCalenController::constructController()
+{
+	// Store the pointer in tls, also avoid multiple creations
+	checkMultipleCreation();
+
+	// Get an instance of AgendaUtil interface class
+	// This will take care of 
+	mAgendaUtil = new AgendaUtil();
+
+	iStateMachine = CCalenStateMachine::NewL( *this );
+
+	// Create the notifier.
+	iNotifier = new( ELeave )CalenNotifier( *iStateMachine );
+
+	// Construct the context
+	mContext = new CalenContextImpl(iNotifier);
+
+	// Set the default context.Once will start use of calencmdlinelauncher,
+	// Then need to remove this function
+	SetDefaultContext();
+
+	RArray<TCalenNotification> notificationArray;
+	// Complete construction of the notifier and register the
+	// global data for notifications
+	iNotifier->ConstructL();
+
+	// Create the services
+	iServices = CalenServicesImpl::NewL();
+	// Create the customisation manager, and register for 
+	// notifications
+	iCustomisationManager = CCalenCustomisationManager::NewL( *this,
+	                                                          *iServices );
+	// Create the view manager, and register for notifications
+	iViewManager = new CalenViewManager(*this);
+
+	iViewManager->SecondPhaseConstruction();
+
 	hbInstance->allMainWindows().first()->show();
-    
-    // Create the action uis.
-    iActionUi = CCalenActionUi::NewL( *this );
-                                                                    
-    notificationArray.Append(ECalenNotifySettingsChanged);
-    notificationArray.Append(ECalenNotifyCheckPluginUnloading);
-    notificationArray.Append(ECalenNotifyEComRegistryChanged);
-    
-    RegisterForNotificationsL( iCustomisationManager,notificationArray);
-    notificationArray.Reset();
-    
-    notificationArray.Append(ECalenNotifyViewPopulationComplete);
-    notificationArray.Append(ECalenNotifyExternalDatabaseChanged);
-    notificationArray.Append(ECalenNotifyMultipleEntriesDeleted);
-    notificationArray.Append(ECalenNotifyDialogClosed);
-    notificationArray.Append(ECalenNotifyEntrySaved);
-    notificationArray.Append(ECalenNotifyEntryDeleted);
-    notificationArray.Append(ECalenNotifyInstanceDeleted);
-    notificationArray.Append(ECalenNotifySystemLocaleChanged);
-    notificationArray.Append(ECalenNotifySystemTimeChanged);
-    notificationArray.Append(ECalenNotifyEntryClosed);
-    notificationArray.Append(ECalenNotifySettingsClosed);
-    		
-    RegisterForNotificationsL( iViewManager, notificationArray );
-    notificationArray.Reset();  
-    notificationArray.Close();
-    TRACE_EXIT_POINT;
+
+	// Create the action uis.
+	iActionUi = CCalenActionUi::NewL( *this );
+
+	notificationArray.Append(ECalenNotifySettingsChanged);
+	notificationArray.Append(ECalenNotifyCheckPluginUnloading);
+	notificationArray.Append(ECalenNotifyEComRegistryChanged);
+	notificationArray.Append(ECalenNotifySystemLanguageChanged);
+
+	RegisterForNotificationsL( iCustomisationManager,notificationArray);
+	notificationArray.Reset();
+
+	notificationArray.Append(ECalenNotifyViewPopulationComplete);
+	notificationArray.Append(ECalenNotifyExternalDatabaseChanged);
+	notificationArray.Append(ECalenNotifyMultipleEntriesDeleted);
+	notificationArray.Append(ECalenNotifyDialogClosed);
+	notificationArray.Append(ECalenNotifyEntrySaved);
+	notificationArray.Append(ECalenNotifyEntryDeleted);
+	notificationArray.Append(ECalenNotifyInstanceDeleted);
+	notificationArray.Append(ECalenNotifySystemLocaleChanged);
+	notificationArray.Append(ECalenNotifySystemLanguageChanged);
+	notificationArray.Append(ECalenNotifySystemTimeChanged);
+	notificationArray.Append(ECalenNotifyEntryClosed);
+	notificationArray.Append(ECalenNotifySettingsClosed);
+
+	RegisterForNotificationsL( iViewManager, notificationArray );
+	notificationArray.Reset();  
+	notificationArray.Close();
 }
 
 void CCalenController::checkMultipleCreation()
@@ -222,24 +250,36 @@
 CCalenController::~CCalenController()
     {
     TRACE_ENTRY_POINT;
-    
+
+    if(iStateMachine) {
+    	delete iStateMachine;
+    	iStateMachine = NULL;
+    }
+
     if ( iServices )
         {
         iServices->Release();
         }
     
+    if( mContext )
+		{
+		delete mContext;
+		mContext = NULL;
+		}
+    // iActionUi has to be deleted before iNotifier
+    // as the unregistering of the notifications has to be done
+    if( iActionUi )
+ 	   {
+ 	   delete iActionUi;
+ 	   iActionUi = NULL;
+ 	   }
+    
     if( iNotifier )
 		{
     	delete iNotifier;
     	iNotifier = NULL;
 		}
     
-   if( iActionUi )
-	   {
-	   delete iActionUi;
-	   iActionUi = NULL;
-	   }
-   
     if( iViewManager )
 		{
     	delete iViewManager;
@@ -251,7 +291,11 @@
     	delete iCustomisationManager;
     	iCustomisationManager = NULL;
 		}
-    
+		
+    if (mAgendaUtil) {
+        delete mAgendaUtil;
+        mAgendaUtil = 0;
+    }
     
     Dll::SetTls( NULL );
     
@@ -506,7 +550,7 @@
     {
     TRACE_ENTRY_POINT;  
     QDateTime focusTime = mContext->defaultCalTimeForViewsL();
-    mContext->setFocusDateAndTimeL(focusTime,KCalenDayViewUidValue );
+    mContext->setFocusDateAndTime(focusTime);
     TRACE_EXIT_POINT;
     }
 
@@ -561,13 +605,10 @@
 	
 	if (iIsFromServiceFrmWrk) {
 		// Set the context properly
-		mContext->setFocusDateAndTimeL(dateTime,KCalenMonthViewUidValue);
+		mContext->setFocusDateAndTime(dateTime);
 		// launch the appropriate view
 		iViewManager->constructAndActivateView(view);
 		
-		// Construct other views
-		iViewManager->constructOtherViews();
-
 	} else { // Calendar was in backgroung but now its being brought to foreground
 		// If current state is editing state or printing state
 		// or deleting state or sending state, then dont do anything as
@@ -580,7 +621,7 @@
 			// simply return - we dont have anything to do
 		} else {
 			// Set the context properly
-			mContext->setFocusDateAndTimeL(dateTime,KCalenMonthViewUidValue);
+			mContext->setFocusDateAndTime(dateTime);
 			IssueCommandL(view);
 		}
 	}
@@ -601,4 +642,26 @@
 	
 }
 
+// ----------------------------------------------------------------------------
+// CCalenController::eventFilter
+// Filters and handles the changes in events
+// (other items were commented in a header).
+// ---------------------------------------------------------------------------
+//
+bool CCalenController::eventFilter(QObject *object, QEvent *event)
+{
+    switch (event->type())
+        {
+        case QEvent::LanguageChange:
+        	//TODO: Unload the translator and install the locale specific translator
+        	iNotifier->BroadcastNotification( ECalenNotifySystemLanguageChanged );
+            break;
+        case QEvent::LocaleChange:
+        	// TODO: handle the locale changes
+            break;
+        default:
+            break;
+        }
+    return QObject::eventFilter(object, event);
+}
 // End of file
--- a/calendarui/controller/src/calendeleteui.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/controller/src/calendeleteui.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -35,7 +35,6 @@
 #include "CleanupResetAndDestroy.h"
 #include "caleninstanceid.h"
 #include "calenactionuiutils.h"
-#include "CalendarPrivateCRKeys.h"  // includes CalendarInternalCRKeys.h
 #include "calendateutils.h"
 #include "calenagendautils.h"
 
@@ -299,29 +298,25 @@
 		// Fetch the entry
 		AgendaEntry entry = iController.Services().agendaInterface()->fetchById(
 				iController.context().instanceId().mEntryLocalUid);
-
-		// Check if the entry is a To-Do
-		if (AgendaEntry::TypeTodo == entry.type()) {
-			if(!entry.isNull()) {
-				showDeleteQuery(entry.type() == AgendaEntry::TypeTodo ?
-															EDeleteToDo :
-															EDeleteEntry );
+			// Check if the entry is a To-Do
+			if (AgendaEntry::TypeTodo == entry.type()) {
+				showDeleteQuery(EDeleteToDo);
+			} else {
+				// Show the repeat entry delete query for repeating entries except Anniversary
+				// Even though the anniversary is repeating 
+				// all the instances will be deleted
+				if ((entry.isRepeating() || !entry.recurrenceId().isNull()) 
+							&& (AgendaEntry::TypeAnniversary != entry.type())) {
+					// Show a confirmation note whether the user
+					// wants to delete the single instance or all of them
+					showRepeatingEntryDeleteQuery();
+				} else {
+					// If the entry is not a repeating entry,
+					// delete it directly
+					// Save the entry for later reference in the slot
+					showDeleteQuery(EDeleteEntry);
+				}
 			}
-		}
-		else {
-			if (entry.isRepeating() || !entry.recurrenceId().isNull()) {
-				// Show a confirmation note whether the user
-				// wants to delete the single instance or all of them
-				showRepeatingEntryDeleteQuery();
-			} else {
-				// If the entry is not a repeating entry,
-				// delete it directly
-				// Save the entry for later reference in the slot
-				showDeleteQuery(entry.type() == AgendaEntry::TypeTodo ?
-															EDeleteToDo :
-															EDeleteEntry );
-			}
-		}
 	}
 	TRACE_EXIT_POINT;
 }
@@ -334,7 +329,9 @@
 //
 void CalenDeleteUi::DeleteAllEntriesL()
     {
-    ASSERT( !iIsDeleting );
+	if(iIsDeleting) {
+		return;
+	}
 
     showDeleteQuery(EDeleteAll );
 	}
@@ -348,8 +345,9 @@
 void CalenDeleteUi::DeleteEntriesBeforeDateL()
     {
     TRACE_ENTRY_POINT;
-    ASSERT( !iIsDeleting );
-    
+	if(iIsDeleting) {
+		return;
+	}    
     // launch the datepicker
     dateQuery();
     TRACE_EXIT_POINT;
@@ -381,9 +379,11 @@
 	mDatePicker->setDate(currentDate);
 
 	popUp->setContentWidget(mDatePicker);  
-	
-	popUp->addAction(new HbAction(hbTrId("txt_calendar_button_dialog_delete")));
-	popUp->addAction(new HbAction(hbTrId("txt_common_button_cancel"),popUp));
+	mDeleteAction = new HbAction(
+						hbTrId("txt_calendar_button_dialog_delete"), popUp);
+	popUp->addAction(mDeleteAction);
+	mCancelAction = new HbAction(hbTrId("txt_common_button_cancel"),popUp);
+	popUp->addAction(mCancelAction);
 	// Show the popup
 	popUp->open(this, SLOT(handleDateQuery(HbAction*)));
 	}
@@ -396,11 +396,38 @@
 //
 void CalenDeleteUi::handleDateQuery(HbAction* action)
 {
-	if(action->text() == hbTrId("txt_calendar_button_dialog_delete")) {
-		getSelectedDateAndDelete();
+	if(action == mDeleteAction) {
+		// User selected the date before which all the entries has to be deleted
+		QDate selectedDate(mDatePicker->date());
+		// Check if the date is within the range.
+		if(selectedDate.isValid()) {
+			QTime time(0,0,0,0);
+			QDateTime dateTime;
+			dateTime.setDate(selectedDate);
+			dateTime.setTime(time);
+			// Do delete only if inputted day is after beginning of range
+			if(dateTime > AgendaUtil::minTime()) {
+				// Two pass delete:
+				// 1. pass
+				// To prevent destroying entries starting and ending midnight
+				// subtract one second and do delete on that range.
+				dateTime = dateTime.addSecs(-1);
+				dateTime = ( dateTime > AgendaUtil::minTime()? 
+											dateTime :  AgendaUtil::minTime());
+
+				HandleDeleteMultipleEventsL( AgendaUtil::minTime(), 
+																 dateTime, 1);
+			}else {
+				iController.BroadcastNotification(ECalenNotifyDeleteFailed);
+			}
+		}
 	}else {
+		// User pressed cancel
 		handleDeleteCancel();
 	}
+	// Reset the member variables
+	mDeleteAction = NULL;
+	mCancelAction = NULL;
 }
 // ----------------------------------------------------------------------------
 // CalenDeleteUi::showRepeatingEntryDeleteQuery
@@ -458,63 +485,33 @@
 	iController.BroadcastNotification(ECalenNotifyDeleteFailed);
 }
 
-// ----------------------------------------------------------------------------
-// CalenDeleteUi::getSelectedDateAndDelete
-// Deletes the entries before the selected date
-// (other items were commented in a header).
-// ----------------------------------------------------------------------------
-//
-void CalenDeleteUi::getSelectedDateAndDelete()
+void CalenDeleteUi::handleRepeatedEntryDelete(int index)
 {
-	QDate selectedDate(mDatePicker->date());
+	// Fetch the entry
+	// Find all possible instances
+	AgendaEntry instance = CalenActionUiUtils::findPossibleInstanceL(
+									iController.context().instanceId(),
+									iController.Services().agendaInterface());
 
-	// Check if the date is within the range.
-	if(selectedDate.isValid()) {
-		QTime time(0,0,0,0);
-		QDateTime dateTime;
-		dateTime.setDate(selectedDate);
-		dateTime.setTime(time);
-		// Do delete only if inputted day is after beginning of range
-		if(dateTime > AgendaUtil::minTime()) {
-			// Two pass delete:
-			// 1. pass
-			// To prevent destroying entries starting and ending midnight
-			// subtract one second and do delete on that range.
-			dateTime = dateTime.addSecs(-1);
-			dateTime = ( dateTime > AgendaUtil::minTime()? dateTime :  AgendaUtil::minTime());
-
-			HandleDeleteMultipleEventsL( AgendaUtil::minTime(), dateTime,1 );
-			iController.BroadcastNotification(ECalenNotifyEntryDeleted);
-		}else {
-			iController.BroadcastNotification(ECalenNotifyDeleteFailed);
+	if (!instance.isNull()) {
+		connect(iController.Services().agendaInterface(), 
+									SIGNAL(entryDeleted(ulong)),
+									this, SLOT(entryDeleted(ulong)));
+		switch(index) {
+			case 0:
+				// User wants to delete only this occurence
+				iController.Services().agendaInterface()->deleteRepeatedEntry(
+									instance, AgendaUtil::ThisOnly);
+				break;
+			case 1:
+				// User wants to delete all the occurences
+				iController.Services().agendaInterface()->deleteRepeatedEntry(
+									instance, AgendaUtil::ThisAndAll);
+				break;
 		}
 	}
 }
 
-void CalenDeleteUi::handleRepeatedEntryDelete(int index)
-{
-    // Fetch the entry
-    // Find all possible instances
-    AgendaEntry instance = CalenActionUiUtils::findPossibleInstanceL(
-                                iController.context().instanceId(),
-                                iController.Services().agendaInterface());
-
-    if (!instance.isNull()) {
-        connect(iController.Services().agendaInterface(), SIGNAL(entryDeleted(ulong)),
-                this, SLOT(entryDeleted(ulong)));
-        switch(index) {
-            case 0:
-                // User wants to delete only this occurence
-                iController.Services().agendaInterface()->deleteRepeatedEntry(instance, AgendaUtil::ThisOnly);
-                break;
-            case 1:
-                // User wants to delete all the occurences
-                iController.Services().agendaInterface()->deleteRepeatedEntry(instance, AgendaUtil::ThisAndAll);
-                break;
-        }
-    }
-}
-
 // ----------------------------------------------------------------------------
 // CalenDeleteUi::showDeleteQuery
 // Launches the popup for deleting the instance/instances
@@ -535,8 +532,7 @@
         {
         case EDeleteEntry:
             {
-            // TODO: Add the text id
-            text.append("Delete entry?");
+            text.append(hbTrId("txt_calendar_info_delete_meeting"));
             break;
             }
         case EDeleteToDo:
@@ -566,9 +562,11 @@
         {
         popup->removeAction(list[i]);
         }
-    popup->addAction(new HbAction(hbTrId("txt_calendar_button_delete"), popup));
-    popup->addAction(new HbAction(
-    		hbTrId("txt_calendar_button_cancel"), popup));
+    mDeleteAction = new HbAction(
+						hbTrId("txt_calendar_button_dialog_delete"), popup);
+    popup->addAction(mDeleteAction);
+    mCancelAction = new HbAction(hbTrId("txt_calendar_button_cancel"), popup);
+    popup->addAction(mCancelAction);
     popup->open(this, SLOT(handleDeletion(HbAction*)));
     }
 
@@ -582,19 +580,19 @@
 {
 	TCalenNotification notification = ECalenNotifyDeleteFailed;
 	
-	if(action->text() == hbTrId("txt_calendar_button_delete")) {
+	if(action == mDeleteAction) {
 		
 		switch (mDeleteCommand) {
 			
 			case ECalenDeleteCurrentEntry:
 			{
-				// Get the entry
-				AgendaEntry entry = 
-						iController.Services().agendaInterface()->fetchById(
-							iController.context().instanceId().mEntryLocalUid);
+				// Get the entry id
+				ulong id = iController.context().instanceId().mEntryLocalUid;
+				connect(iController.Services().agendaInterface(), 
+												SIGNAL(entryDeleted(ulong)),
+												this, SLOT(entryDeleted(ulong)));
 				// Delete the entry if the delete button is been pressed
-				iController.Services().agendaInterface()->deleteEntry(entry.id());
-				notification = ECalenNotifyEntryDeleted;
+				iController.Services().agendaInterface()->deleteEntry(id);
 			}
 				break;
 			
@@ -605,15 +603,18 @@
 						CalenActionUiUtils::findPossibleInstanceL(
 								iController.context().instanceId(),
 								iController.Services().agendaInterface() );
-				QDateTime recId = instance.recurrenceId().toUTC();
-				const bool child = recId.isNull();
-
-				if( !child || mRecurrenceRange == AgendaUtil::ThisOnly 
-						|| mRecurrenceRange == AgendaUtil::ThisAndAll) {
-					iController.Services().agendaInterface()->deleteRepeatedEntry( 
-							instance, mRecurrenceRange );
+				if(!instance.isNull()) {
+					QDateTime recId = instance.recurrenceId().toUTC();
+					const bool child = recId.isNull();
+					connect(iController.Services().agendaInterface(), 
+					        SIGNAL(entryDeleted(ulong)),
+					        this, SLOT(entryDeleted(ulong)));
+					if( !child || mRecurrenceRange == AgendaUtil::ThisOnly 
+							|| mRecurrenceRange == AgendaUtil::ThisAndAll) {
+						iController.Services().agendaInterface()->deleteRepeatedEntry( 
+								instance, mRecurrenceRange );
+					}
 				}
-				notification = ECalenNotifyEntryDeleted;
 			}
 				break;
 			
@@ -621,7 +622,6 @@
 			{
 				HandleDeleteMultipleEventsL( AgendaUtil::minTime(), 
 											AgendaUtil::maxTime(),1 );
-				notification = ECalenNotifyEntryDeleted;
 			}
 				break;
 			
@@ -634,6 +634,10 @@
 	// ECalenNotifyDeleteFailed as default.
 	// Notify the status
 	iController.BroadcastNotification(notification);
+	
+	// Reset the member variables
+	mDeleteAction = NULL;
+	mCancelAction = NULL;
 }
 
 void CalenDeleteUi::entryDeleted(ulong id)
@@ -656,9 +660,10 @@
                                                  int aConfNoteId )
     {
     TRACE_ENTRY_POINT;
-
     
-    ASSERT( !iIsDeleting );
+	if(iIsDeleting) {
+		return;
+	}
     iConfirmationNoteId = aConfNoteId;
     
     DeleteDayRangeL( aFirstDay, aLastDay );
@@ -756,7 +761,7 @@
         // for CCalEntry type.
 
         // First check that if _instance_ ends at midnight, but starts earlier
-        if( CalenAgendaUtils::endsAtStartOfDayL( entry, aMidnight ) )
+        if( CalenAgendaUtils::endsAtStartOfDay( entry, aMidnight ) )
             {
             // Second, check that _entry's_ endtime is exactly the midnight
             // This prevents us from destroying repeating entries, that has one
@@ -833,8 +838,7 @@
 
 	if( !aHasRepeatType && ( child || repeating ) && 
 			( aInstance.type() != AgendaEntry::TypeAnniversary ) ) {
-		//doDelete = CalenActionUiUtils::ShowRepeatTypeQueryL( aRepeatType,
-		//                                                 CalenActionUiUtils::EDelete );
+		showRepeatingEntryDeleteQuery();
 	}
 	else
 	{
--- a/calendarui/controller/src/calendocloader.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/controller/src/calendocloader.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -18,14 +18,15 @@
 
 // User includes
 #include "calendocloader.h"
-#include "calendayview.h"
-#include "calendayviewwidget.h"
+#include "calenagendaview.h"
+#include "calenagendaviewwidget.h"
 #include "calenmonthview.h"
 #include "calenmonthgrid.h"
 #include "calenpreviewpane.h"
 #include "calencontroller.h"
 #include "calenthicklinesdrawer.h"
 #include "calencommon.h"
+#include "calenpluginlabel.h"
 
 // ----------------------------------------------------------------------------
 // CalenDocLoader::CalenDocLoader
@@ -62,14 +63,14 @@
                                              const QString &name)
 {
     MCalenServices &services = mController.Services(); 
-	if (name == QString(CALEN_DAYVIEW)) {
-		QObject *calenDayView = new CalenDayView(services);
-		calenDayView->setObjectName(name);
-		return calenDayView;
-	} else if (name == QString(CALEN_DAYVIEW_WIDGET)) {
-	    QObject *calenDayViewWidget = new CalenDayViewWidget(services, this);
-	    calenDayViewWidget->setObjectName(name);
-	    return calenDayViewWidget;
+	if (name == QString(CALEN_AGENDAVIEW)) {
+		QObject *calenAgendaView = new CalenAgendaView(services);
+		calenAgendaView->setObjectName(name);
+		return calenAgendaView;
+	} else if (name == QString(CALEN_AGENDAVIEW_WIDGET)) {
+	    QObject *calenAgendaViewWidget = new CalenAgendaViewWidget(services, this);
+	    calenAgendaViewWidget->setObjectName(name);
+	    return calenAgendaViewWidget;
 	} else if (name == QString(CALEN_MONTHVIEW)) { // For Month View
         QObject *calenMonthView = new CalenMonthView(services);
         calenMonthView->setObjectName(name);
@@ -80,17 +81,17 @@
         return calenMonthGrid;
 	} else if(name == QString(CALEN_PREVPREVIEWPANE)) {
         QObject *prevPreviewPane =
-        new CalenPreviewPane(mController.Services());
+        new CalenPreviewPane(services);
         prevPreviewPane->setObjectName(name);
         return prevPreviewPane;
     } else if(name == QString(CALEN_CURRPREVIEWPANE)) {
         QObject *currPreviewPane =
-        new CalenPreviewPane(mController.Services());
+        new CalenPreviewPane(services);
         currPreviewPane->setObjectName(name);
         return currPreviewPane;
     } else if(name == QString(CALEN_NEXTPREVIEWPANE)) {
         QObject *nextPreviewPane =
-        new CalenPreviewPane(mController.Services());
+        new CalenPreviewPane(services);
         nextPreviewPane->setObjectName(name);
         return nextPreviewPane;
     } else if (name == QString(CALEN_DAYNAMES_WIDGET)) {
@@ -103,7 +104,19 @@
         new CalenThickLinesDrawer(CalendarNamespace::CalenWeekNumWidget);
 	    calenSWeekNumWidget->setObjectName(name);
 	    return calenSWeekNumWidget;
-    } else {
+	} else if (name == QString(CALEN_PREVREGIONALINFO)) {
+		QObject *calenPrevRegionalLabel = new CalenPluginLabel(services);
+		calenPrevRegionalLabel->setObjectName(name);
+		return calenPrevRegionalLabel;
+	} else if (name == QString(CALEN_CURRREGIONALINFO)) {
+		QObject *calencurrRegionalLabel = new CalenPluginLabel(services);
+		calencurrRegionalLabel->setObjectName(name);
+		return calencurrRegionalLabel;
+	} else if (name == QString(CALEN_NEXTREGIONALINFO)) {
+		QObject *calenNextRegionalLabel = new CalenPluginLabel(services);
+		calenNextRegionalLabel->setObjectName(name);
+		return calenNextRegionalLabel;
+	} else {
 		return HbDocumentLoader::createObject(type, name);
 	}
 }
--- a/calendarui/controller/src/caleneditui.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/controller/src/caleneditui.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -56,7 +56,7 @@
 CCalenEditUi::~CCalenEditUi()
     {
     TRACE_ENTRY_POINT;
-
+    iController.CancelNotifications(this);
     TRACE_EXIT_POINT;
     }
 
@@ -102,7 +102,7 @@
     TInt command = aCommand.Command();
     MCalenContext& context = iController.Services().Context();
     AgendaEntry editedEntry;
-    QDateTime newEntryDateTime = iController.context().focusDateAndTimeL();
+    QDateTime newEntryDateTime = iController.context().focusDateAndTime();
    
     // Check if it is not on same day and set the default time and date accordingly.
     bool isSameDay = CalenDateUtils::isOnToday(newEntryDateTime);
@@ -122,15 +122,17 @@
                                     context.instanceId().mEntryLocalUid );
             // For repeating entry, we need to update proper start time here
             // from the context
-            if (editedEntry.isRepeating()) {
-            	// Get the instancde time frm the context
-            	QDateTime instanceTime = context.focusDateAndTimeL();
-            	editedEntry.setStartAndEndTime(instanceTime, editedEntry.endTime());
+            if(!editedEntry.isNull()) {
+            	if (editedEntry.isRepeating()) {
+            		// Get the instancde time frm the context
+            		QDateTime instanceTime = context.focusDateAndTime();
+            		editedEntry.setStartAndEndTime(instanceTime, editedEntry.endTime());
+            	}
+            	iEditor= new CalenEditor(iController.Services().agendaInterface());
+            	iEditor->edit(editedEntry, false);
+            	connect(iEditor, SIGNAL(entrySaved()), this, SLOT(handleEntrySaved()));
+            	connect(iEditor, SIGNAL(dialogClosed()), this, SLOT(handleDialogClosed()));
             }
-			iEditor= new CalenEditor(iController.Services().agendaInterface());
-			iEditor->edit(editedEntry, false);
-		    connect(iEditor, SIGNAL(entrySaved()), this, SLOT(handleEntrySaved()));
-		    connect(iEditor, SIGNAL(dialogClosed()), this, SLOT(handleDialogClosed()));
             break;
         default:
             // Controller decided this class was the place to handle this
--- a/calendarui/controller/src/calenidlestate.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/controller/src/calenidlestate.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -96,8 +96,8 @@
     switch( cmd )
         {
         case ECalenMonthView:
-        case ECalenWeekView:
         case ECalenDayView:
+        case ECalenAgendaView:
         case ECalenStartActiveStep:
             {
             // set previous state to idle
--- a/calendarui/controller/src/calensettingsstate.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/controller/src/calensettingsstate.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -103,8 +103,8 @@
             }
             break;
         case ECalenMonthView:
+        case ECalenAgendaView:
         case ECalenDayView:
-        case ECalenLandscapeDayView:
         case ECalenStartActiveStep:
             {
             // set previous state to idle
@@ -151,6 +151,11 @@
             ActivateCurrentStateL(aStateMachine);
             }
             break;
+        case ECalenNotifySystemLocaleChanged:
+            {
+            CCalenState::HandleNotificationL( aNotification, aStateMachine );
+            }
+            break;
         default:
             // default is defer all other notifications when we are in setting state
             iOutstandingNotifications.InsertL(aNotification);
--- a/calendarui/controller/src/calenstatemachine.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/controller/src/calenstatemachine.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -156,12 +156,8 @@
     {
     TRACE_ENTRY_POINT;
 
-	TRAPD(error,iStates[iCurrentState]->HandleNotificationL( aNotification, *this)); 
-    if(error!=KErrNone)
-		{
-		// do avoid warning
-		}
-	
+	TRAP_IGNORE(iStates[iCurrentState]->HandleNotificationL( aNotification, *this)); 
+   
     TRACE_EXIT_POINT;
     }
 
--- a/calendarui/controller/src/calenviewmanager.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/controller/src/calenviewmanager.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -17,8 +17,10 @@
 
 
 //system includes
-#include <QDebug>
 #include <hbmainwindow.h>
+#include <hbinstance.h>
+#include <hbapplication.h> // hbapplication
+#include <xqserviceutil.h> // service utils
 
 //user includes
 #include "calenviewmanager.h"
@@ -26,7 +28,7 @@
 #include "hb_calencommands.hrh"
 #include "calenservicesimpl.h"
 #include "calenmonthview.h"
-#include "calendayview.h"
+#include "calenagendaview.h"
 #include "calenmonthview.h"
 #include "agendaeventviewer.h"
 #include "calennotificationhandler.h"
@@ -36,6 +38,7 @@
 #include "calendocloader.h"
 #include "calendarui_debug.h"
 #include "calencommon.h"
+#include "calendayview.h"
 
 // ----------------------------------------------------------------------------
 // CalenViewManager::CalenViewManager
@@ -43,19 +46,21 @@
 // (other items were commented in a header).
 // ----------------------------------------------------------------------------
 //
-CalenViewManager::CalenViewManager( CCalenController& aController,
-                                         bool isFromServiceFrmwrk)
+CalenViewManager::CalenViewManager( CCalenController& aController)
 : mController(aController)
 {
 	TRACE_ENTRY_POINT;
 	
+	// Following block intializes member variables
 	mCalenEventViewer = NULL;
 	mMonthViewDocLoader = NULL;
-	mDayViewDocLoader = NULL;	
-	mDayViewAltDocLoader = NULL;
+	mAgendaViewDocLoader = NULL;	
+	mAgendaViewAltDocLoader = NULL;
+	mCalenAgendaView = NULL;
+	mCalenMonthView = NULL;
+	mCalenAgendaViewAlt = NULL;
+	mSettingsView = NULL;
 	mCalenDayView = NULL;
-	mCalenMonthView = NULL;
-	mCalenDayViewAlt = NULL;
 	
 	// Connect to instance view and entry view creation signals from agenda
 	// interface
@@ -64,28 +69,85 @@
 	connect(mController.agendaInterface(), SIGNAL(entryViewCreationCompleted(int)),
 		        this, SLOT(handleEntryViewCreation(int)));
 	
-	if (isFromServiceFrmwrk) {
-		// Dont load any views until our remote slot gets called in
-		// calenserviceprovider.cpp
-		// Just have an empty mainwindow
-	} else {
-		// Do the normal startup
-		// Load the month view and active it and add it to main window
-		mFirstView = ECalenMonthView;
-		loadMonthView();
-		ActivateDefaultViewL(ECalenMonthView);
-		// Connect to the view ready signal so that we construct other view 
-		// once this view is shown
-		connect(&mController.MainWindow(), SIGNAL(viewReady()), 
-						this, SLOT(handleMainViewReady()));
-		
-		mController.MainWindow().addView(mCalenMonthView);
-		mController.MainWindow().setCurrentView(mCalenMonthView);
-	}
-	
 	TRACE_EXIT_POINT;
 }
 
+void CalenViewManager::SecondPhaseConstruction()
+{
+
+    TRACE_ENTRY_POINT;
+    
+    // Check the Application Startup reason from Activity Manager
+    int activityReason = qobject_cast<HbApplication*>(qApp)->activateReason();
+    
+    // Check if calendar is launched thru XQService framework
+    bool isFromServiceFrmWrk = XQServiceUtil::isService(); // Since activateReason 
+    //of hbapplication is not returning right value if the activity is started 
+    //as services so using the above line temporarily untill a fix is available in 
+    // hbappliacation. Need to remove this line after the fix is available for hbapplcation
+
+    
+    if (Hb::ActivationReasonActivity == activityReason) // Check if application is started 
+    // as an activity
+        {
+        // Application is started from an activity
+        // Extract activity data
+        QVariant data = qobject_cast<HbApplication*>(qApp)->activateData();
+        // Restore state from activity data
+        QByteArray serializedModel = data.toByteArray();
+        QDataStream stream(&serializedModel, QIODevice::ReadOnly);
+        int viewId; // int declared for debugging purpose
+        stream >> viewId; // read stream into an int
+        
+        mFirstView = viewId;
+        if (ECalenMonthView == viewId) // Check if Activity was stored for month view
+            {
+            loadMonthView(); // Load month view
+            }
+        else if (ECalenAgendaView == viewId) // Check if Activity was stored for agenda view
+            {
+        	loadAgendaView(); // Load agenda view
+            }
+        
+        ActivateDefaultViewL(viewId);
+        // Connect to the view ready signal so that we can construct other views 
+        // once this view is ready
+        connect(&mController.MainWindow(), SIGNAL(viewReady()), 
+                this, SLOT(handleMainViewReady()));
+
+        if (ECalenMonthView == viewId) // Check if Activity was stored for month view
+            {
+            mController.MainWindow().addView(mCalenMonthView); // Add month view to main window
+            mController.MainWindow().setCurrentView(mCalenMonthView); // Set month view as current view
+            } 
+        else if (ECalenAgendaView == viewId) // Check if Activity was stored for agenda view
+            {
+            mController.MainWindow().addView(mCalenAgendaView); // Add agenda view to main window
+            mController.MainWindow().setCurrentView(mCalenAgendaView); // Set agenda view as current view
+            }
+        } else if (isFromServiceFrmWrk/*Hb::ActivationReasonService == activityReason*/) {
+        // Dont load any views until our remote slot gets called in
+        // calenserviceprovider.cpp
+        // Just have an empty mainwindow
+    } else {
+        // Do the normal startup
+        // Load the month view and active it and add it to main window
+        mFirstView = ECalenMonthView;
+        loadMonthView();
+        ActivateDefaultViewL(ECalenMonthView);
+        // Connect to the view ready signal so that we construct other view 
+        // once this view is shown
+        connect(&mController.MainWindow(), SIGNAL(viewReady()), 
+                        this, SLOT(handleMainViewReady()));
+        
+        mController.MainWindow().addView(mCalenMonthView);
+        mController.MainWindow().setCurrentView(mCalenMonthView);
+    }
+    
+    TRACE_EXIT_POINT;
+
+}
+
 // ----------------------------------------------------------------------------
 // CalenViewManager::~CalenViewManager
 // Destructor.
@@ -96,12 +158,22 @@
 {
 	TRACE_ENTRY_POINT;
 
-	delete mCalenMonthView;
-	delete mCalenDayView;
-	delete mSettingsView;
-	delete mDayViewDocLoader;
-	delete mDayViewAltDocLoader;
-	delete mMonthViewDocLoader;
+	if (mSettingsView) {
+		delete mSettingsView;
+		mSettingsView = 0;
+	}
+	if (mAgendaViewDocLoader) {
+		delete mAgendaViewDocLoader;
+		mAgendaViewDocLoader = 0;
+	}
+	if (mAgendaViewAltDocLoader) {
+		delete mAgendaViewAltDocLoader;
+		mAgendaViewAltDocLoader = 0;
+	}
+	if (mMonthViewDocLoader) {
+		delete mMonthViewDocLoader;
+		mMonthViewDocLoader = 0;
+	}
 	TRACE_EXIT_POINT;
 }
 
@@ -129,13 +201,13 @@
 		// Add month view to mainwindow.
 		mController.MainWindow().addView(mCalenMonthView);
 		mController.MainWindow().setCurrentView(mCalenMonthView);
-	} else if (view == ECalenDayView) {
-		mFirstView = ECalenDayView;
-		loadDayView();
-		ActivateDefaultViewL(ECalenDayView);
-		// Add day view to mainwindow.
-		mController.MainWindow().addView(mCalenDayView);
-		mController.MainWindow().setCurrentView(mCalenDayView);
+	} else if (view == ECalenAgendaView) {
+		mFirstView = ECalenAgendaView;
+		loadAgendaView();
+		ActivateDefaultViewL(ECalenAgendaView);
+		// Add agenda view to mainwindow.
+		mController.MainWindow().addView(mCalenAgendaView);
+		mController.MainWindow().setCurrentView(mCalenAgendaView);
 	}
 	TRACE_EXIT_POINT;
 }
@@ -176,37 +248,38 @@
 }
 
 // ----------------------------------------------------------------------------
-// CalenViewManager::loadDayView
-// Loads the day view frm the docml
+// CalenViewManager::loadAgendaView
+// Loads the agenda view frm the docml
 // (other items were commented in a header).
 // ----------------------------------------------------------------------------
 //
-void CalenViewManager::loadDayView()
+void CalenViewManager::loadAgendaView()
 {
 	bool loadSuccess = false;
-	// Create the day view docloader object.
-	mDayViewDocLoader = new CalenDocLoader(mController);
+	// Create the agenda view docloader object.
+	mAgendaViewDocLoader = new CalenDocLoader(mController);
 	
 	// Load default section
-	mDayViewDocLoader->load(CALEN_DAYVIEW_XML_FILE, &loadSuccess);
+	mAgendaViewDocLoader->load(CALEN_AGENDAVIEW_XML_FILE, &loadSuccess);
 	if (!loadSuccess) {
 		qFatal("calenviewmanager.cpp : Unable to load XML");
 	}
 	
-	// Get the calenday view from the loader
-	mCalenDayView = static_cast<CalenDayView *> (mDayViewDocLoader->findWidget(CALEN_DAYVIEW));
-	if (!mCalenDayView) {
-		qFatal("calenviewmanager.cpp : Unable to find day view");
+	// Get the calenagenda view from the loader
+	mCalenAgendaView = static_cast<CalenAgendaView *> (mAgendaViewDocLoader->findWidget(CALEN_AGENDAVIEW));
+	if (!mCalenAgendaView) {
+		qFatal("calenviewmanager.cpp : Unable to find agenda view");
 	}
 	
-	// Setup the day view
-	mCalenDayView->setupView(mDayViewDocLoader);
+	// Setup the agenda view
+	mCalenAgendaView->setupView(mAgendaViewDocLoader);
 	
 	// The following code is done to provide swipe support
-	// in day view. Idea is to create two views and keep
+	// in agenda view. Idea is to create two views and keep
 	// switiching between these two using view switch effects
 	// to provide an illusion of flow to the user
-	loadAlternateDayView();
+	loadAlternateAgendaView();
+	
 }
 
 // ----------------------------------------------------------------------------
@@ -225,6 +298,10 @@
 	// Construct other views
 	constructOtherViews();
 	
+    // Install the event filter for the controller once the view is ready
+    // so that system language/locale changes can be handled
+	//hbInstance->allMainWindows().first()->installEventFilter(&mController);
+	
 	// disconnect the view ready signal as we dont need it anymore
 	disconnect(&mController.MainWindow(), SIGNAL(viewReady()), 
 			   this, SLOT(handleMainViewReady()));
@@ -241,18 +318,29 @@
 	// Load all other views except mFirstView
 	
 	// NOTE: Right now, since Calendar has only two views, month view 
-	// and day view, when client launches day view, then there is no need
+	// 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 day view, then we need to construct those views if they are
+	// 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 day view is launched, dont construct month view
-	if (mFirstView == ECalenDayView) {
-		// Construct other views as mentioned above
-		return;
-	} else {
+	// view. Hence, if agenda view is launched, dont construct month view
+	if (mFirstView != ECalenAgendaView) // check if agenda view is not already loaded
+		{
 		// Load all other views 
-		loadDayView();
+		loadAgendaView();
+		
+		if (!mCalenDayView) {
+			mCalenDayView = new CalenDayView(mController.Services());
+		}
 	}
+	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();
+	    }
 
 	// Setup the settings view
 	mSettingsView = new CalenSettingsView(mController.Services());
@@ -277,31 +365,35 @@
 void CalenViewManager::showNextDay()
 {
     // Set the context for the next day
-    QDateTime currentDay = mController.Services().Context().focusDateAndTimeL();
+    QDateTime currentDay = mController.Services().Context().focusDateAndTime();
     currentDay = currentDay.addDays(1);
-    mController.Services().Context().setFocusDateL(currentDay, ECalenDayView);
-    mCurrentViewId = ECalenDayView;
+    mController.Services().Context().setFocusDate(currentDay);
+    mCurrentViewId = ECalenAgendaView;
     // Check which is the currently activated view
-    if (mController.MainWindow().currentView() == mCalenDayView) {
-        HbEffect::add(mCalenDayView,
+    if (mController.MainWindow().currentView() == mCalenAgendaView) {
+        mCalenAgendaView->disconnectAboutToQuitEvent(); // disconnect mCalenAgendaView to get aboutToQuit Events
+        HbEffect::add(mCalenAgendaView,
                       ":/fxml/view_hide",
                       "hide");
-        HbEffect::add(mCalenDayViewAlt,
+        HbEffect::add(mCalenAgendaViewAlt,
                       ":/fxml/view_show",
                       "show");
-        // Set the other day view as the current view
+        // Set the other agenda view as the current view
         // and animate to provide illusion of swipe
-        mCalenDayViewAlt->doPopulation();
-        mController.MainWindow().setCurrentView(mCalenDayViewAlt, true, Hb::ViewSwitchUseNormalAnim);
+		// It would also connect for aboutToQuit events
+        mCalenAgendaViewAlt->doPopulation();
+        mController.MainWindow().setCurrentView(mCalenAgendaViewAlt, true, Hb::ViewSwitchUseNormalAnim);
     } else {
-        HbEffect::add(mCalenDayViewAlt,
+    mCalenAgendaViewAlt->disconnectAboutToQuitEvent(); // disconnect mCalenAgendaViewAlt to get aboutToQuit Events
+        HbEffect::add(mCalenAgendaViewAlt,
                       ":/fxml/view_hide",
                       "hide");
-        HbEffect::add(mCalenDayView,
+        HbEffect::add(mCalenAgendaView,
                       ":/fxml/view_show",
                       "show");
-        mCalenDayView->doPopulation();
-        mController.MainWindow().setCurrentView(mCalenDayView, true, Hb::ViewSwitchUseNormalAnim);
+		// It would also connect for aboutToQuit events
+        mCalenAgendaView->doPopulation();
+        mController.MainWindow().setCurrentView(mCalenAgendaView, true, Hb::ViewSwitchUseNormalAnim);
     }
 }
 
@@ -312,42 +404,55 @@
 //
 void CalenViewManager::showPrevDay()
 {
-    QDateTime currentDay = mController.Services().Context().focusDateAndTimeL();
+    QDateTime currentDay = mController.Services().Context().focusDateAndTime();
     currentDay = currentDay.addDays(-1);
-    mController.Services().Context().setFocusDateL(currentDay, ECalenDayView);
-    mCurrentViewId = ECalenDayView;
-    if (mController.MainWindow().currentView() == mCalenDayView) {
-        HbEffect::add(mCalenDayView,
+    mController.Services().Context().setFocusDate(currentDay);
+    mCurrentViewId = ECalenAgendaView;
+    if (mController.MainWindow().currentView() == mCalenAgendaView) {
+    mCalenAgendaView->disconnectAboutToQuitEvent(); // disconnect mCalenAgendaView to get aboutToQuit Events
+        HbEffect::add(mCalenAgendaView,
                       ":/fxml/view_hide_back",
                       "hide");
-        HbEffect::add(mCalenDayViewAlt,
+        HbEffect::add(mCalenAgendaViewAlt,
                       ":/fxml/view_show_back",
                       "show");
-        mCalenDayViewAlt->doPopulation();
-        mController.MainWindow().setCurrentView(mCalenDayViewAlt, true, Hb::ViewSwitchUseNormalAnim);
+		// It would also connect for aboutToQuit events
+        mCalenAgendaViewAlt->doPopulation();
+        mController.MainWindow().setCurrentView(mCalenAgendaViewAlt, true, Hb::ViewSwitchUseNormalAnim);
     } else {
-        HbEffect::add(mCalenDayViewAlt,
+    mCalenAgendaViewAlt->disconnectAboutToQuitEvent(); // disconnect mCalenAgendaViewAlt to get aboutToQuit Events
+        HbEffect::add(mCalenAgendaViewAlt,
                       ":/fxml/view_hide_back",
                       "hide");
-        HbEffect::add(mCalenDayView,
+        HbEffect::add(mCalenAgendaView,
                       ":/fxml/view_show_back",
                       "show");
-        mCalenDayView->doPopulation();
-        mController.MainWindow().setCurrentView(mCalenDayView, true, Hb::ViewSwitchUseNormalAnim);
+		// It would also connect for aboutToQuit events
+        mCalenAgendaView->doPopulation();
+        mController.MainWindow().setCurrentView(mCalenAgendaView, true, Hb::ViewSwitchUseNormalAnim);
     }
 }
 
 // ----------------------------------------------------------------------------
-// CalenViewManager::removeDayViews
-// other items were commented in a header
+// CalenViewManager::removePreviousView
+// Remove the previous view from main window
 // ----------------------------------------------------------------------------
 //
-void CalenViewManager::removeDayViews()
+void CalenViewManager::removePreviousView()
 {
-    mCalenDayView->clearListModel();
-    mCalenDayViewAlt->clearListModel();
-    mController.MainWindow().removeView(mCalenDayView);
-    mController.MainWindow().removeView(mCalenDayViewAlt);
+	if (ECalenAgendaView == mCurrentViewId) {
+		mCalenAgendaView->clearListModel();
+		mCalenAgendaViewAlt->clearListModel();
+		mController.MainWindow().removeView(mCalenAgendaView);
+		mController.MainWindow().removeView(mCalenAgendaViewAlt);
+	} else if (ECalenDayView == mCurrentViewId) {
+		mController.MainWindow().removeView(mCalenDayView);
+	} else {
+		if (ECalenMonthView == mCurrentViewId) {
+			mController.MainWindow().removeView(mCalenMonthView);
+		}
+	}
+
 }
 
 // ----------------------------------------------------------------------------
@@ -362,8 +467,8 @@
 	mCurrentViewId = defaultView;
 	if (ECalenMonthView == defaultView) {
 		mCalenMonthView->doPopulation();
-	} else if (ECalenDayView == defaultView) {
-		mCalenDayView->doPopulation();
+	} else if (ECalenAgendaView == defaultView) {
+		mCalenAgendaView->doPopulation();
 	}
 	TRACE_EXIT_POINT;
 }
@@ -391,36 +496,40 @@
 		    mCalenMonthView->doPopulation();
 		    mController.MainWindow().setCurrentView(mCalenMonthView);
 			break;
-		case ECalenDayView:
-		    if (mController.MainWindow().currentView() == mCalenDayView) {
+		case ECalenAgendaView:
+		    if (mController.MainWindow().currentView() == mCalenAgendaView) {
 		        // This happens when settings view or event viewer is opened
 		        // from the agenda view. Simply repopulate the view
-		    	if (mCalenDayView) {
-					mCalenDayView->doPopulation();
-					mController.MainWindow().setCurrentView(mCalenDayView);
-		    	}
-		    } else if (mController.MainWindow().currentView() == mCalenDayViewAlt){
+		    	if (mCalenAgendaView) {
+		    		mCalenAgendaView->doPopulation();
+					mController.MainWindow().setCurrentView(mCalenAgendaView);
+		    	} 
+		    } else if (mController.MainWindow().currentView() == mCalenAgendaViewAlt){
 		        // This happens when settings view or event viewer is opened
 		        // from the agenda view. Simply repopulate the view
-		    	if (mCalenDayViewAlt) {
-					mCalenDayViewAlt->doPopulation();
-					mController.MainWindow().setCurrentView(mCalenDayViewAlt);
+		    	if (mCalenAgendaViewAlt) {
+		    		mCalenAgendaViewAlt->doPopulation();
+		    		mController.MainWindow().setCurrentView(mCalenAgendaViewAlt);
 		    	}
 		    } else {
-		        // This is called whenever the day view is opened from the month
-		        // view. Since the day view is not added to the mainwindow,
-		        // add the day views to mainwindow and set any one of them as 
+		        // This is called whenever the agenda view is opened from the month
+		        // view. Since the agenda view is not added to the mainwindow,
+		        // add the agenda views to mainwindow and set any one of them as 
 		        // current view
-		    	if (mCalenDayView) {
-		    		mCalenDayView->doPopulation();
-					mController.MainWindow().addView(mCalenDayView);
-					mController.MainWindow().setCurrentView(mCalenDayView);
-					mController.MainWindow().addView(mCalenDayViewAlt);
+		    	if (mCalenAgendaView) {
+		    		mCalenAgendaView->doPopulation();
+		    		mController.MainWindow().addView(mCalenAgendaView);
+		    		mController.MainWindow().setCurrentView(mCalenAgendaView);
+		    		mController.MainWindow().addView(mCalenAgendaViewAlt);
 		    	}
 		    }
 			break;
-		case ECalenLandscapeDayView:
-			// For later implementation
+		case ECalenShowSettings:
+		    mSettingsView->refreshView();
+			break;
+		case ECalenDayView:
+			mCalenDayView->doPopulation();
+			mController.MainWindow().setCurrentView(mCalenDayView);
 			break;
 	}
 	TRACE_EXIT_POINT;
@@ -434,12 +543,19 @@
 //
 void CalenViewManager::launchEventView()
 {
+    // capture cureent view in case app closed/quits from AgendaEventViewer
+    if (mCalenMonthView) {
+    mCalenMonthView->captureScreenshot(true);
+    }
+    else if (mCalenAgendaView) {
+    	mCalenAgendaView->captureScreenshot(true);
+    }
 	MCalenContext& context = mController.Services().Context();
 	AgendaEntry viewEntry= mController.Services().agendaInterface()->fetchById(
 			context.instanceId().mEntryLocalUid );
 	if (viewEntry.isRepeating() 
 			&& viewEntry.type() != AgendaEntry::TypeTodo) {
-		QDateTime startDateTime = context.focusDateAndTimeL();
+		QDateTime startDateTime = context.focusDateAndTime();
 		viewEntry.setStartAndEndTime(startDateTime, 
 		                     startDateTime.addSecs(viewEntry.durationInSecs()));
 	}
@@ -462,30 +578,30 @@
 }
 
 // ----------------------------------------------------------------------------
-// CalenViewManager::loadAlternateDayView
+// CalenViewManager::loadAlternateAgendaView
 // other items were commented in a header
 // ----------------------------------------------------------------------------
 //
-void CalenViewManager::loadAlternateDayView()
+void CalenViewManager::loadAlternateAgendaView()
 {
     bool loadSuccess = false;
-    // Create the day view docloader object.
-    mDayViewAltDocLoader = new CalenDocLoader(mController);
+    // Create the agenda view docloader object.
+    mAgendaViewAltDocLoader = new CalenDocLoader(mController);
 
     // Load default section
-    mDayViewAltDocLoader->load(CALEN_DAYVIEW_XML_FILE, &loadSuccess);
+    mAgendaViewAltDocLoader->load(CALEN_AGENDAVIEW_XML_FILE, &loadSuccess);
     if (!loadSuccess) {
         qFatal("calenviewmanager.cpp : Unable to load XML");
     }
 
-    // Get the calenday view from the loader
-    mCalenDayViewAlt = static_cast<CalenDayView *> (mDayViewAltDocLoader->findWidget(CALEN_DAYVIEW));
-    if (!mCalenDayViewAlt) {
-        qFatal("calenviewmanager.cpp : Unable to find alternate day view");
+    // Get the calenagenda view from the loader
+    mCalenAgendaViewAlt = static_cast<CalenAgendaView *> (mAgendaViewAltDocLoader->findWidget(CALEN_AGENDAVIEW));
+    if (!mCalenAgendaViewAlt) {
+        qFatal("calenviewmanager.cpp : Unable to find alternate agenda view");
     }
 
-    // Setup the day view
-    mCalenDayViewAlt->setupView(mDayViewAltDocLoader);
+    // Setup the agenda view
+    mCalenAgendaViewAlt->setupView(mAgendaViewAltDocLoader);
 }
 
 // ----------------------------------------------------------------------------
@@ -501,25 +617,33 @@
 	
 	switch (command.Command()) {
 		case ECalenMonthView:
-		    removeDayViews();
+			// First remove the previous native view before 
+			// we set the mCurrentViewId with the current view
+			removePreviousView();
 			// Add month view to mainwindow.
 			mController.MainWindow().addView(mCalenMonthView);
 			mCurrentViewId = ECalenMonthView;
 			activateCurrentView();
 			break;
+		case ECalenAgendaView:
+			// First remove the previous native view before 
+			// we set the mCurrentViewId with the current view
+			removePreviousView();
+			mCurrentViewId = ECalenAgendaView;
+			activateCurrentView();
+			break;
 		case ECalenDayView:
-			// Remove month view from mainwindow.
-			mController.MainWindow().removeView(mCalenMonthView);
-			mCurrentViewId = ECalenDayView;
-			activateCurrentView();
+            {
+            // First add new view and use QueuedConnection to assure that
+            // view is ready before setting it as the current view
+			mController.MainWindow().addView(mCalenDayView);
+			QMetaObject::invokeMethod(this, "handleDayViewReady", 
+			    Qt::QueuedConnection);
+			}
 			break;
 		case ECalenEventView:
 			launchEventView();
 			break;
-		case ECalenLandscapeDayView:
-			mCurrentViewId = ECalenLandscapeDayView;
-			activateCurrentView();
-			break;
 		case ECalenStartActiveStep:
 			activateCurrentView();
 			break;
@@ -545,7 +669,6 @@
 {
 	TRACE_ENTRY_POINT;
 	switch (notification) {
-		case ECalenNotifySystemLocaleChanged:
 		case ECalenNotifyExternalDatabaseChanged:
 		case ECalenNotifyDialogClosed:
 		case ECalenNotifyMultipleEntriesDeleted:
@@ -553,8 +676,26 @@
 		case ECalenNotifyEntryDeleted:
 		case ECalenNotifyInstanceDeleted:
 		case ECalenNotifyEntryClosed:
+		case ECalenNotifySystemLocaleChanged:
+		case ECalenNotifySystemLanguageChanged:
+		    {
+		    activateCurrentView(); 
+		    }
+		    break;
 		case ECalenNotifySettingsClosed:
+		    {
+		    //when setting view closed , switch to the previous view
+		    mCurrentViewId = mPreviousViewsId ;
 			mController.Services().IssueCommandL(ECalenStartActiveStep);
+			
+			 // invalidate captured screenshots as either agenda view is activated now
+			if (mCalenMonthView) {
+			mCalenMonthView->captureScreenshot();
+			} else if (mCalenAgendaView) {
+				mCalenAgendaView->captureScreenshot();
+			}
+
+		    }
 			break;
 		default:
 			break;
@@ -581,17 +722,20 @@
 //
 void CalenViewManager::handleViewingCompleted(const QDate date)
 {
-	qDebug() <<"calendar: CalenViewManager::handleEditingCompleted -->";
 	
 	// Cleanup.
 	mCalenEventViewer->deleteLater();
 	if (!date.isNull() && date.isValid()) {
-	mController.Services().Context().setFocusDateL(QDateTime(date), 
-	                                               ECalenDayView);
+	mController.Services().Context().setFocusDate(QDateTime(date));
 	}
 	mController.Services().IssueNotificationL(ECalenNotifyEntryClosed);
 	
-	qDebug() <<"calendar: CalenViewManager::handleEditingCompleted <--";
+	// invalidate captured screenshots as either agenda view is activated now
+	if (mCalenMonthView) {
+	mCalenMonthView->captureScreenshot();
+	} else if (mCalenAgendaView) {
+		mCalenAgendaView->captureScreenshot();
+	}
 }
 
 // ----------------------------------------------------------------------------
@@ -602,11 +746,9 @@
 //
 void CalenViewManager::handleEditingStarted()
 {
-	qDebug() <<"calendar: CalenViewManager::handleEditingStarted -->";
 	
 	mController.IssueCommandL(ECalenEditEntryFromViewer);
 	
-	qDebug() <<"calendar: CalenViewManager::handleEditingStarted <--";
 }
 
 // ----------------------------------------------------------------------------
@@ -617,11 +759,9 @@
 //
 void CalenViewManager::handleEditingCompleted()
 {
-	qDebug() <<"calendar: CalenViewManager::handleEditingStarted -->";
 	
 	mController.Services().IssueNotificationL(ECalenNotifyEditorClosedFromViewer);
 	
-	qDebug() <<"calendar: CalenViewManager::handleEditingStarted <--";
 }
 
 // ----------------------------------------------------------------------------
@@ -632,11 +772,9 @@
 //
 void CalenViewManager::handleDeletingStarted()
 {
-	qDebug() <<"calendar: CalenViewManager::handleEditingStarted -->";
 	
 	mController.IssueCommandL(ECalenDeleteEntryFromViewer);
 	
-	qDebug() <<"calendar: CalenViewManager::handleEditingStarted <--";
 }
 
 // ----------------------------------------------------------------------------
@@ -647,11 +785,17 @@
 //
 void CalenViewManager::handleDeletingCompleted()
 {
-	qDebug() <<"calendar: CalenViewManager::handleEditingStarted -->";
 	
 	mController.Services().IssueNotificationL(ECalenNotifyEntryDeleted);
+
+	// invalidate captured screenshots as either month view or agenda view is activated now
+    if (mCalenMonthView) {
+    mCalenMonthView->captureScreenshot();
+    } else if (mCalenAgendaView) {
+    	mCalenAgendaView->captureScreenshot();
+    }
+
 	
-	qDebug() <<"calendar: CalenViewManager::handleEditingStarted <--";
 }
 
 // ----------------------------------------------------------------------------
@@ -663,7 +807,19 @@
 void CalenViewManager::handleInstanceViewCreation(int status)
 {
 	Q_UNUSED(status);
-	mCalenMonthView->fetchEntriesAndUpdateModel();
+	// handleInstanceViewCreation function is called only once. Now that the instance
+	// view creation is successfull. Events need to be populated on screen
+	// Ideal colution should be to call a uniform function, e.g. PopulateEvents
+	// where PopulateEvents should be implemeted by all views. Since the current
+	// solution for the month view implements the construction in two phases so 
+	// it needs to be refactored and a common solution needs to be put here. So 
+	// that code doesn't break if another view is added tomorow
+	if (mCalenMonthView) {
+		mCalenMonthView->fetchEntriesAndUpdateModel();
+	}
+	else if (mCalenAgendaView) {
+		mCalenAgendaView->doPopulation();
+	}
 }
 
 // ----------------------------------------------------------------------------
@@ -677,4 +833,43 @@
 	// Nothing Yet
 	Q_UNUSED(status);
 }
+
+// ----------------------------------------------------------------------------
+// CalenViewManager::handleDayViewReady
+// Launches day view when it is added to MainWindow and ready to be displayed
+// ----------------------------------------------------------------------------
+//
+void CalenViewManager::handleDayViewReady() 
+{
+    // Removes current view
+    // Notice: removing view should be done after new view is set as current to
+    // avoid situation that there is no current view in application
+    removePreviousView();
+    
+    // Sets and activates day view
+    mCurrentViewId = ECalenDayView;
+    activateCurrentView();
+}
+
+// ----------------------------------------------------------------------------
+// CalenViewManager::launchSettingsView
+// Launches settings view
+// (other items were commented in a header).
+// ----------------------------------------------------------------------------
+//
+void CalenViewManager::launchSettingsView()
+{
+    mPreviousViewsId = mCurrentViewId ;  
+    mCurrentViewId = ECalenShowSettings;
+    mSettingsView->initializeForm();
+    mController.Services().MainWindow().setCurrentView(mSettingsView);
+    
+    // capture cureent view in case app closed/quits from settings view
+    if (mCalenMonthView){
+    mCalenMonthView->captureScreenshot(true);
+    } else if(mCalenAgendaView){
+    	mCalenAgendaView->captureScreenshot(true);
+    }
+}
+
 // End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/customisationmanager/bwins/calencustomisationmanageru.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,27 @@
+EXPORTS
+	?SetPluginAvailabilityL@CCalenCustomisationManager@@QAEXVTUid@@H@Z @ 1 NONAME ; void CCalenCustomisationManager::SetPluginAvailabilityL(class TUid, int)
+	?PluginInfoFinder@CCalenCustomisationManager@@SAHPBVTUid@@ABVCImplementationInformation@@@Z @ 2 NONAME ; int CCalenCustomisationManager::PluginInfoFinder(class TUid const *, class CImplementationInformation const &)
+	?HandleNotificationL@CCalenCustomisationManager@@AAEXW4TCalenNotification@@@Z @ 3 NONAME ; void CCalenCustomisationManager::HandleNotificationL(enum TCalenNotification)
+	?HandleNotification@CCalenCustomisationManager@@UAEXW4TCalenNotification@@@Z @ 4 NONAME ; void CCalenCustomisationManager::HandleNotification(enum TCalenNotification)
+	?CreateActivePluginListL@CCalenCustomisationManager@@AAEXXZ @ 5 NONAME ; void CCalenCustomisationManager::CreateActivePluginListL(void)
+	?LoadPluginsBasedOnVariantL@CCalenCustomisationManager@@AAEXXZ @ 6 NONAME ; void CCalenCustomisationManager::LoadPluginsBasedOnVariantL(void)
+	?AddPluginL@CCalenCustomisationManager@@AAEXPAVCCalenCustomisation@@VTUid@@@Z @ 7 NONAME ; void CCalenCustomisationManager::AddPluginL(class CCalenCustomisation *, class TUid)
+	?OfferMenu@CCalenCustomisationManager@@QAEXPAVHbMenu@@@Z @ 8 NONAME ; void CCalenCustomisationManager::OfferMenu(class HbMenu *)
+	?PluginInfoArray@CCalenCustomisationManager@@QBEABV?$RPointerArray@VCImplementationInformation@@@@XZ @ 9 NONAME ; class RPointerArray<class CImplementationInformation> const & CCalenCustomisationManager::PluginInfoArray(void) const
+	?DisablePluginL@CCalenCustomisationManager@@AAEXVTUid@@@Z @ 10 NONAME ; void CCalenCustomisationManager::DisablePluginL(class TUid)
+	??_ECCalenCustomisationManager@@UAE@I@Z @ 11 NONAME ; CCalenCustomisationManager::~CCalenCustomisationManager(unsigned int)
+	?InfobarTextL@CCalenCustomisationManager@@QAEPAVQString@@XZ @ 12 NONAME ; class QString * CCalenCustomisationManager::InfobarTextL(void)
+	?NewL@CCalenCustomisationManager@@SAPAV1@AAVMCalenServicesFactory@@AAVMCalenServices@@@Z @ 13 NONAME ; class CCalenCustomisationManager * CCalenCustomisationManager::NewL(class MCalenServicesFactory &, class MCalenServices &)
+	?ActivePlugins@CCalenCustomisationManager@@QBEABV?$RArray@VTUid@@@@XZ @ 14 NONAME ; class RArray<class TUid> const & CCalenCustomisationManager::ActivePlugins(void) const
+	?PluginAvailabilityFinder@CCalenCustomisationManager@@CAHPBVTUid@@ABUTCalenPluginAvailability@1@@Z @ 15 NONAME ; int CCalenCustomisationManager::PluginAvailabilityFinder(class TUid const *, struct CCalenCustomisationManager::TCalenPluginAvailability const &)
+	?UnloadPluginsL@CCalenCustomisationManager@@QAEXABV?$RArray@VTUid@@@@@Z @ 16 NONAME ; void CCalenCustomisationManager::UnloadPluginsL(class RArray<class TUid> const &)
+	??1CCalenCustomisationManager@@UAE@XZ @ 17 NONAME ; CCalenCustomisationManager::~CCalenCustomisationManager(void)
+	?LoadPluginL@CCalenCustomisationManager@@AAEXVTUid@@@Z @ 18 NONAME ; void CCalenCustomisationManager::LoadPluginL(class TUid)
+	?GetCommandHandlerL@CCalenCustomisationManager@@QAEPAVMCalenCommandHandler@@H@Z @ 19 NONAME ; class MCalenCommandHandler * CCalenCustomisationManager::GetCommandHandlerL(int)
+	??0CCalenCustomisationManager@@AAE@AAVMCalenServicesFactory@@AAVMCalenServices@@@Z @ 20 NONAME ; CCalenCustomisationManager::CCalenCustomisationManager(class MCalenServicesFactory &, class MCalenServices &)
+	?DoImmediatePluginLoadingL@CCalenCustomisationManager@@AAEXXZ @ 21 NONAME ; void CCalenCustomisationManager::DoImmediatePluginLoadingL(void)
+	?FindPluginL@CCalenCustomisationManager@@AAEPAVCCalenCustomisation@@VTUid@@@Z @ 22 NONAME ; class CCalenCustomisation * CCalenCustomisationManager::FindPluginL(class TUid)
+	?ConstructL@CCalenCustomisationManager@@AAEXXZ @ 23 NONAME ; void CCalenCustomisationManager::ConstructL(void)
+	?EnablePluginL@CCalenCustomisationManager@@AAEXVTUid@@@Z @ 24 NONAME ; void CCalenCustomisationManager::EnablePluginL(class TUid)
+	?Infobar@CCalenCustomisationManager@@QAEPAVHbWidget@@XZ @ 25 NONAME ; class HbWidget * CCalenCustomisationManager::Infobar(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/customisationmanager/eabi/calencustomisationmanageru.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,32 @@
+EXPORTS
+	_ZN26CCalenCustomisationManager10AddPluginLEP19CCalenCustomisation4TUid @ 1 NONAME
+	_ZN26CCalenCustomisationManager10ConstructLEv @ 2 NONAME
+	_ZN26CCalenCustomisationManager11FindPluginLE4TUid @ 3 NONAME
+	_ZN26CCalenCustomisationManager11LoadPluginLE4TUid @ 4 NONAME
+	_ZN26CCalenCustomisationManager12InfobarTextLEv @ 5 NONAME
+	_ZN26CCalenCustomisationManager13EnablePluginLE4TUid @ 6 NONAME
+	_ZN26CCalenCustomisationManager14DisablePluginLE4TUid @ 7 NONAME
+	_ZN26CCalenCustomisationManager14UnloadPluginsLERK6RArrayI4TUidE @ 8 NONAME
+	_ZN26CCalenCustomisationManager16PluginInfoFinderEPK4TUidRK26CImplementationInformation @ 9 NONAME
+	_ZN26CCalenCustomisationManager18GetCommandHandlerLEi @ 10 NONAME
+	_ZN26CCalenCustomisationManager18HandleNotificationE18TCalenNotification @ 11 NONAME
+	_ZN26CCalenCustomisationManager19HandleNotificationLE18TCalenNotification @ 12 NONAME
+	_ZN26CCalenCustomisationManager22SetPluginAvailabilityLE4TUidi @ 13 NONAME
+	_ZN26CCalenCustomisationManager23CreateActivePluginListLEv @ 14 NONAME
+	_ZN26CCalenCustomisationManager24PluginAvailabilityFinderEPK4TUidRKNS_24TCalenPluginAvailabilityE @ 15 NONAME
+	_ZN26CCalenCustomisationManager25DoImmediatePluginLoadingLEv @ 16 NONAME
+	_ZN26CCalenCustomisationManager26LoadPluginsBasedOnVariantLEv @ 17 NONAME
+	_ZN26CCalenCustomisationManager4NewLER21MCalenServicesFactoryR14MCalenServices @ 18 NONAME
+	_ZN26CCalenCustomisationManager7InfobarEv @ 19 NONAME
+	_ZN26CCalenCustomisationManager9OfferMenuEP6HbMenu @ 20 NONAME
+	_ZN26CCalenCustomisationManagerC1ER21MCalenServicesFactoryR14MCalenServices @ 21 NONAME
+	_ZN26CCalenCustomisationManagerC2ER21MCalenServicesFactoryR14MCalenServices @ 22 NONAME
+	_ZN26CCalenCustomisationManagerD0Ev @ 23 NONAME
+	_ZN26CCalenCustomisationManagerD1Ev @ 24 NONAME
+	_ZN26CCalenCustomisationManagerD2Ev @ 25 NONAME
+	_ZNK26CCalenCustomisationManager13ActivePluginsEv @ 26 NONAME
+	_ZNK26CCalenCustomisationManager15PluginInfoArrayEv @ 27 NONAME
+	_ZTI26CCalenCustomisationManager @ 28 NONAME
+	_ZTV26CCalenCustomisationManager @ 29 NONAME
+	_ZThn4_N26CCalenCustomisationManager18HandleNotificationE18TCalenNotification @ 30 NONAME
+
--- a/calendarui/customisationmanager/inc/calencustomisationmanager.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/customisationmanager/inc/calencustomisationmanager.h	Thu Jul 22 16:32:51 2010 +0100
@@ -70,6 +70,9 @@
                                        MCalenServicesFactory& aFactory,                                       
 									   									 MCalenServices& aServices );
 
+    static TBool PluginInfoFinder( const TUid* aUid  , 
+								const CImplementationInformation&  aArrayItem);
+    
     /**
      * Destructor.
      */
@@ -145,6 +148,8 @@
     void AddPluginL( CCalenCustomisation* aPlugin, TUid aUid );     
 
     void CreateActivePluginListL();
+    
+    void LoadPluginsBasedOnVariantL();
 
     void EnablePluginL( TUid aPluginUid );
 
--- a/calendarui/customisationmanager/src/calencustomisationmanager.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/customisationmanager/src/calencustomisationmanager.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -27,8 +27,10 @@
 #include "calenservices.h"
 #include "calencustomisation.h"
 #include <ecom/ecom.h>
+#include <e32lang.h>
 #include "calenservices.h"
 #include "calenservicesfactory.h"
+#include "CalenUid.h"
 
 
 
@@ -183,40 +185,96 @@
     iActivePlugins.Reset();
     iRomBasedPlugins.Reset();
 
-    //Added resolver for corolla release
-    // Set resolver params
-    TLanguage lang = User::Language();
-    TBuf8<40> langStr;
-    langStr.Format( _L8("language(%d)"), lang );
-
-    TEComResolverParams resolverParams;
-    resolverParams.SetDataType( langStr );
-    resolverParams.SetGenericMatch( ETrue );
+    REComSession::ListImplementationsL( KCalenCustomisationInterfaceUid, iPluginInfo );
     
-   // REComSession::ListImplementationsL( KCalenCustomisationInterfaceUid, resolverParams, iPluginInfo );
-    REComSession::ListImplementationsL( KCalenCustomisationInterfaceUid, iPluginInfo );
+    LoadPluginsBasedOnVariantL();
+    
     TInt pluginCount = iPluginInfo.Count();
     
-    for ( TInt pluginIndex(0); pluginIndex < pluginCount; ++pluginIndex )
-        {
-        TUid pluginUid = iPluginInfo[pluginIndex]->ImplementationUid();
-        
-            // If the plugin can not be found or if it is enabled
-            // add it to the list of active plugins
-            iActivePlugins.AppendL( pluginUid );
-            
-            // If the plugin is rom-based, store its uid
-            if ( iPluginInfo[pluginIndex]->RomBased() )
-                {
-                iRomBasedPlugins.AppendL( pluginUid );
-                }
-            
-        }
+    if(pluginCount) 
+		{
+    	for ( TInt pluginIndex(0); pluginIndex < pluginCount; ++pluginIndex )
+			{
+    		TUid pluginUid = iPluginInfo[pluginIndex]->ImplementationUid();
+
+    		// If the plugin can not be found or if it is enabled
+    		// add it to the list of active plugins
+    		iActivePlugins.AppendL( pluginUid );
+
+    		// If the plugin is rom-based, store its uid
+    		if ( iPluginInfo[pluginIndex]->RomBased() )
+				{
+    			iRomBasedPlugins.AppendL( pluginUid );
+				}
+
+			}
+		}
 
     TRACE_EXIT_POINT;
     }
 
 // ----------------------------------------------------------------------------
+// CCalenCustomisationManager::LoadPluginsBasedOnVariantL
+// Loads the plugin based on the language variant
+// ----------------------------------------------------------------------------
+//
+void CCalenCustomisationManager::LoadPluginsBasedOnVariantL()
+{
+	TLanguage languge = User::Language();
+	RArray<TUid> needsToBeRemoved;
+	
+	switch(languge) 
+		{
+		case ELangTaiwanChinese:
+		case ELangPrcChinese:
+		case ELangHongKongChinese:
+			// TODO: Remove the other regional plugins Thai, Vietnamese etc.
+			break;
+		case ELangThai:
+		case ELangEnglish_Thailand:
+			needsToBeRemoved.Append(KCalenChineseImplUid);
+			// TODO: Remove the other regional plugin Vietnamese.
+			break;
+		case ELangVietnamese:
+			needsToBeRemoved.Append(KCalenChineseImplUid);
+			// TODO: Remove the other regional plugin Thai.
+			break;
+
+		default:
+			needsToBeRemoved.Append(KCalenChineseImplUid);
+			// TODO: Remove the other regional plugins Thai, Vietnamese etc.
+			break;
+		}
+	TInt count = needsToBeRemoved.Count();
+	if(count) 
+		{
+		for(TInt i=0; i< count; i++) 
+			{
+			TInt index = iPluginInfo.Find(needsToBeRemoved[i],
+								CCalenCustomisationManager::PluginInfoFinder);
+			if( index != KErrNotFound ) 
+				{
+				CImplementationInformation* impl = iPluginInfo[index];
+				iPluginInfo.Remove(index);
+				delete impl;
+				}
+			}
+		}
+	needsToBeRemoved.Close();
+}
+
+// ----------------------------------------------------------------------------
+// CCalenCustomisationManager::PluginInfoFinder(
+// Matches an uid in pluginInfo.
+// ----------------------------------------------------------------------------
+//
+TBool CCalenCustomisationManager::PluginInfoFinder( const TUid* aUid,
+								const CImplementationInformation&  aArrayItem )
+{
+	return (*aUid  == aArrayItem.ImplementationUid() );
+}
+
+// ----------------------------------------------------------------------------
 // CCalenCustomisationManager::SetPluginAvailabilityL
 // Enables or disables the given plugin.
 // ----------------------------------------------------------------------------
@@ -368,9 +426,17 @@
 // ----------------------------------------------------------------------------
 //
 void CCalenCustomisationManager::HandleNotificationL(TCalenNotification aNotification)
-    {
-    TRACE_ENTRY_POINT;
-	Q_UNUSED(aNotification);
+	{
+	TRACE_ENTRY_POINT;
+	switch( aNotification )
+		{
+		case ECalenNotifySystemLanguageChanged:
+			{
+			CreateActivePluginListL();
+			DoImmediatePluginLoadingL();
+			}
+			break;
+	}
 	TRACE_EXIT_POINT;
     }  
 
@@ -443,17 +509,19 @@
 
     // Get a new services object from global data
     MCalenServices* services = iServicesFactory.NewServicesL();
-
+    CleanupStack::PushL( services );
     // Creates the plugin and transfers ownership of the services
     // object to the plugin.
     CCalenCustomisation* plugin = 
         CCalenCustomisation::CreateImplementationL( aPluginUid, services );
-    
-   CleanupStack::PushL( plugin );
+    CleanupStack::PushL( plugin );
 
     // the plugin array takes ownership of the plugin
     AddPluginL( plugin, aPluginUid  );
+    
+    // Cleanup
     CleanupStack::Pop( plugin );
+    CleanupStack::Pop( services );
 
 
     TRACE_EXIT_POINT;
--- a/calendarui/eabi/agendaeventvieweru.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-EXPORTS
-	_ZN17AgendaEventViewer4viewE11AgendaEntryNS_7ActionsE @ 1 NONAME
-	_ZN17AgendaEventViewer4viewERK5QFileNS_7ActionsE @ 2 NONAME
-	_ZN17AgendaEventViewer4viewEmNS_7ActionsE @ 3 NONAME
-	_ZN17AgendaEventViewerC1EP10AgendaUtilP7QObject @ 4 NONAME
-	_ZN17AgendaEventViewerC1EP7QObject @ 5 NONAME
-	_ZN17AgendaEventViewerC2EP10AgendaUtilP7QObject @ 6 NONAME
-	_ZN17AgendaEventViewerC2EP7QObject @ 7 NONAME
-	_ZN17AgendaEventViewerD0Ev @ 8 NONAME
-	_ZN17AgendaEventViewerD1Ev @ 9 NONAME
-	_ZN17AgendaEventViewerD2Ev @ 10 NONAME
-
--- a/calendarui/eabi/calencommonutilsu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-EXPORTS
-	_ZN14CalenDateUtils10isNullTimeER9QDateTime @ 1 NONAME
-	_ZN14CalenDateUtils10isValidDayERK9QDateTime @ 2 NONAME
-	_ZN14CalenDateUtils11defaultTimeERK9QDateTime @ 3 NONAME
-	_ZN14CalenDateUtils11onSameMonthERK9QDateTimeS2_ @ 4 NONAME
-	_ZN14CalenDateUtils14beginningOfDayERK9QDateTime @ 5 NONAME
-	_ZN14CalenDateUtils16displayTimeOnDayERK9QDateTimeS2_ @ 6 NONAME
-	_ZN14CalenDateUtils16limitToValidTimeERK9QDateTime @ 7 NONAME
-	_ZN14CalenDateUtils19roundToPreviousHourERK9QDateTime @ 8 NONAME
-	_ZN14CalenDateUtils19roundToPreviousHourERKi @ 9 NONAME
-	_ZN14CalenDateUtils19timeRangesIntersectERK9QDateTimeS2_S2_S2_ @ 10 NONAME
-	_ZN14CalenDateUtils3nowEv @ 11 NONAME
-	_ZN14CalenDateUtils5todayEv @ 12 NONAME
-	_ZN14CalenDateUtils6pastOfERK9QDateTimei @ 13 NONAME
-	_ZN14CalenDateUtils7maxTimeEv @ 14 NONAME
-	_ZN14CalenDateUtils7minTimeEv @ 15 NONAME
-	_ZN14CalenDateUtils8futureOfERK9QDateTimei @ 16 NONAME
-	_ZN14CalenDateUtils9isOnTodayERK9QDateTime @ 17 NONAME
-	_ZN14CalenDateUtils9onSameDayERK9QDateTimeS2_ @ 18 NONAME
-	_ZN14CalenDateUtils9timeOfDayERK9QDateTime @ 19 NONAME
-	_ZN16CalenAgendaUtils17endsAtStartOfDayLER11AgendaEntryRK9QDateTime @ 20 NONAME
-	_ZN16CalenAgendaUtils30removeEntriesEndingAtMidnightLER5QListI11AgendaEntryERK9QDateTime @ 21 NONAME
-
--- a/calendarui/eabi/calencontrolleru.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-EXPORTS
-	_ZN16CCalenController10MainWindowEv @ 1 NONAME
-	_ZN16CCalenController11ViewManagerEv @ 2 NONAME
-	_ZN16CCalenController12InfobarTextLEv @ 3 NONAME
-	_ZN16CCalenController12NewServicesLEv @ 4 NONAME
-	_ZN16CCalenController12getFirstViewEv @ 5 NONAME
-	_ZN16CCalenController13IssueCommandLEi @ 6 NONAME
-	_ZN16CCalenController15agendaInterfaceEv @ 7 NONAME
-	_ZN16CCalenController17SetDefaultContextEv @ 8 NONAME
-	_ZN16CCalenController18GetCommandHandlerLEi @ 9 NONAME
-	_ZN16CCalenController19CancelNotificationsEP25MCalenNotificationHandler @ 10 NONAME
-	_ZN16CCalenController20CustomisationManagerEv @ 11 NONAME
-	_ZN16CCalenController21BroadcastNotificationE18TCalenNotification @ 12 NONAME
-	_ZN16CCalenController21ReleaseCustomisationsEv @ 13 NONAME
-	_ZN16CCalenController21checkMultipleCreationEv @ 14 NONAME
-	_ZN16CCalenController24handleServiceManagerSlotEiRK9QDateTime @ 15 NONAME
-	_ZN16CCalenController25RegisterForNotificationsLEP25MCalenNotificationHandler18TCalenNotification @ 16 NONAME
-	_ZN16CCalenController25RegisterForNotificationsLEP25MCalenNotificationHandlerR6RArrayI18TCalenNotificationE @ 17 NONAME
-	_ZN16CCalenController7InfobarEv @ 18 NONAME
-	_ZN16CCalenController7ReleaseEv @ 19 NONAME
-	_ZN16CCalenController7contextEv @ 20 NONAME
-	_ZN16CCalenController8NotifierEv @ 21 NONAME
-	_ZN16CCalenController8ServicesEv @ 22 NONAME
-	_ZN16CCalenController9InstanceLEv @ 23 NONAME
-	_ZN16CCalenController9OfferMenuEP6HbMenu @ 24 NONAME
-	_ZN16CCalenControllerC1Eb @ 25 NONAME
-	_ZN16CCalenControllerC2Eb @ 26 NONAME
-	_ZN16CCalenControllerD1Ev @ 27 NONAME
-	_ZN16CCalenControllerD2Ev @ 28 NONAME
-	_ZTI16CCalenController @ 29 NONAME
-	_ZTV16CCalenController @ 30 NONAME
-
--- a/calendarui/eabi/calencustomisationmanageru.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-EXPORTS
-	_ZN26CCalenCustomisationManager10AddPluginLEP19CCalenCustomisation4TUid @ 1 NONAME
-	_ZN26CCalenCustomisationManager10ConstructLEv @ 2 NONAME
-	_ZN26CCalenCustomisationManager11FindPluginLE4TUid @ 3 NONAME
-	_ZN26CCalenCustomisationManager11LoadPluginLE4TUid @ 4 NONAME
-	_ZN26CCalenCustomisationManager12InfobarTextLEv @ 5 NONAME
-	_ZN26CCalenCustomisationManager13EnablePluginLE4TUid @ 6 NONAME
-	_ZN26CCalenCustomisationManager14DisablePluginLE4TUid @ 7 NONAME
-	_ZN26CCalenCustomisationManager14UnloadPluginsLERK6RArrayI4TUidE @ 8 NONAME
-	_ZN26CCalenCustomisationManager18GetCommandHandlerLEi @ 9 NONAME
-	_ZN26CCalenCustomisationManager18HandleNotificationE18TCalenNotification @ 10 NONAME
-	_ZN26CCalenCustomisationManager19HandleNotificationLE18TCalenNotification @ 11 NONAME
-	_ZN26CCalenCustomisationManager22SetPluginAvailabilityLE4TUidi @ 12 NONAME
-	_ZN26CCalenCustomisationManager23CreateActivePluginListLEv @ 13 NONAME
-	_ZN26CCalenCustomisationManager24PluginAvailabilityFinderEPK4TUidRKNS_24TCalenPluginAvailabilityE @ 14 NONAME
-	_ZN26CCalenCustomisationManager25DoImmediatePluginLoadingLEv @ 15 NONAME
-	_ZN26CCalenCustomisationManager4NewLER21MCalenServicesFactoryR14MCalenServices @ 16 NONAME
-	_ZN26CCalenCustomisationManager7InfobarEv @ 17 NONAME
-	_ZN26CCalenCustomisationManager9OfferMenuEP6HbMenu @ 18 NONAME
-	_ZN26CCalenCustomisationManagerC1ER21MCalenServicesFactoryR14MCalenServices @ 19 NONAME
-	_ZN26CCalenCustomisationManagerC2ER21MCalenServicesFactoryR14MCalenServices @ 20 NONAME
-	_ZN26CCalenCustomisationManagerD0Ev @ 21 NONAME
-	_ZN26CCalenCustomisationManagerD1Ev @ 22 NONAME
-	_ZN26CCalenCustomisationManagerD2Ev @ 23 NONAME
-	_ZNK26CCalenCustomisationManager13ActivePluginsEv @ 24 NONAME
-	_ZNK26CCalenCustomisationManager15PluginInfoArrayEv @ 25 NONAME
-	_ZTI26CCalenCustomisationManager @ 26 NONAME
-	_ZTV26CCalenCustomisationManager @ 27 NONAME
-	_ZThn4_N26CCalenCustomisationManager18HandleNotificationE18TCalenNotification @ 28 NONAME
-
--- a/calendarui/eabi/caleneditoru.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-EXPORTS
-	_ZN11CalenEditor10entrySavedEv @ 1 NONAME
-	_ZN11CalenEditor11qt_metacallEN11QMetaObject4CallEiPPv @ 2 NONAME
-	_ZN11CalenEditor11qt_metacastEPKc @ 3 NONAME
-	_ZN11CalenEditor12dialogClosedEv @ 4 NONAME
-	_ZN11CalenEditor16staticMetaObjectE @ 5 NONAME DATA 16
-	_ZN11CalenEditor19getStaticMetaObjectEv @ 6 NONAME
-	_ZN11CalenEditor20calendarLaunchFailedEi @ 7 NONAME
-	_ZN11CalenEditor4editE11AgendaEntryb @ 8 NONAME
-	_ZN11CalenEditor4editERK5QFileb @ 9 NONAME
-	_ZN11CalenEditor4editEmb @ 10 NONAME
-	_ZN11CalenEditor6createE11AgendaEntrybNS_10CreateTypeE @ 11 NONAME
-	_ZN11CalenEditor6createE9QDateTimebNS_10CreateTypeE @ 12 NONAME
-	_ZN11CalenEditorC1EP10AgendaUtilP7QObject @ 13 NONAME
-	_ZN11CalenEditorC1EP7QObject @ 14 NONAME
-	_ZN11CalenEditorC2EP10AgendaUtilP7QObject @ 15 NONAME
-	_ZN11CalenEditorC2EP7QObject @ 16 NONAME
-	_ZN11CalenEditorD0Ev @ 17 NONAME
-	_ZN11CalenEditorD1Ev @ 18 NONAME
-	_ZN11CalenEditorD2Ev @ 19 NONAME
-	_ZNK11CalenEditor10metaObjectEv @ 20 NONAME
-	_ZTI11CalenEditor @ 21 NONAME
-	_ZTV11CalenEditor @ 22 NONAME
-
--- a/calendarui/eabi/calenglobaldatau.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-EXPORTS
-	_ZN16CalenContextImplC1EP27MCalenContextChangeObserver @ 1 NONAME
-	_ZN16CalenContextImplC1ERKS_ @ 2 NONAME
-	_ZN16CalenContextImplC1Ev @ 3 NONAME
-	_ZN16CalenContextImplC2EP27MCalenContextChangeObserver @ 4 NONAME
-	_ZN16CalenContextImplC2ERKS_ @ 5 NONAME
-	_ZN16CalenContextImplC2Ev @ 6 NONAME
-
--- a/calendarui/eabi/calenlauncheru.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-EXPORTS
-	_ZN13CalenLauncher11handleErrorEi @ 1 NONAME
-	_ZN13CalenLauncher11qt_metacallEN11QMetaObject4CallEiPPv @ 2 NONAME
-	_ZN13CalenLauncher11qt_metacastEPKc @ 3 NONAME
-	_ZN13CalenLauncher16staticMetaObjectE @ 4 NONAME DATA 16
-	_ZN13CalenLauncher17launchCalendarAppENS_9CalenViewER9QDateTimeb @ 5 NONAME
-	_ZN13CalenLauncher19getStaticMetaObjectEv @ 6 NONAME
-	_ZN13CalenLauncher20calendarLaunchFailedEi @ 7 NONAME
-	_ZN13CalenLauncherC1EP7QObject @ 8 NONAME
-	_ZN13CalenLauncherC2EP7QObject @ 9 NONAME
-	_ZN13CalenLauncherD0Ev @ 10 NONAME
-	_ZN13CalenLauncherD1Ev @ 11 NONAME
-	_ZN13CalenLauncherD2Ev @ 12 NONAME
-	_ZNK13CalenLauncher10metaObjectEv @ 13 NONAME
-	_ZTI13CalenLauncher @ 14 NONAME
-	_ZTV13CalenLauncher @ 15 NONAME
-
--- a/calendarui/eabi/calensettingsu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-EXPORTS
-	_ZN13CalenSettings11createModelEv @ 1 NONAME
-	_ZN13CalenSettings11qt_metacallEN11QMetaObject4CallEiPPv @ 2 NONAME
-	_ZN13CalenSettings11qt_metacastEPKc @ 3 NONAME
-	_ZN13CalenSettings16staticMetaObjectE @ 4 NONAME DATA 16
-	_ZN13CalenSettings19getStaticMetaObjectEv @ 5 NONAME
-	_ZN13CalenSettings19populateSettingListEv @ 6 NONAME
-	_ZN13CalenSettings22handleWeekNumberChangeEv @ 7 NONAME
-	_ZN13CalenSettings24handleRegionalInfoChangeEv @ 8 NONAME
-	_ZN13CalenSettings27handleAlarmSnoozeTimeChangeEi @ 9 NONAME
-	_ZN13CalenSettingsC1EP10HbDataFormP7QObject @ 10 NONAME
-	_ZN13CalenSettingsC2EP10HbDataFormP7QObject @ 11 NONAME
-	_ZN13CalenSettingsD0Ev @ 12 NONAME
-	_ZN13CalenSettingsD1Ev @ 13 NONAME
-	_ZN13CalenSettingsD2Ev @ 14 NONAME
-	_ZNK13CalenSettings10metaObjectEv @ 15 NONAME
-	_ZTI13CalenSettings @ 16 NONAME
-	_ZTV13CalenSettings @ 17 NONAME
-
--- a/calendarui/eabi/calenviewsu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,196 +0,0 @@
-EXPORTS
-	_ZN12CalenDayView12doPopulationEv @ 1 NONAME
-	_ZN12CalenDayView14clearListModelEv @ 2 NONAME
-	_ZN12CalenDayView18HandleNotificationE18TCalenNotification @ 3 NONAME
-	_ZN12CalenDayView9docLoaderEv @ 4 NONAME
-	_ZN12CalenDayView9setupViewEP14CalenDocLoader @ 5 NONAME
-	_ZN12CalenDayViewC1ER14MCalenServices @ 6 NONAME
-	_ZN12CalenDayViewC2ER14MCalenServices @ 7 NONAME
-	_ZN12CalenDayViewD0Ev @ 8 NONAME
-	_ZN12CalenDayViewD1Ev @ 9 NONAME
-	_ZN12CalenDayViewD2Ev @ 10 NONAME
-	_ZN14CalenMonthGrid10appendRowsEv @ 11 NONAME
-	_ZN14CalenMonthGrid10panGestureERK7QPointF @ 12 NONAME
-	_ZN14CalenMonthGrid11downGestureEi @ 13 NONAME
-	_ZN14CalenMonthGrid11prependRowsEv @ 14 NONAME
-	_ZN14CalenMonthGrid11qt_metacallEN11QMetaObject4CallEiPPv @ 15 NONAME
-	_ZN14CalenMonthGrid11qt_metacastEPKc @ 16 NONAME
-	_ZN14CalenMonthGrid13itemActivatedERK11QModelIndex @ 17 NONAME
-	_ZN14CalenMonthGrid14setActiveDatesE5QDate @ 18 NONAME
-	_ZN14CalenMonthGrid14setCurrentIdexEi @ 19 NONAME
-	_ZN14CalenMonthGrid15getCurrentIndexEv @ 20 NONAME
-	_ZN14CalenMonthGrid15mousePressEventEP24QGraphicsSceneMouseEvent @ 21 NONAME
-	_ZN14CalenMonthGrid16staticMetaObjectE @ 22 NONAME DATA 16
-	_ZN14CalenMonthGrid17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 23 NONAME
-	_ZN14CalenMonthGrid17scrollingFinishedEv @ 24 NONAME
-	_ZN14CalenMonthGrid18orientationChangedEN2Qt11OrientationE @ 25 NONAME
-	_ZN14CalenMonthGrid19getStaticMetaObjectEv @ 26 NONAME
-	_ZN14CalenMonthGrid19handleAppendingRowsER5QListI14CalenMonthDataE @ 27 NONAME
-	_ZN14CalenMonthGrid19setFocusToProperDayEv @ 28 NONAME
-	_ZN14CalenMonthGrid20handlePrependingRowsER5QListI14CalenMonthDataE @ 29 NONAME
-	_ZN14CalenMonthGrid20updateMonthGridModelER5QListI14CalenMonthDataEib @ 30 NONAME
-	_ZN14CalenMonthGrid24handlePanGestureFinishedEv @ 31 NONAME
-	_ZN14CalenMonthGrid33updateMonthGridWithInActiveMonthsER5QListI14CalenMonthDataE @ 32 NONAME
-	_ZN14CalenMonthGrid34updateMonthGridWithEventIndicatorsER5QListI14CalenMonthDataE @ 33 NONAME
-	_ZN14CalenMonthGrid5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 34 NONAME
-	_ZN14CalenMonthGrid7setViewEP14CalenMonthView @ 35 NONAME
-	_ZN14CalenMonthGrid9upGestureEi @ 36 NONAME
-	_ZN14CalenMonthGridC1EP13QGraphicsItem @ 37 NONAME
-	_ZN14CalenMonthGridC2EP13QGraphicsItem @ 38 NONAME
-	_ZN14CalenMonthGridD0Ev @ 39 NONAME
-	_ZN14CalenMonthGridD1Ev @ 40 NONAME
-	_ZN14CalenMonthGridD2Ev @ 41 NONAME
-	_ZN14CalenMonthView10createGridEv @ 42 NONAME
-	_ZN14CalenMonthView11qt_metacallEN11QMetaObject4CallEiPPv @ 43 NONAME
-	_ZN14CalenMonthView11qt_metacastEPKc @ 44 NONAME
-	_ZN14CalenMonthView12createEditorEv @ 45 NONAME
-	_ZN14CalenMonthView12doPopulationEv @ 46 NONAME
-	_ZN14CalenMonthView12getActiveDayEv @ 47 NONAME
-	_ZN14CalenMonthView12setActiveDayE9QDateTime @ 48 NONAME
-	_ZN14CalenMonthView13doLazyLoadingEv @ 49 NONAME
-	_ZN14CalenMonthView13getCurrentDayEv @ 50 NONAME
-	_ZN14CalenMonthView13launchDayViewEv @ 51 NONAME
-	_ZN14CalenMonthView13monthDataListEv @ 52 NONAME
-	_ZN14CalenMonthView14addWeekNumbersEv @ 53 NONAME
-	_ZN14CalenMonthView14firstDayOfGridEv @ 54 NONAME
-	_ZN14CalenMonthView14rowsInFutMonthEv @ 55 NONAME
-	_ZN14CalenMonthView14setDateToLabelEv @ 56 NONAME
-	_ZN14CalenMonthView15dateFromContextERK13MCalenContext @ 57 NONAME
-	_ZN14CalenMonthView15getInstanceListER5QListI5QDateE9QDateTimeS4_ @ 58 NONAME
-	_ZN14CalenMonthView15onLocaleChangedEi @ 59 NONAME
-	_ZN14CalenMonthView15rowsInPrevMonthEv @ 60 NONAME
-	_ZN14CalenMonthView16getCurrGridIndexEv @ 61 NONAME
-	_ZN14CalenMonthView16onContextChangedEv @ 62 NONAME
-	_ZN14CalenMonthView16setCurrGridIndexEi @ 63 NONAME
-	_ZN14CalenMonthView16staticMetaObjectE @ 64 NONAME DATA 16
-	_ZN14CalenMonthView17changeOrientationEN2Qt11OrientationE @ 65 NONAME
-	_ZN14CalenMonthView17populateNextMonthEv @ 66 NONAME
-	_ZN14CalenMonthView17populatePrevMonthEv @ 67 NONAME
-	_ZN14CalenMonthView17removeWeekNumbersEv @ 68 NONAME
-	_ZN14CalenMonthView18addBackgroundFrameEv @ 69 NONAME
-	_ZN14CalenMonthView18completePopulationEv @ 70 NONAME
-	_ZN14CalenMonthView19getStaticMetaObjectEv @ 71 NONAME
-	_ZN14CalenMonthView19populatePreviewPaneER9QDateTime @ 72 NONAME
-	_ZN14CalenMonthView20prepareForPopulationEv @ 73 NONAME
-	_ZN14CalenMonthView21refreshViewOnGoToDateEv @ 74 NONAME
-	_ZN14CalenMonthView22addRemoveActionsInMenuEv @ 75 NONAME
-	_ZN14CalenMonthView22setContextForActiveDayEi @ 76 NONAME
-	_ZN14CalenMonthView22updateWeekNumGridModelEv @ 77 NONAME
-	_ZN14CalenMonthView23handleChangeOrientationEv @ 78 NONAME
-	_ZN14CalenMonthView23handleGridItemActivatedEv @ 79 NONAME
-	_ZN14CalenMonthView24handlePreviewPaneGestureEb @ 80 NONAME
-	_ZN14CalenMonthView24populateWithInstanceViewEv @ 81 NONAME
-	_ZN14CalenMonthView24updateModelWithPrevMonthEv @ 82 NONAME
-	_ZN14CalenMonthView25handleLeftEffectCompletedERKN8HbEffect12EffectStatusE @ 83 NONAME
-	_ZN14CalenMonthView26fetchEntriesAndUpdateModelEv @ 84 NONAME
-	_ZN14CalenMonthView26handleRightEffectCompletedERKN8HbEffect12EffectStatusE @ 85 NONAME
-	_ZN14CalenMonthView26updateModelWithFutureMonthEv @ 86 NONAME
-	_ZN14CalenMonthView27showHideRegionalInformationEv @ 87 NONAME
-	_ZN14CalenMonthView35updateMonthDataArrayWithActiveDatesEv @ 88 NONAME
-	_ZN14CalenMonthView7setDateEv @ 89 NONAME
-	_ZN14CalenMonthView9goToTodayEv @ 90 NONAME
-	_ZN14CalenMonthView9setupViewEP14CalenDocLoader @ 91 NONAME
-	_ZN14CalenMonthViewC1ER14MCalenServices @ 92 NONAME
-	_ZN14CalenMonthViewC2ER14MCalenServices @ 93 NONAME
-	_ZN14CalenMonthViewD0Ev @ 94 NONAME
-	_ZN14CalenMonthViewD1Ev @ 95 NONAME
-	_ZN14CalenMonthViewD2Ev @ 96 NONAME
-	_ZN16CalenPreviewPane11qt_metacallEN11QMetaObject4CallEiPPv @ 97 NONAME
-	_ZN16CalenPreviewPane11qt_metacastEPKc @ 98 NONAME
-	_ZN16CalenPreviewPane13populateLabelE9QDateTime @ 99 NONAME
-	_ZN16CalenPreviewPane13stopScrollingEv @ 100 NONAME
-	_ZN16CalenPreviewPane14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 101 NONAME
-	_ZN16CalenPreviewPane15mousePressEventEP24QGraphicsSceneMouseEvent @ 102 NONAME
-	_ZN16CalenPreviewPane15startAutoScrollEv @ 103 NONAME
-	_ZN16CalenPreviewPane16GetInstanceListLEv @ 104 NONAME
-	_ZN16CalenPreviewPane16staticMetaObjectE @ 105 NONAME DATA 16
-	_ZN16CalenPreviewPane17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 106 NONAME
-	_ZN16CalenPreviewPane17scrollingFinishedEv @ 107 NONAME
-	_ZN16CalenPreviewPane17setNoEntriesLabelEP7HbLabel @ 108 NONAME
-	_ZN16CalenPreviewPane19getStaticMetaObjectEv @ 109 NONAME
-	_ZN16CalenPreviewPane19onTwoSecondsTimeoutEv @ 110 NONAME
-	_ZN16CalenPreviewPane4DateEv @ 111 NONAME
-	_ZN16CalenPreviewPane7setViewEP14CalenMonthView @ 112 NONAME
-	_ZN16CalenPreviewPaneC1ER14MCalenServicesP13QGraphicsItem @ 113 NONAME
-	_ZN16CalenPreviewPaneC2ER14MCalenServicesP13QGraphicsItem @ 114 NONAME
-	_ZN16CalenPreviewPaneD0Ev @ 115 NONAME
-	_ZN16CalenPreviewPaneD1Ev @ 116 NONAME
-	_ZN16CalenPreviewPaneD2Ev @ 117 NONAME
-	_ZN17CalenSettingsView11qt_metacallEN11QMetaObject4CallEiPPv @ 118 NONAME
-	_ZN17CalenSettingsView11qt_metacastEPKc @ 119 NONAME
-	_ZN17CalenSettingsView14initializeFormEv @ 120 NONAME
-	_ZN17CalenSettingsView16staticMetaObjectE @ 121 NONAME DATA 16
-	_ZN17CalenSettingsView18launchPreviousViewEv @ 122 NONAME
-	_ZN17CalenSettingsView19getStaticMetaObjectEv @ 123 NONAME
-	_ZN17CalenSettingsViewC1ER14MCalenServicesP13QGraphicsItem @ 124 NONAME
-	_ZN17CalenSettingsViewC2ER14MCalenServicesP13QGraphicsItem @ 125 NONAME
-	_ZN17CalenSettingsViewD0Ev @ 126 NONAME
-	_ZN17CalenSettingsViewD1Ev @ 127 NONAME
-	_ZN17CalenSettingsViewD2Ev @ 128 NONAME
-	_ZN18CalenDayViewWidgetC1ER14MCalenServicesP14CalenDocLoader @ 129 NONAME
-	_ZN18CalenDayViewWidgetC2ER14MCalenServicesP14CalenDocLoader @ 130 NONAME
-	_ZN18CalenDayViewWidgetD0Ev @ 131 NONAME
-	_ZN18CalenDayViewWidgetD1Ev @ 132 NONAME
-	_ZN18CalenDayViewWidgetD2Ev @ 133 NONAME
-	_ZN21CalenThickLinesDrawer11qt_metacallEN11QMetaObject4CallEiPPv @ 134 NONAME
-	_ZN21CalenThickLinesDrawer11qt_metacastEPKc @ 135 NONAME
-	_ZN21CalenThickLinesDrawer16staticMetaObjectE @ 136 NONAME DATA 16
-	_ZN21CalenThickLinesDrawer19getStaticMetaObjectEv @ 137 NONAME
-	_ZN21CalenThickLinesDrawer5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 138 NONAME
-	_ZN21CalenThickLinesDrawerC1EN17CalendarNamespace10WidgetTypeEP13QGraphicsItem @ 139 NONAME
-	_ZN21CalenThickLinesDrawerC2EN17CalendarNamespace10WidgetTypeEP13QGraphicsItem @ 140 NONAME
-	_ZN21CalenThickLinesDrawerD0Ev @ 141 NONAME
-	_ZN21CalenThickLinesDrawerD1Ev @ 142 NONAME
-	_ZN21CalenThickLinesDrawerD2Ev @ 143 NONAME
-	_ZNK14CalenMonthGrid10metaObjectEv @ 144 NONAME
-	_ZNK14CalenMonthView10metaObjectEv @ 145 NONAME
-	_ZNK16CalenPreviewPane10metaObjectEv @ 146 NONAME
-	_ZNK17CalenSettingsView10metaObjectEv @ 147 NONAME
-	_ZNK21CalenThickLinesDrawer10metaObjectEv @ 148 NONAME
-	_ZTI14CalenMonthGrid @ 149 NONAME
-	_ZTI14CalenMonthView @ 150 NONAME
-	_ZTI16CalenPreviewPane @ 151 NONAME
-	_ZTI17CalenSettingsView @ 152 NONAME
-	_ZTI21CalenThickLinesDrawer @ 153 NONAME
-	_ZTV14CalenMonthGrid @ 154 NONAME
-	_ZTV14CalenMonthView @ 155 NONAME
-	_ZTV16CalenPreviewPane @ 156 NONAME
-	_ZTV17CalenSettingsView @ 157 NONAME
-	_ZTV21CalenThickLinesDrawer @ 158 NONAME
-	_ZThn16_N12CalenDayViewD0Ev @ 159 NONAME
-	_ZThn16_N12CalenDayViewD1Ev @ 160 NONAME
-	_ZThn16_N14CalenMonthGridD0Ev @ 161 NONAME
-	_ZThn16_N14CalenMonthGridD1Ev @ 162 NONAME
-	_ZThn16_N14CalenMonthViewD0Ev @ 163 NONAME
-	_ZThn16_N14CalenMonthViewD1Ev @ 164 NONAME
-	_ZThn16_N16CalenPreviewPaneD0Ev @ 165 NONAME
-	_ZThn16_N16CalenPreviewPaneD1Ev @ 166 NONAME
-	_ZThn16_N17CalenSettingsViewD0Ev @ 167 NONAME
-	_ZThn16_N17CalenSettingsViewD1Ev @ 168 NONAME
-	_ZThn16_N18CalenDayViewWidgetD0Ev @ 169 NONAME
-	_ZThn16_N18CalenDayViewWidgetD1Ev @ 170 NONAME
-	_ZThn16_N21CalenThickLinesDrawerD0Ev @ 171 NONAME
-	_ZThn16_N21CalenThickLinesDrawerD1Ev @ 172 NONAME
-	_ZThn28_N12CalenDayView18HandleNotificationE18TCalenNotification @ 173 NONAME
-	_ZThn8_N12CalenDayViewD0Ev @ 174 NONAME
-	_ZThn8_N12CalenDayViewD1Ev @ 175 NONAME
-	_ZThn8_N14CalenMonthGrid15mousePressEventEP24QGraphicsSceneMouseEvent @ 176 NONAME
-	_ZThn8_N14CalenMonthGrid17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 177 NONAME
-	_ZThn8_N14CalenMonthGrid5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 178 NONAME
-	_ZThn8_N14CalenMonthGridD0Ev @ 179 NONAME
-	_ZThn8_N14CalenMonthGridD1Ev @ 180 NONAME
-	_ZThn8_N14CalenMonthViewD0Ev @ 181 NONAME
-	_ZThn8_N14CalenMonthViewD1Ev @ 182 NONAME
-	_ZThn8_N16CalenPreviewPane14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 183 NONAME
-	_ZThn8_N16CalenPreviewPane15mousePressEventEP24QGraphicsSceneMouseEvent @ 184 NONAME
-	_ZThn8_N16CalenPreviewPane17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 185 NONAME
-	_ZThn8_N16CalenPreviewPaneD0Ev @ 186 NONAME
-	_ZThn8_N16CalenPreviewPaneD1Ev @ 187 NONAME
-	_ZThn8_N17CalenSettingsViewD0Ev @ 188 NONAME
-	_ZThn8_N17CalenSettingsViewD1Ev @ 189 NONAME
-	_ZThn8_N18CalenDayViewWidgetD0Ev @ 190 NONAME
-	_ZThn8_N18CalenDayViewWidgetD1Ev @ 191 NONAME
-	_ZThn8_N21CalenThickLinesDrawer5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 192 NONAME
-	_ZThn8_N21CalenThickLinesDrawerD0Ev @ 193 NONAME
-	_ZThn8_N21CalenThickLinesDrawerD1Ev @ 194 NONAME
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/globaldata/bwins/calenglobaldatau.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,6 @@
+EXPORTS
+	??0CalenContextImpl@@QAE@XZ @ 1 NONAME ; CalenContextImpl::CalenContextImpl(void)
+	??1CalenContextImpl@@QAE@XZ @ 2 NONAME ; CalenContextImpl::~CalenContextImpl(void)
+	??0CalenContextImpl@@QAE@PAVMCalenContextChangeObserver@@@Z @ 3 NONAME ; CalenContextImpl::CalenContextImpl(class MCalenContextChangeObserver *)
+	??0CalenContextImpl@@QAE@ABV0@@Z @ 4 NONAME ; CalenContextImpl::CalenContextImpl(class CalenContextImpl const &)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/globaldata/eabi/calenglobaldatau.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,10 @@
+EXPORTS
+	_ZN16CalenContextImplC1EP27MCalenContextChangeObserver @ 1 NONAME
+	_ZN16CalenContextImplC1ERKS_ @ 2 NONAME
+	_ZN16CalenContextImplC1Ev @ 3 NONAME
+	_ZN16CalenContextImplC2EP27MCalenContextChangeObserver @ 4 NONAME
+	_ZN16CalenContextImplC2ERKS_ @ 5 NONAME
+	_ZN16CalenContextImplC2Ev @ 6 NONAME
+	_ZN16CalenContextImplD1Ev @ 7 NONAME
+	_ZN16CalenContextImplD2Ev @ 8 NONAME
+
--- a/calendarui/globaldata/inc/calencontext.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/globaldata/inc/calencontext.h	Thu Jul 22 16:32:51 2010 +0100
@@ -54,10 +54,8 @@
         /**
          * Sets the date and time currently focused.
          * @param aFocusTime The new focus date and time.
-         * @param aViewId The view id of the currently active view.
          */
-        virtual void setFocusDateAndTimeL( const QDateTime& focusDateTime,
-                                        const int& viewId ) = 0;
+        virtual void setFocusDateAndTime( const QDateTime& focusDateTime) = 0;
 
         /**
          * Sets the date currently focused. When retrieving the focus
@@ -65,29 +63,23 @@
          * will be set to the default of view. When retrieving the focus
          * time only, it will be set to -1.
          * @param aFocusDate The new focus date and time.
-         * @param aViewId The view id of the currently active view.
          */
-        virtual void setFocusDateL( const QDateTime& focusDateTime,
-                                    const int& viewId ) = 0;
+        virtual void setFocusDate( const QDateTime& focusDateTime) = 0;
 
         /**
          * Sets the id of the instance currently focused.
          * @param aInstanceId the id of the focused instance.
-         * @param aViewId The view id of the currently active view.
          */
-        virtual void setInstanceIdL( const TCalenInstanceId& instanceId,
-                                     const int& viewId ) = 0;
+        virtual void setInstanceId( const TCalenInstanceId& instanceId ) = 0;
 
         /**
          * Sets the time and instance currently focused.
          * @param aFocusTime The new focus time. If no time is focused, set
          * the Utc time of this object to be Time::NullTTime.
          * @param aInstanceId the id of the focused instance.
-         * @param aViewId The view id of the currently active view.
          */
-        virtual void setFocusDateAndTimeAndInstanceL( const QDateTime& focusDateTime,
-                                                      const TCalenInstanceId& aInstanceId,
-                                                      const int& viewId ) = 0;
+        virtual void setFocusDateAndTimeAndInstance( const QDateTime& focusDateTime,
+                                                      const TCalenInstanceId& aInstanceId ) = 0;
 
     // Getters
         /**
@@ -95,7 +87,8 @@
          * @return The currently focused date and time. When no time is
          * focused, the default time on the current date will be returned.
          */
-        virtual QDateTime focusDateAndTimeL() const = 0;
+        virtual QDateTime focusDateAndTime() const = 0;
+	
 
         /**
          * Gets the time currently focused.
@@ -111,13 +104,6 @@
          */
         virtual TCalenInstanceId instanceId() const = 0;
 
-        /**
-         * Gets the id of the currently active view.
-         * @return The view id of the currently active view.
-         */
-        virtual int viewId() const = 0;
-        
- 
  public: // For Mutliple Context Support    
  
      /**
@@ -154,23 +140,6 @@
 	    */
 		virtual int mutlipleContextIdsCount() = 0;
 		
-		/**
-	    * Sets the user selected landmark
-	    * @param aLandMark	Landmark object
-	    */
-		//virtual void SetLandMark(CPosLandmark* aLandMark) = 0;
-		
-		/**
-	    * Returns the user selected landmark
-	    * @return Landmark object
-	    */
-		//virtual CPosLandmark* GetLandMark() = 0;
-		
-		/**
-	    * Resets the landmark
-	    */
-		//virtual void ResetLandMark() = 0;
-		
     };
 
 #endif // CALENCONTEXT_H
--- a/calendarui/globaldata/inc/calencontextimpl.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/globaldata/inc/calencontextimpl.h	Thu Jul 22 16:32:51 2010 +0100
@@ -50,7 +50,7 @@
         CALENCONTEXTIMPL_EXPORT CalenContextImpl( MCalenContextChangeObserver* observer );
         CALENCONTEXTIMPL_EXPORT CalenContextImpl();
         CALENCONTEXTIMPL_EXPORT CalenContextImpl( const CalenContextImpl& context );
-        ~CalenContextImpl();
+        CALENCONTEXTIMPL_EXPORT ~CalenContextImpl();
 
     public:  // from MCalenContext
     // Utils
@@ -72,10 +72,8 @@
         /**
          * Sets the date and time currently focused.
          * @param aFocusTime The new focus date and time.
-         * @param aViewId The view id of the currently active view.
          */
-        void setFocusDateAndTimeL( const QDateTime& focusDateTime,
-                                            const int& viewId );
+        void setFocusDateAndTime( const QDateTime& focusDateTime);
 
         /**
          * Sets the date currently focused. When retrieving the focus
@@ -83,29 +81,23 @@
          * will be set to the default of view. When retrieving the focus
          * time only, it will be set to -1.
          * @param aFocusDate The new focus date and time.
-         * @param aViewId The view id of the currently active view.
          */
-        void setFocusDateL( const QDateTime& focusDateTime,
-                                    const int& viewId );
+        void setFocusDate( const QDateTime& focusDateTime );
 
         /**
          * Sets the id of the instance currently focused.
          * @param aInstanceId the id of the focused instance.
-         * @param aViewId The view id of the currently active view.
          */
-        void setInstanceIdL( const TCalenInstanceId& instanceId,
-                                     const int& viewId );
+        void setInstanceId( const TCalenInstanceId& instanceId );
 
         /**
          * Sets the time and instance currently focused.
          * @param aFocusTime The new focus time. If no time is focused, set
          * the Utc time of this object to be Time::NullTTime.
          * @param aInstanceId the id of the focused instance.
-         * @param aViewId The view id of the currently active view.
          */
-        void setFocusDateAndTimeAndInstanceL( const QDateTime& focusDateTime,
-                                              const TCalenInstanceId& aInstanceId,
-                                              const int& viewId );
+        void setFocusDateAndTimeAndInstance( const QDateTime& focusDateTime,
+                                              const TCalenInstanceId& aInstanceId);
 
     // Getters
         /**
@@ -113,7 +105,7 @@
          * @return The currently focused date and time. When no time is
          * focused, the default time on the current date will be returned.
          */
-        QDateTime focusDateAndTimeL() const;
+        QDateTime focusDateAndTime() const;
 
         /**
          * Gets the time currently focused.
@@ -129,12 +121,6 @@
          */
         TCalenInstanceId instanceId() const;
 
-        /**
-         * Gets the id of the currently active view.
-         * @return The view id of the currently active view.
-         */
-        int viewId() const;
-        
         
 public:	// Multiple Context support
 		
--- a/calendarui/globaldata/src/calencontextimpl.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/globaldata/src/calencontextimpl.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -71,9 +71,13 @@
 // (other items were commented in a header).
 // ----------------------------------------------------------------------------
 //
-CalenContextImpl::~CalenContextImpl()
-    {
-    }
+EXPORT_C CalenContextImpl::~CalenContextImpl()
+	{
+	if(mMutlipleContextIds.count())
+		{
+		mMutlipleContextIds.clear();
+		}
+	}
 
 // ----------------------------------------------------------------------------
 // CalenContextImpl::DefaultTimeForViews
@@ -111,23 +115,21 @@
 // (other items were commented in a header).
 // ----------------------------------------------------------------------------
 //
-void CalenContextImpl::setFocusDateAndTimeL( const QDateTime& focusDateTime,
-                                                   const int& viewId )
+void CalenContextImpl::setFocusDateAndTime( const QDateTime& focusDateTime)
     {
 
+    mFocusDate = focusDateTime;
+    mFocusTime = focusDateTime.time().minute() + 1;
+    
+    if( mFocusTime < 0 )
+        mFocusTime = 0;
+    mInstanceId = TCalenInstanceId::nullInstanceId();
+
     // If this fails you're using a context that was constructed yourself.
     // Use the accessor from the global data instead, or don't try to set
     // anything on this context.
-    ASSERT( mObserver );
-
-    mFocusDate = focusDateTime;
-    mFocusTime = focusDateTime.time().minute() + 1;
-    
-    ASSERT( mFocusTime >= 0 );
-    mInstanceId = TCalenInstanceId::nullInstanceId();
-    mViewId = viewId;
-
-    mObserver->ContextChanged();
+    if(mObserver)
+        mObserver->ContextChanged();
     }
 
 // ----------------------------------------------------------------------------
@@ -136,20 +138,17 @@
 // (other items were commented in a header).
 // ----------------------------------------------------------------------------
 //
-void CalenContextImpl::setFocusDateL( const QDateTime& focusDateTime,
-                                                const int& viewId )
+void CalenContextImpl::setFocusDate( const QDateTime& focusDateTime)
     {
+    mFocusDate = focusDateTime;
+    mFocusTime = -1;
+    mInstanceId = TCalenInstanceId::nullInstanceId();
+
     // If this fails you're using a context that was constructed yourself.
     // Use the accessor from the global data instead, or don't try to set
     // anything on this context.
-    ASSERT( mObserver );
-
-    mFocusDate = focusDateTime;
-    mFocusTime = -1;
-    mInstanceId = TCalenInstanceId::nullInstanceId();
-    mViewId = viewId;
-
-    mObserver->ContextChanged();
+    if(mObserver)
+        mObserver->ContextChanged();
     }
 
 // ----------------------------------------------------------------------------
@@ -158,22 +157,19 @@
 // (other items were commented in a header).
 // ----------------------------------------------------------------------------
 //
-void CalenContextImpl::setInstanceIdL( const TCalenInstanceId& aInstanceId,
-                                             const int& viewId )
+void CalenContextImpl::setInstanceId( const TCalenInstanceId& aInstanceId )
     {
 
+    // Set the null date and time
+    mFocusDate = QDateTime();
+    mFocusTime = -1;
+    mInstanceId = aInstanceId;
+
     // If this fails you're using a context that was constructed yourself.
     // Use the accessor from the global data instead, or don't try to set
     // anything on this context.
-    ASSERT( mObserver );
-    
-    // Set the null date and time
-    mFocusDate = QDateTime();
-    mFocusTime = -1;
-    mInstanceId = aInstanceId;
-    mViewId = viewId;
-
-    mObserver->ContextChanged();
+    if(mObserver)
+        mObserver->ContextChanged();
     }
 
 // -----------------------------------------------------------------------------
@@ -182,23 +178,20 @@
 // (other items were commented in a header).
 // -----------------------------------------------------------------------------
 //
-void CalenContextImpl::setFocusDateAndTimeAndInstanceL( const QDateTime& focusDateTime,
-                                                              const TCalenInstanceId& instanceId,
-                                                              const int& viewId )
+void CalenContextImpl::setFocusDateAndTimeAndInstance( const QDateTime& focusDateTime,
+                                                              const TCalenInstanceId& instanceId )
     {
+    mFocusDate = focusDateTime;
+    mFocusTime = focusDateTime.time().minute() + 1;
+    if( mFocusTime < 0 )
+		mFocusTime = 0;
+    mInstanceId = instanceId;
 
     // If this fails you're using a context that was constructed yourself.
     // Use the accessor from the global data instead, or don't try to set
     // anything on this context.
-    ASSERT( mObserver );
-
-    mFocusDate = focusDateTime;
-    mFocusTime = focusDateTime.time().minute() + 1;
-    ASSERT( mFocusTime >= 0 );
-    mInstanceId = instanceId;
-    mViewId = viewId;
-
-    mObserver->ContextChanged();
+    if(mObserver)
+        mObserver->ContextChanged();
     }
 
 // -----------------------------------------------------------------------------
@@ -207,7 +200,7 @@
 // (other items were commented in a header).
 // -----------------------------------------------------------------------------
 //
-QDateTime CalenContextImpl::focusDateAndTimeL() const
+QDateTime CalenContextImpl::focusDateAndTime() const
     {
     QDateTime ret;
 
@@ -250,19 +243,6 @@
     }
 
 // -----------------------------------------------------------------------------
-// CalenContextImpl::ViewId
-// Returns the view id
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-int CalenContextImpl::viewId() const
-    {
-    TRACE_ENTRY_POINT;
-    TRACE_EXIT_POINT;
-    return mViewId;
-    }
-
-// -----------------------------------------------------------------------------
 // CalenContextImpl::SetMutlipleContextIds
 // Set multiple context ids
 // (other items were commented in a header).
--- a/calendarui/inc/CalenConstants.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/inc/CalenConstants.h	Thu Jul 22 16:32:51 2010 +0100
@@ -63,6 +63,9 @@
     };
 
 const TInt KWeekTitleSize(64);
+
+const QString activityName = "Calendar"; //Activity Name to be stored in Activity Manager DB
+
 // FIXME: can be here now, but later on move to some other header.
 enum TCalenWeekTitle
     {
--- a/calendarui/inc/CalenUid.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/inc/CalenUid.h	Thu Jul 22 16:32:51 2010 +0100
@@ -24,7 +24,7 @@
 
 // UIDS of the S60 Calendar native views
 const TInt KCalenMonthViewUidValue        = 0x00000000 ;
-const TInt KCalenDayViewUidValue         = 0x00000002;
+const TInt KCalenAgendaViewUidValue         = 0x00000002;
 const TInt KCalenEventViewUidValue   	  = 0x00000003;
 const TInt KCalenLandscapeDayViewUidValue = 0x00000004;
 const TInt KCalenTodoEditorViewUidValue         = 0x00000005;
@@ -32,12 +32,13 @@
 
 
 const TUid KUidCalenMonthView        = { KCalenMonthViewUidValue };
-const TUid KUidCalenDayView      = { KCalenDayViewUidValue };
+const TUid KUidCalenAgendaView      = { KCalenAgendaViewUidValue };
 const TUid KCalenTodoEditorView      = { KCalenTodoEditorViewUidValue };
 const TUid KUidCalenEventView        = { KCalenEventViewUidValue };
 const TUid KUidCalenLandscapeDayView = { KCalenLandscapeDayViewUidValue };
 const TUid KUidCalenSettingsView = { KCalenSettingsViewUidValue };
 
+const TUid KCalenChineseImplUid = {0x2002EA3D};
 
 #endif // CALENUID_H
 
--- a/calendarui/inc/CalendarInternalCRKeys.h	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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 CALENDARINTERNALCRKEYS_H
-#define CALENDARINTERNALCRKEYS_H
-
-//#include <CalendarSDKCRKeys.h>
-
-/** Calendar UI Settings API */
-/** Provides access to the Calendar application's settings */
-
-const TUid KCRUidCalendar = {0x101F874B};
-
-
-/**
-* Default alarm time in minutes before event starting time.
-* Value is an integer between 0 and 60. Default: 15.
-**/
-const TUint32 KCalendarDefaultAlarmTime = 0x00000000;
-
-/**
-* Default starting view for Calendar. Value is an integer between 0 and 2.
-* 0 = Month view (default)
-* 1 = Week view
-* 2 = Day view
-**/
-const TUint32 KCalendarDefaultStartView = 0x00000001;
-
-/**
-* Week view title in Calendar application.
-* Value is eihter integer 0 or 1
-* 0 = Week number (default)
-* 1 = Week dates
-**/
-const TUint32 KCalendarWeekViewTitle = 0x00000002;
-
-/**
-* Is Chinese Lunar calendar information shown in Calendar
-* (only available if feature is included in ROM image).
-* Value is either integer 0 or 1
-* 0 = Off
-* 1 = On (default)
-* This key value is deprecated and has been replaced by the KCRUidCalenLunarPlugin key.
-**/
-const TUint32 KCalendarLunarCalendar = 0x00000003;
-
-/**
-* Calendar alarm sound file, string.
-* Default value : "z:\data\sounds\digital\alarm.aac"
-**/
-const TUint32 KCalendarSoundFile = 0x00000004;
-
-/**
-* Default Calendar alarm sound file.
-* Default value : "z:\data\sounds\digital\alarm.aac"
-**/
-const TUint32 KCalendarDefaultSoundFile = 0x00000005;
-
-/**
-* A flag that is set when a Calendar alarm was lost due to time change.
-* Default value: 0
-*/
-const TUint32 KCalendarLostAlarm = 0x00000006;
-
-/**
-* Calendar alarm snooze time interval in minutes.
-* Default value: 5
-*/
-const TUint32 KCalendarSnoozeTime = 0x00000007;
-
-//Added as an addition to the Symbian fix
-/**
-* Calendar Persistent Time to store the last time the System Time updated.
-* Default Value : 0
-*/
-const TReal KCalendarPersistentTime  = 0x00000009;
-
-/**
-* Text string containing UIDs and enabled/disabled flag (separated
-* by commas) for Calendar plugins.
-* Default value: Empty
-*/
-const TUint32 KCalendarPluginAvailability = 0x0000000A;
-
-/**
-* Defines whether regional information must be shown in the Calendar or not
-* Default value: 1
-*/
-const TUint32 KShowRegionalInformation = 0x0000000B;
-
-
-#endif  // CALENDARINTERNALCRKEYS_H
--- a/calendarui/inc/CalendarPrivateCRKeys.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/inc/CalendarPrivateCRKeys.h	Thu Jul 22 16:32:51 2010 +0100
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
+* 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"
@@ -11,86 +11,28 @@
 *
 * Contributors:
 *
-* Description:  ?Description
+* Description:  The file contains the uid of keys used by application.
+*
 *
 */
 
-
 #ifndef CALENDARPRIVATECRKEYS_H
 #define CALENDARPRIVATECRKEYS_H
 
-#include <CalendarInternalCRKeys.h>
-
-/** Calendar UI Local Variation API */
-/** Provides access to the Calendar application's local variation setting */
-
-const TUid KCRUidCalendarLV = {0x101F874C};
-
+#include <calendardomaincrkeys.h>
 
 /**
-* Local variation bitmask for Caledar configuration.
-* For values refer to CalendarVariant.hrh.
-*
+* Defines whether week number must be shown in month view of the calendar.
+* Default value: 0
 **/
-const TUint32 KCalenLVFlags = 0x00000007;
-
-
-/** Calendar Thai Plugin  Settings API */
-/** Provides access to the Calendar Thai Plugin's settings */
-const TUid KCRUidCalenThaiPlugin = {0x102823D2};
-
-/**
-* User modifiable setting
-* Is Thai regional Calendar information shown in Calendar
-* (only available if feature is included in phone,
-*  currnet display language is Thai)
-* Value is either integer 0 or 1 
-* 0 = Off 
-* 1 = On (default)
-**/
-const TUint32 KCalenThaiPluginEnabled = 0x00000000;
-
-
-/** Calendar Lunar Calendar Plugin Settings API */
-/** Provides access to the Calendar Lunar Plugin's settings */
-const TUid KCRUidCalenLunarPlugin = { 0x102823D1 };
+const long int KCalendarShowWeekNum = 0x00000000;
 
 /**
-* User modifiable setting
-* Is Chinese Lunar Calendar information shown in Calendar
-* (only available if feature is included in phone,
-*  currnet display language is some of Chinese languages)
-* Value is either integer 0 or 1 
-* 0 = Off 
-* 1 = On (default)
-**/
-const TUint32 KCalenChineseLunarEnabled = 0x00000000;
-
-
-/**
-* User modifiable setting
-* Is Vietnamese Lunar Calendar information shown in Calendar
-* (only available if feature is included in phone,
-*  currnet display language is Vietnamese languages)
-* Value is either integer 0 or 1 
-* 0 = Off 
-* 1 = On (default)
-**/
-const TUint32 KCalenVietnameseLunarEnabled = 0x00000001;
-
-
-/** Calendar UI Extensions Settings API */
-/** Provides access to user settings that enable Calendar UI extensions and customizations */
-const TUid KCRUidCalenUIExtensions = { 0x10282ED7 };
-
-/**
-* User modifiable setting to enable the AIW External Calendar.
-* (only available if an AIW provider is included in phone)
-* Value is either integer 0 or 1 
-* 0 = Off 
-* 1 = On (default)
-**/
-const TUint32 KCalenExternalCalendarEnabled = 0x00000000;
-
+* Defines whether regional information must be shown in the Calendar.
+* Default value: 1
+*/
+const long int KCalendarShowRegionalInfo = 0x00000002;
 
 #endif  // CALENDARPRIVATECRKEYS_H
+
+// End of file	--Don't remove this.
--- a/calendarui/inc/calenagendautils.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/inc/calenagendautils.h	Thu Jul 22 16:32:51 2010 +0100
@@ -43,12 +43,6 @@
     public:
         
         /**
-         * Removes entries ending aDay at midnight.
-         **/
-        static void removeEntriesEndingAtMidnightL( QList<AgendaEntry>& list, 
-                                                                    const QDateTime& day );
-
-        /**
          * Checks that if entry ends at starting midnight of the day,
          * but has started earlier.
          * Such entries are not shown in day that they end, because end time 
@@ -56,7 +50,7 @@
          * @returns ETrue, if entry ends at starting midnight of day, but starts before that
          *          EFalse, otherwise
          **/
-        static bool endsAtStartOfDayL( AgendaEntry& entry,
+        static bool endsAtStartOfDay( AgendaEntry& entry,
                                                         const QDateTime& day );
 
     };
--- a/calendarui/inc/calencommandhandler.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/inc/calencommandhandler.h	Thu Jul 22 16:32:51 2010 +0100
@@ -39,7 +39,6 @@
         int iCommand;
         QDateTime iFocusDateAndTime;
         TCalenInstanceId iInstanceId;
-        int iViewId;
     };
 
 inline TCalenCommand::TCalenCommand()
@@ -50,9 +49,8 @@
                                                              MCalenContext& aContext)
     {
     iCommand = aCommand;
-    iFocusDateAndTime = aContext.focusDateAndTimeL();
+    iFocusDateAndTime = aContext.focusDateAndTime();
     iInstanceId = aContext.instanceId();
-    iViewId = aContext.viewId();
     }
 
 inline TInt TCalenCommand::Command() const
@@ -62,9 +60,8 @@
 
 inline void TCalenCommand::GetContextL( MCalenContext& aContext ) const
     {
-    aContext.setFocusDateAndTimeAndInstanceL( iFocusDateAndTime,
-                                              iInstanceId,
-                                              iViewId );
+    aContext.setFocusDateAndTimeAndInstance( iFocusDateAndTime,
+                                              iInstanceId );
     }
 
 
--- a/calendarui/inc/calencommon.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/inc/calencommon.h	Thu Jul 22 16:32:51 2010 +0100
@@ -19,16 +19,17 @@
 #ifndef CALENCOMMON_H
 #define CALENCOMMON_H
 
-#define CALEN_DAYVIEW_XML_FILE ":/xml/calendayview.docml"
-#define CALEN_DAYVIEW "dayView"
-#define CALEN_DAYVIEW_WIDGET "dayViewWidget"
-#define CALEN_DAYVIEW_LISTWIDGET "eventsList"
-#define CALEN_DAYVIEW_HEADING "headingWidget"
-#define CALEN_DAYVIEW_HEADING_REGIONALPLUGIN_WIDGET "headingRegionalPluginWidget"
-#define CALEN_DAYVIEW_MENU_NEW_EVENT "newEventAction"
-#define CALEN_DAYVIEW_MENU_GO_TO_TODAY "todayAction"
-#define CALEN_DAYVIEW_MENU_GO_TO_DATE "goToDateAction"
-#define CALEN_DAYVIEW_MENU_SETTINGS "settingsAction"
+#define CALEN_AGENDAVIEW_XML_FILE ":/xml/calenagendaview.docml"
+#define CALEN_AGENDAVIEW "agendaView"
+#define CALEN_AGENDAVIEW_WIDGET "agendaViewWidget"
+#define CALEN_AGENDAVIEW_LISTWIDGET "eventsList"
+#define CALEN_AGENDAVIEW_HEADING "headingWidget"
+#define CALEN_AGENDAVIEW_HEADING_REGIONALPLUGIN_WIDGET "headingRegionalPluginWidget"
+#define CALEN_AGENDAVIEW_MENU_NEW_EVENT "newEventAction"
+#define CALEN_AGENDAVIEW_MENU_GO_TO_TODAY "todayAction"
+#define CALEN_AGENDAVIEW_MENU_GO_TO_DATE "goToDateAction"
+#define CALEN_AGENDAVIEW_MENU_SWITCH_TO_DAYVIEW "switchToDayViewAction"
+#define CALEN_AGENDAVIEW_MENU_SETTINGS "settingsAction"
 #define CALEN_PORTRAIT "portrait"
 #define CALEN_LANDSCAPE "landscape"
 #define CALEN_MONTHVIEW_XML_FILE ":/xml/calenmonthview.docml"
@@ -41,6 +42,9 @@
 #define CALEN_PREVPREVIEWPARENT "prevPaneWidget"
 #define CALEN_CURRPREVIEWPARENT "currPaneWidget"
 #define CALEN_NEXTPREVIEWPARENT "nextPaneWidget"
+#define CALEN_PREVREGIONALINFO "prevRegionalInfo"
+#define CALEN_CURRREGIONALINFO "currRegionalInfo"
+#define CALEN_NEXTREGIONALINFO "nextRegionalInfo"
 #define CALEN_NEXTPANELAYOUT "nextPaneLayout"
 #define CALEN_CURRPANELAYOUT "currPaneLayout"
 #define CALEN_PREVPREVIEWPANE "prevPreviewPane"
--- a/calendarui/inc/calendateutils.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/inc/calendateutils.h	Thu Jul 22 16:32:51 2010 +0100
@@ -62,12 +62,6 @@
     static bool isValidDay( const QDateTime& time );
 
     /**
-     * Return ETrue if aTime is NULL
-     * @param aTime time to be compared against NULL time
-     */
-    static bool isNullTime( 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
@@ -125,8 +119,6 @@
      */
     static QDateTime defaultTime( const QDateTime& date );
     
-    static QDateTime pastOf(const QDateTime& dateTime, int numOfDays);
-        
     static QDateTime futureOf(const QDateTime& dateTime, int numOfDays);
     
    
--- a/calendarui/inc/hb_calencommands.hrh	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/inc/hb_calencommands.hrh	Thu Jul 22 16:32:51 2010 +0100
@@ -38,8 +38,8 @@
     {
     ECalenMonthView                             = ECalenViewCommandBase,
     ECalenWeekView,
+    ECalenAgendaView,
     ECalenDayView,
-    ECalenLandscapeDayView,
     ECalenTodoEditor,
     ECalenTodoEditorDone,
     ECalenForwardsToDayView,
--- a/calendarui/loc/calendar.loc	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2037 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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 is a localisation file for Calendar
-*                A _loc file is the one and only place where the logical
-*                strings to be localised are defined
-*
-*/
-
-
-
-// LOCALISATION STRINGS
-
-
-//d:Application title for listview
-//l:list_single_large_graphic_pane_t1
-//
-#define qtn_apps_calendar_list  "Calendar"
-
-//d:Application title for general settings pane
-//l:list_single_large_graphic_pane_t1_cp2
-//
-#define qtn_cale_title_calendar  "Calendar"
-
-//d:Application title for grid
-//l:cell_app_pane_t1
-//
-#define qtn_apps_calendar_grid  "Calendar"
-
-//d:Opens New entry SubMenu
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_opt_make_note  "New entry"
-
-//d:Opens delete SubMenu in MonthView
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_opt_delete  "Delete"
-
-//d:Deletes a note
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_om_delete  "Delete"
-
-//d:Discard changes to a note
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_om_cancel_changes "Discard changes"
-
-//d:Confirmation text when discarding changes to a note
-//l:popup_note_window
-//
-#define qtn_cale_query_cancel_changes "Discard changes?"
-
-//d:Opens SettingView
-//l:list_single_pane_t1_cp2
-//
-#define text_calendar_settings  "Settings"
-
-//d:Opens DayView
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_opt_open  "Open"
-
-//d:Opens WeekView
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_opt_view_week  "View by weeks"
-
-//d:Jumps to a specific date
-//l:list_single_pane_t1_cp2
-//
-#define text_calendar_goto_date  "Go to date"
-
-//d:Opens Meeting note
-//l:list_single_popup_submenu_pane_t1
-//
-#define qtn_cale_meeting_note  "Meeting"
-
-
-//d:Opens Meeting Request note
-//d:Option list item for this is "Make Note"
-//l:list_single_popup_submenu_pane_t1
-//w:
-//r:3.0
-//
-#define qtn_cale_meeting_request_note  "Meeting Request"
-
-
-//d:Opens Anniversary Note
-//l:list_single_popup_submenu_pane_t1
-//
-#define qtn_cale_note_anniversary  "Anniversary"
-
-//d:Opens Day Note
-//l:list_single_popup_submenu_pane_t1
-//
-#define qtn_cale_day_note  "Day note"
-
-//d:Opens MonthView
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_opt_view_month  "View month"
-
-//d:Deletes all notes
-//l:list_single_popup_submenu_pane_t1
-//
-#define qtn_cale_sub_all  "All notes"
-
-//d:the date before the notes are to be deleted.
-//l:list_single_popup_submenu_pane_t1
-//
-#define qtn_cale_sub_setdate  "Before set date"
-
-//d:Settings is changed
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_om_change  "Change"
-
-//d:Subject item text of Meeting
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_note_subject  "subject"
-
-//d:Start date item text of Meeting form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_note_meeting_date  "start date"
-
-//d:End date item text of Meeting form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_note_meeting_end  "end date"
-
-//d:Start date and time item text of entry editor
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_note_start_time_date "start time and date"
-
-//d:End date and time item text of entry editor
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_note_end_time_date "end time and date"
-
-//d:Alarm date and time item text of entry editor
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_note_alarm_time_date "alarm time and date"
-
-//d:Start time item text of Meeting form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_note_meeting_start  "start time"
-
-//d:End time item text of Meeting form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_note_end_meet_time  "end time"
-
-//d:Alarm item text of Meeting, Anniversary form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_alarm_activity  "alarm"
-
-//d:Alarm time item text of Meeting, Anniversary form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_note_meeting_alarm  "alarm time"
-
-//d:Alarm date item text of Meeting, Anniversary form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_note_meeting_alarmdate  "alarm date"
-
-//d:Repeat item text of Meeting, Day form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_note_meeting_repeat  "repeat"
-
-//d:Repeat until item text of Meeting, Day form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_note_meeting_until  "repeat until"
-
-//d:Confidentiality item text of Meeting form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_note_meeting_confident  "synchronisation"
-
-//d:Subject item text of Anniversary form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_anniversary_occasion  "occasion"
-
-//d:Start date item text of Anniversary form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_anniversary_start_date  "date"
-
-//d:Subject item text of Day form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_day_description  "description"
-
-//d:Start date item text of Day form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_day_start_date  "start date"
-
-//d:End date item text of Day form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_day_end_date  "end date"
-
-//d:Occasion item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_occasion "Occasion:"
-
-//d:Date item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_date "Date:"
-
-//d:Subject item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_subject "Subject:"
-
-//d:Location item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_location "Location:"
-
-//d:Synchronisation item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_sync "Synchronisation:"
-
-//d:Alarm item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_alarm "Alarm:"
-
-//d:Repeat item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_repeat_daily "Repeats daily:"
-
-//d:Repeat item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_repeat_weekly "Repeats weekly:"
-
-//d:Repeat item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_repeat_fortnightly "Repeats fortnightly:"
-
-//d:Repeat item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_repeat_monthly "Repeats monthly:"
-
-//d:Repeat item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_repeat_yearly "Repeats yearly:"
-
-//d:Repeat item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_repeat_other "Recurring entry:"
-
-//d:Repeat item text of note viewer when no end date (repeat from ...)
-//d:%0U is date entry repeats from
-//l:list_form_graphic_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_valid_forever "From %0U"
-
-//d:Navi pane decoration for event viewers
-//d:%0U is current instance date
-//d:%1U is index of current instance
-//d:%2U is total instance count for current day
-//l:navi_text_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_navi "%0U   %1U/%2U"
-
-//d:Repeat item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_repeat "Repeat:"
-
-//d:Time item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_time "Time:"
-
-//d:Due date item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_due_date "Due date:"
-
-//d:Since item text of note viewer (anniversaries only)
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_since "Since:"
-
-//d:Priority item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_prio "Priority:"
-
-//d:Description item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_desc "Description:"
-
-//d:Private item text of note viewer (Sync)
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_sync_private "Private"
-
-//d:Public item text of note viewer (Sync)
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_sync_public "Public"
-
-//d:None item text of note viewer (Sync)
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_sync_none "None"
-
-//d:High item text of note viewer (Priority)
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_prio_high "High"
-
-//d:Normal item text of note viewer (Priority)
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_prio_normal "Normal"
-
-//d:Low item text of note viewer (Priority)
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_prio_low "Low"
-
-//d:Completed item text of note viewer (Priority)
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_completed "Completed:"
-
-//d:Date and time when appointment starts and ends on the same day
-//d:The string is small enough to fit onto one line
-//d:%0U is start time
-//d:%1U is end time
-//d:%2U is start date
-//l:popup_preview_text_window/opt1
-//r:3.2
-//
-#define qtn_cale_viewer_time_day "%0U - %1U %2U"
-
-//d:Date and time when appointment starts and ends on the same day
-//d:The string is too long to fit onto one line so must include a linebreak
-//d:%0U is start time
-//d:%1U is end time
-//d:%2U is start date
-//d:<\x2028> is line break
-//l:popup_preview_text_window/opt1
-//r:3.2
-//
-#define qtn_cale_viewer_time_day_wrapped "%0U - %1U"<0x2028>"%2U"
-
-//d:Date and time when appointment starts and ends on different days
-//d:The string is small enough to fit onto one line
-//d:%0U is start time
-//d:%1U is start date
-//d:%2U is end time
-//d:%3U is end date
-//l:popup_preview_text_window/opt1
-//r:3.2
-//
-#define qtn_cale_viewer_time_days "%0U %1U - %2U %3U"
-
-//d:Date and time when appointment starts and ends on different days
-//d:The string is too long to fit onto one line so must include a linebreak
-//d:%0U is start time
-//d:%1U is start date
-//d:%2U is end time
-//d:%3U is end date
-//d:<\x2028> is line break
-//l:popup_preview_text_window/opt1
-//r:3.2
-//
-#define qtn_cale_viewer_time_days_wrapped "%0U %1U -"<0x2028>"%2U %3U"
-
-//d:Date and time of alarm (when alarm is on different day to event)
-//d:%0U is alarm time
-//d:%1U is alarm date
-//l:popup_preview_text_window/opt1
-//r:3.2
-//
-#define qtn_cale_viewer_alarm_time "%0U %1U"
-
-//d:Start and end date of event, when event lasts for more than one day
-//d:%0U is start date
-//d:%1U is end date
-//l:msg_body_pane/opt
-//r:3.2
-//
-#define qtn_cale_viewer_valid_limited "%0U - %1U"
-
-//d:Error text when adjusting repeating meeting instance times
-//l:popup_note_window
-//r:3.2
-//
-#define qtn_cale_note_cannot_occur_daily "%N day meeting cannot repeat daily"
-
-//d:Error text when adjusting repeating meeting instance times
-//l:popup_note_window
-//r:3.2
-//
-#define qtn_cale_note_cannot_occur_weekly "%N day meeting cannot repeat weekly"
-
-//d:Error text when adjusting repeating meeting instance times
-//l:popup_note_window
-//r:3.2
-//
-#define qtn_cale_note_cannot_occur_fortnightly "%N day meeting cannot repeat fortnightly"
-
-//d:Error text when adjusting repeating meeting instance times
-//l:popup_note_window
-//r:3.2
-//
-#define qtn_cale_note_cannot_occur_monthly "%N day meeting cannot repeat monthly"
-
-//d:Error text when adjusting repeating meeting instance times
-//l:popup_note_window
-//r:3.2
-//
-#define qtn_cale_note_cannot_occur_yearly "%N day meeting cannot repeat yearly"
-
-//d:Error text when attempting to move a meeting out of sequence
-//l:popup_note_window
-//r:3.2
-//
-#define qtn_cale_note_child_out_of_sequence "Unable to move a meeting out of sequence"
-
-//d:Error note when attempting to move an instance of a meeting to a day when an instance already exists
-//l:popup_note_window
-//r:3.2
-//
-#define qtn_cale_note_child_same_day "Two occurrences of a meeting cannot occur on the same day"
-
-//d:Error note when attempting to move a meeting to overlap another instance of the meeting
-//l:popup_note_window
-//r:3.2
-//
-#define qtn_cale_note_child_overlap "Meeting cannot overlap another instance of itself"
-
-//d:Alarm active text of Note form
-//l:list_form_graphic_pane_t1
-//
-#define qtn_cale_alarm_active  "Active"
-
-//d:Alarm off text of the Note form
-//l:list_form_graphic_pane_t1
-//
-#define qtn_cale_alarm_off  "Off"
-
-//d:Synchronisation type text of the Note form
-//l:list_form_graphic_pane_t1
-//
-#define qtn_cale_confident_public  "Public"
-
-//d:Synchronisation type text of the Note form
-//l:list_form_graphic_pane_t1
-//
-#define qtn_cale_confident_private  "Private"
-
-//d:Synchronisation type text of the Note form
-//l:list_form_graphic_pane_t1
-//
-#define qtn_cale_confident_none  "None"
-
-//d:Repeat type "Not repeated" text of note form
-//l:list_set_graphic_pane_t1
-//
-#define qtn_cale_not_repeated  "Not repeated"
-
-//d:Repeat type "Every day" text of note form
-//l:list_set_graphic_pane_t1
-//
-#define text_calendar_every_day  "Every day"
-
-//d:Repeat type "Every week" text of note form
-//l:list_set_graphic_pane_t1
-//
-#define text_calendar_every_week  "Every week"
-
-//d:Repeat type "Every two weeks" text of note form
-//l:list_set_graphic_pane_t1
-//
-#define text_calendar_bi_weekly  "Every 2 weeks"
-
-//d:Repeat type "Monthly" text of note form
-//l:list_set_graphic_pane_t1
-//
-#define qtn_cale_repeat_monthly  "Monthly"
-
-//d:Repeat type "Yearly" text of note form
-//l:list_set_graphic_pane_t1
-//
-#define text_calendar_every_year  "Every year"
-
-//d:Repeat type "Other" text of note form
-//l:list_set_graphic_pane_t1
-//
-#define qtn_cale_other  "Other"
-
-//d:Title pane text of Meeting form
-//l:title_pane_t2/opt9
-//
-#define text_calendar_title_meeting  "Meeting"
-
-//d:Title pane text of Anniversary form
-//l:title_pane_t2/opt9
-//
-#define qtn_cale_anniversary_title  "Anniversary"
-
-//d:Title pane text of Day form
-//l:title_pane_t2/opt9
-//
-#define qtn_cale_title_daynote  "Day note"
-
-//d:After confirming the saving,the confirmation note
-//d:Calendar note savedis shown
-//l:popup_note_window
-//
-#define text_calendar_note_saved  "Note saved"
-
-//d:The List_Query with the prompt text Save Repeat Note?
-//l:heading_pane_t1
-//
-#define qtn_cale_lq_save_chang_repeated  "Save changes?"
-
-//d:The List_Query with the prompt text "Edit:" (choices being Series or Occurrence)
-//l:heading_pane_t1
-//
-#define qtn_cale_lq_edit_recurring  "Edit:"
-
-//d:All notes delete prompt
-//l:popup_note_window
-//
-#define qtn_cale_quest_delete_all_notes  "Delete all notes"
-
-//d:A note delete prompt
-//l:popup_note_window
-//
-#define qtn_cale_quest_delete_event  "Delete note?"
-
-//d:Data query for inputting the date before the notes are to be deleted.
-//l:popup_query_data_window
-//
-#define qtn_cale_prmpt_del_before_date  "Delete before set date"
-
-//d:When deleting a repeated note,
-//d:the phone prompts the List_Query
-//l:heading_pane_t1
-//
-#define qtn_cale_lq_del_repeated_note  "Delete repeated note"
-
-//d:After deleting of notes phone displays the information note
-//l:popup_note_window
-//
-#define qtn_cale_conf_past_note_deleted  "Notes from past to set date deleted"
-
-//d:After deleting of notes phone displays the information note
-//l:popup_note_window
-//
-#define qtn_cale_conf_all_notes_deleted  "All notes deleted from Calendar"
-
-//d:Erase or update note selection list of choice items
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_lq_all_occurences  "All occurrences"
-
-//d:Erase or update selection list of choice items
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_lq_this_occurence  "Only this occurrence"
-
-//d:Edit note selection list of choice items
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_lq_edit_series  "All occurrences"
-
-//d:Edit note selection list of choice items
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_lq_edit_this  "Only this occurrence"
-
-//d:Specified Out of range of date
-//l:popup_note_window
-//
-#define qtn_cale_info_year_limit  "Year limit is from 1900 to 2100"
-
-//d:Error prompt for alarm date too past
-//l:popup_note_window
-//
-#define qtn_cale_date_alarm_past  "Alarm date is too past"
-
-//d:Error prompt for alarm time earlier than note
-//l:popup_note_window
-//
-#define qtn_cale_later_date  "Alarm later than note"
-
-//d:Error prompt for setting alarm time which is past.
-//l:popup_note_window
-//
-#define qtn_cale_not_expired  "The time for the note alarm has already expired"
-
-//d:Error prompt for repeat until date earlier than start date.
-//l:popup_note_window
-//
-#define qtn_cale_info_repeat_invalid  "Repeat until has to be later than the start date"
-
-//d:Confirmaiton prompt for updating start date on repeat note.
-//l:popup_note_window
-//
-#define qtn_cale_quest_change_start_day  "Are you sure to change start date of selected recurring note?"
-
-//d:Error prompt "Note ends before than starts"
-//l:popup_note_window
-//
-#define qtn_cale_info_note_ends_before  "Note ends before than starts"
-
-//d:Error prompt. Date limit could be set only to the past.
-//l:popup_note_window
-//
-#define qtn_cale_date_not_future  "Date in the future not allowed"
-
-//d:Calendar Settings title pane
-//l:title_pane_t2/opt9
-//
-#define text_calendar_setting_title  "Settings"
-
-//d:Calendar Settings main pane item
-//l:list_setting_pane_t1/opt1
-//
-#define qtn_cale_default_view  "Default view"
-
-//d:Calendar Settings main pane item
-//l:list_setting_pane_t1/opt1
-//
-#define qtn_cale_week_format  "Week format"
-
-//d:Calendar Settings main pane item
-//l:list_setting_pane_t1/opt1
-//
-#define text_calendar_week_title_format  "Title of week view"
-
-//d: Calendar Settings "Default view" item
-//l:list_set_graphic_pane_t1
-//
-#define qtn_cale_default_day_view  "Day View"
-
-//d: Calendar Settings "Default view" item
-//l:list_set_graphic_pane_t1
-//
-#define qtn_cale_default_week_view  "Week View"
-
-//d: Calendar Settings "Default view" item
-//l:list_set_graphic_pane_t1
-//
-#define qtn_cale_default_month_view  "Month View"
-
-//d: Calendar Settings "Title of week view" item
-//l:list_set_graphic_pane_t1
-//
-#define text_calendar_week_title_numb  "Week number"
-
-//d: Calendar Settings "Title of week view" item
-//l:list_set_graphic_pane_t1
-//
-#define text_calendar_week_title_dur  "Duration of week"
-
-//d:Calendar Settings "Default Mailbox" item
-//l:heading_pane_t1
-//w:
-//r:3.0
-//
-#define qtn_cale_lq_select_mailbox  "Select Default Mailbox: "
-
-//d:Calendar "Default Mailbox" setting item name.
-//l:list_setting_pane_t1/opt1
-//w:
-//r:3.0
-//
-#define qtn_cale_default_mailbox  "Default mailbox"
-
-//d:Calendar no default mailboxes defined prompt
-//l:popup_note_window
-//w:
-//r:3.0
-//
-#define qtn_cale_query_define_mailbox  "No mailboxes defined, define now?"
-
-
-//d:Calendar Settings main pane item
-//l:list_setting_pane_t1
-//r:3.2
-//
-#define qtn_cale_sett_arabic_cale "Arabic calendar"
-
-//d:Opens external calendar application
-//l:list_single_pane_t1_cp2
-//r:3.2
-//
-#define qtn_cale_om_external_cale "External calendar"
-
-//d: Calendar date query prompt
-//l:popup_query_data_window
-//
-#define text_calendar_date_prompt  "Date:"
-
-//d:Title pane text in WeekView main state
-//d:currently highlighted day's Week %N
-//d:%N was setted week number
-//l:title_pane_t2/opt9
-//
-#define qtn_cale_week_view_title  "Week %N"
-
-//d:Title pane text in WeekView main state
-//d:currently highlighted day's %0U - %1U
-//d:The date of dd/mm/yy form is set to %0U or %1U.
-//l:title_pane_t2/opt9
-//
-#define qtn_cale_title_week_days  "%0U -\n %1U"
-
-//d:Confirmation note. 
-//d:Message is shown after system time change, but no alarms were missed.
-//l:popup_note_window
-//
-#define qtn_cale_note_system_time_changed  "System time changed, Calendar events are updated accordingly"
-
-//d:Deleting wait note text
-//l:popup_note_wait_window
-//
-#define qtn_cale_wait_deleting_notes  "Deleting notes..."
-
-//d:Location item text of Meeting form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_note_meeting_location  "location"
-
-//d:Calendar Settings main pane item
-//l:list_setting_pane_t1/opt1
-//
-#define qtn_chi_cale_sett_lunar_cale  "Lunar calendar"
-
-//d: Calendar Settings "Lunar calendar" item
-//l:list_set_graphic_pane_t1
-//
-#define qtn_chi_cale_lunar_cale_on  "On"
-
-//d: Calendar Settings "Lunar calendar" item
-//l:list_set_graphic_pane_t1
-//
-#define qtn_chi_cale_lunar_cale_off  "Off"
-
-//d:Chinese Animal year - Rat
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_animal_rat  "Year of the Rat"
-
-//d:Chinese Animal year - Ox
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_animal_ox  "Year of the Ox"
-
-//d:Chinese Animal year - Tiger
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_animal_tiger  "Year of the Tiger"
-
-//d:Chinese Animal year - Rabbit
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_animal_rabbit  "Year of the Rabbit"
-
-//d:Chinese Animal - Rabbit
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_animal_dragon  "Year of the Dragon"
-
-//d:Chinese Animal - Snake
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_animal_snake  "Year of the Snake"
-
-//d:Chinese Animal - Horse
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_animal_horse  "Year of the Horse"
-
-//d:Chinese Animal - Sheep
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_animal_sheep  "Year of the Sheep"
-
-//d:Chinese Animal - Monkey
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_animal_monkey  "Year of the Monkey"
-
-//d:Chinese Animal - Rooster
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_animal_rooster  "Year of the Rooster"
-
-//d:Chinese Animal - Dog
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_animal_dog  "Year of the Dog"
-
-//d:Chinese Animal - Pig
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_animal_pig  "Year of the Pig"
-
-//d:Chinese Heavenly stem 1
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_heav_stem_1  "Jia"
-
-//d:Chinese Heavenly stem 2
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_heav_stem_2  "Yi"
-
-//d:Chinese Heavenly stem 3
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_heav_stem_3  "Bing"
-
-//d:Chinese Heavenly stem 4
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_heav_stem_4  "Ding"
-
-//d:Chinese Heavenly stem 5
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_heav_stem_5  "Wu"
-
-//d:Chinese Heavenly stem 6
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_heav_stem_6  "Ji"
-
-//d:Chinese Heavenly stem 7
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_heav_stem_7  "Geng"
-
-//d:Chinese Heavenly stem 8
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_heav_stem_8  "Xing"
-
-//d:Chinese Heavenly stem 9
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_heav_stem_9  "Reng"
-
-//d:Chinese Heavenly stem 10
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_heav_stem_10  "Gui"
-
-//d:Chinese Terrestrial branch 1
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_terr_branch_1  "Zi"
-
-//d:Chinese Terrestrial branch 2
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_terr_branch_2  "Chou"
-
-//d:Chinese Terrestrial branch 3
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_terr_branch_3  "Yin"
-
-//d:Chinese Terrestrial branch 4
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_terr_branch_4  "Mao"
-
-//d:Chinese Terrestrial branch 5
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_terr_branch_5  "Chen"
-
-//d:Chinese Terrestrial branch 6
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_terr_branch_6  "Si"
-
-//d:Chinese Terrestrial branch 7
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_terr_branch_7  "Wu"
-
-//d:Chinese Terrestrial branch 8
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_terr_branch_8  "Wei"
-
-//d:Chinese Terrestrial branch 9
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_terr_branch_9  "Shen"
-
-//d:Chinese Terrestrial branch 10
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_terr_branch_10  "You"
-
-//d:Chinese Terrestrial branch 11
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_terr_branch_11  "Xu"
-
-//d:Chinese Terrestrial branch 12
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_terr_branch_12  "Hai"
-
-//d:Chinese solar items 1
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_1  "Li Chun"
-
-//d:Chinese solar items 2
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_2  "Yu Shui"
-
-//d:Chinese solar items 3
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_3  "Jing Zhe"
-
-//d:Chinese solar items 4
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_4  "Chun Fen"
-
-//d:Chinese solar items 5
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_5  "Qing Ming"
-
-//d:Chinese solar items 6
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_6  "Gu Yu"
-
-//d:Chinese solar items 7
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_7  "Li Xia"
-
-//d:Chinese solar items 8
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_8  "Xiao Man"
-
-//d:Chinese solar items 9
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_9  "Mang Zhong"
-
-//d:Chinese solar items 10
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_10  "Xia Zhi"
-
-//d:Chinese solar items 11
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_11  "Xiao Shu"
-
-//d:Chinese solar items 12
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_12  "Da Shu"
-
-//d:Chinese solar items 13
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_13  "Li Qiu"
-
-//d:Chinese solar items 14
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_14  "Chu Shu"
-
-//d:Chinese solar items 15
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_15  "Bai Lu"
-
-//d:Chinese solar items 16
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_16  "Qiu Fen"
-
-//d:Chinese solar items 17
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_17  "Han Lu"
-
-//d:Chinese solar items 18
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_18  "Shuang Jiang"
-
-//d:Chinese solar items 19
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_19  "Li Dong"
-
-//d:Chinese solar items 20
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_20  "Xiao Xue"
-
-//d:Chinese solar items 21
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_21  "Da Xue"
-
-//d:Chinese solar items 22
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_22  "Dong Zhi"
-
-//d:Chinese solar items 23
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_23  "Xiao Han"
-
-//d:Chinese solar items 24
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_24  "Da Han"
-
-//d:Lunar festivals 1
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_festival_name_1  "Spring festival"
-
-//d:Lunar festivals 2
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_festival_name_2  "Lantern festival"
-
-//d:Lunar festivals 3
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_festival_name_3  "Dragon boat festival"
-
-//d:Lunar festivals 4
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_festival_name_4  "Seventh night festival"
-
-//d:Lunar festivals 5
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_festival_name_5  "Ghost festival"
-
-//d:Lunar festivals 6
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_festival_name_6  "Mid autumn festival"
-
-//d:Lunar festivals 7
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_festival_name_7  "Double ninth festival"
-
-//d:Lunar festivals 8
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_festival_name_8  "Eighth day of twelfth month festival"
-
-//d:Lunar festivals 9
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_festival_name_9  "New year's eve"
-
-//d:Opens Lunar data dialog
-//l:list_single_pane_t1_cp2
-//
-#define qtn_chi_cale_lunar_data  "Show lunar data"
-
-//d:Title pane sting in "Show lunar data" dialog
-//l:heading_pane_t1
-//
-#define qtn_chi_cale_lunar_calendar  "Lunar calendar"
-
-//d:Calendar Settings main pane item
-//l:list_setting_pane_t1
-//
-#define qtn_cale_alarm_tone  "Calendar alarm tone"
-
-//d: Empty listbox
-//l: main_list_empty_pane
-//
-#define qtn_cale_no_events  "(No Events)"
-
-//d: The subject text when the item subject is empty in DayView
-//l: list_single_heading_pane_t1
-//
-#define qtn_cale_no_subject  "<Unnamed>"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-#define qtn_tc_off  "Off"
-
-//d: File list dialog header
-//l: heading_pane_t1
-#define qtn_tc_popup_heading  "Select tone: "
-
-//d:Default tone selection choice in alarm tone list  for Calendar and Clock
-//l:list_set_graphic_pane_t1
-//
-#define qtn_mode_default_tone  "Default tone"
-
-//d:Options menu item. 
-//d:Opens Add Description submenu in note editor
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_om_add_descript  "Add Description"
-
-//d:Submenu item for adding new description text to Calendar entry
-//d:Opens Notepad Editor.
-//l:list_single_popup_submenu_pane_t1
-//
-#define qtn_cale_om_descript_new  "New"
-
-//d:Submenu item for adding description text to Calendar entry 
-//d:from existing Notepad memos. Launches Notepad memo fetch.
-//l:list_single_popup_submenu_pane_t1
-//
-#define qtn_cale_om_descript_exist  "Use existing"
-
-//d:Options menu item. 
-//d:Shows Calendar entry description text in Notepad viewer. 
-//d:Opens Notepad viewer.
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_om_desc_show  "Show Description"
-
-//d:Options menu item. 
-//d:Removes description text from Calendar entry.
-//d:Launches confirmation query before removing.
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_om_desc_remove  "Remove Description"
-
-//d:Title text, when editing Calendar description in Notepad
-//l:title_pane_t2/opt9
-//
-#define qtn_cale_note_title  "Calendar Description"
-
-//d:Confirmation text, when deleting Calendar description data from
-//d:Notepad editor
-//l:popup_note_window
-//
-#define qtn_cale_q_del_notep_desc  "Delete Calendar Description?"
-
-//d:Informatio note text shown, when Calendar description is deleted from
-//d:Notepad editor or viewer
-//l:popup_note_window
-//
-#define qtn_cale_inote_desc_del_memo  "Calendar description deleted"
-
-//d:Confirmation text, when deleting Calendar description data from
-//d:Calendar meeting editor
-//l:popup_note_window
-//
-#define qtn_cale_query_remove_descr  "Remove Description?"
-
-//d:Header text for Description form item.
-//d:One truncated line of description is visible below this.
-//l:data_form_wide_pane_t1
-//
-#define qtn_cale_meeting_description  "Description"
-
-//d:Title text of title pane
-//d:Note View
-//l:title_pane_t2/opt9
-//
-#define qtn_todo_note_header  "To-Do Note"
-
-//d:Command in options menu.
-//d:Delete the selected item.
-//l:list_single_pane_t1_cp2
-//
-#define qtn_todo_om_delete  "Delete"
-
-//d:Command in options sub-menu.
-//d:Set a priority high to selected item.
-//l:list_form_graphic_pane_t1
-//
-#define qtn_todo_attr_high  "High" 
-
-//d:Command in options sub-menu.
-//d:Set a priority normal to selected item.
-//l:list_form_graphic_pane_t1
-//
-#define qtn_todo_attr_normal  "Normal"
-
-//d:Command in options sub-menu.
-//d:Set a priority low to selected item.
-//l:list_form_graphic_pane_t1
-//
-#define qtn_todo_attr_low  "Low"
-
-//d:Command in options menu.
-//d:Marked the To-Do item done in List View
-//l:list_single_pane_t1_cp2
-//
-#define qtn_todo_cmd_task_completed  "Task completed"
-
-//d:Command in options menu.
-//d:Unmarked the To-Do item done in List View
-//l:list_single_pane_t1_cp2
-//
-#define qtn_todo_cmd_restore_task  "Restore task"
-
-//d:Confirmation query prompt.
-//d:Deleting the selected one note.
-//l:popup_note_window
-//
-#define qtn_todo_quest_delete_note  "Delete note?"
-
-//d:Confirmation query prompt.
-//d:Deleting the marked one or more notes.
-//l:popup_note_window
-//
-#define qtn_todo_quest_delete_notes  "Delete\n%N notes?"
-
-//d:Wait note text in deleting items.
-//l:popup_note_wait_window
-//
-#define qtn_todo_wait_deleting_notes  "Deleting notes..."
-
-//d:Item texts of form
-//d:Priority field of To-Do Note form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_todo_note_view_priority  "priority"
-
-//d:Item texts of form
-//d:Due date field of To-Do Note form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_todo_note_duedate  "due date"
-
-//d:Item texts of form
-//d:Subject field of To-Do Note form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_todo_note_subject  "subject"
-
-//d: Information note text shown in Calendar application start, 
-//d: when alarms have been passed due system time change
-//l:popup_note_window
-//w:
-//r:3.0
-#define qtn_cale_note_missed_alarms  "1 or more alarms missed due to time change"
-
-//d: Setting item choice to select Todo view as Calendar default view
-//l:list_set_graphic_pane_t1
-//w:
-//r:3.0
-//
-#define qtn_cale_default_todo_view  "Todo view"
-
-
-//d: Options Submenu item to create new Todo note
-//l:list_single_popup_submenu_pane_t1
-//w:
-//r:3.0
-#define qtn_cale_note_todo  "Todo"
-
-//d: Confirmation note shown, when edited Todo note is saved
-//l:popup_note_window
-//w:
-//r:3.0
-#define qtn_cale_note_todo_saved  "Todo Note saved"
-
-//d: Options menu item to open Calendar day view from Todo view
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.0
-#define qtn_cale_opt_view_day  "Day view"
-
-//d: Options menu item to open Todo view from other Calendar views
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.0
-#define qtn_cale_opt_view_todo  "Todo view"
-
-//d: Title pane text for Calendar Todo view that shows all users Todo entries
-//l:title_pane_t2/opt9
-//w:
-//r:3.0
-#define qtn_cale_title_todos  "All Todos"
-
-//d:Snooze time setting header.
-//l:list_setting_pane_t1/opt1
-//w:
-//r:3.1
-#define qtn_cale_set_snooze_time  "Calendar Alarm Snooze Time"
-
-//d:Context-specific text for the current snooze time value in Calendar Settings.
-//l:setting_slider_pane_t2
-//w:
-//r:3.1
-#define qtn_sanim_time_out_slider_ykcur  "1 minute"
-
-//d:Context-specific text for the current snooze time value in Calendar Settings.
-//d:%U in minutes, plural.
-//l:list_set_graphic_pane_t1
-//w:
-//r:3.1
-#define qtn_cale_sanim_time_out_slider_cur  "%U minutes"
-
-//d:Context-specific text for the minimum snooze time value in Calendar Settings.
-//l:setting_slider_pane_t2
-//w:
-//r:3.1
-#define qtn_cale_sanim_time_out_slider_min  "1 min."
-
-//d:Context-specific text for the maximum snooze time value in Calendar Settings.
-//l:setting_slider_pane_t2
-//w:
-//r:3.1
-#define qtn_snooze_time_max  "60 min."
-
-
-//d: Format string for lunar calendar information in Calendar day, week and month views
-//d: Format string is used dynamically to display as much information as possible.
-//d: If all information doesn't fit some information and separators are dropped.  
-//d: Localization can affect order of information.
-//d: If data element is dropped, empty string is supplied for it.
-//d: and either for preceding (or following) separator (%0U) 
-//d: 
-//d: e.g. in Chinese, order should be somethinglike (201030405): "%2U%0U%1U%0U%3U%0U%4U%0U%5U"
-//d: e.g. in Vietnamese, (304050201): "%3U%0U%4U%0U%5U%0U%2U%0U%1U"
-//d: %0U separator between data elements,  qtn_cale_lunar_separator
-//d: %1U animal year format, qtn_cale_animal_year_in_extra_row
-//d: %2U lunar year, qtn_cale_lunar_year
-//d: %3U lunar date, either qtn_cale_lunar_date or qtn_cale_lunar_leap_date
-//d: %4U festival, qtn_chi_cale_festival_name_X
-//d: %5U solar term, qtn_chi_cale_solar_item_X
-//l: None
-//w:
-//r:3.2
-//
-#define qtn_cale_extra_row_lunar "%1U%0U%2U%0U%3U%0U%4U%0U%5U"
-
-
-//d: Separator between data elements in Lunar Calendar extra row.
-//d: E.g. in Chinese, " "
-//d: E.g. in Vietnamese, ", "  
-//l: (None)
-//w:
-//r:3.2
-//
-#define qtn_cale_lunar_separator ", "
-
-
-//d: Chinese lunar date with day, month and year.
-//d: %0U is lunar date. either qtn_cale_lunar_date or qtn_cale_lunar_leap_date
-//d: %1U lunar year.  qtn_cale_lunar_year
-//d: 
-//l: (None)  
-//w:
-//r:3.2
-//
-#define qtn_cale_lunar_full_date "%0U %1U"
-
-
-//d: Chinese lunar date for dates. Used for non-leap month dates. 
-//d: Localication can add language specific separator and extra symbols.
-//d: E.g. in Chinese, character for month should be used: "%0U·%1U"
-//d: E.g. in Vietnamese, order is different and separator is slash "%1U/%0U"
-//d: %0U is lunar month 
-//d: %1U lunar day 
-//l: (None)
-//w:
-//r:3.2
-//
-#define qtn_cale_lunar_date "%0U/%1U"
-
-
-//d: Chinese lunar date for dates that are on leap months. 
-//d: This should be similar to qtn_cale_lunar_date, 
-//d: but language specific leap month indicator should be added to correct place.
-//d: E.g. in Vietnamese:  "%1U/%0U N"
-//d: %0U is lunar month 
-//d: %1U lunar day 
-//l: (None)
-//w:
-//r:3.2
-//
-#define qtn_cale_lunar_leap_date "%0UL/%1U"
-
-
-//d: Chinese lunar year, combination of heavenly stem and terrestial branch 
-//d: %0U is heavenly stem (qtn_chi_cale_heav_stem_X)
-//d: %1U is terrestial branch (qtn_chi_cale_terr_branch_X)
-//d: Localization can add language specific separator between words  
-//d: and if words are written together, space can be removed (e.g. in Chinese).
-//d: E.g. in Chinese "%0U%1U·"
-//d: E.g. in Vietnamese "Nam %0U %1U"
-//l: (None)
-//w:
-//r:3.2
-//
-#define qtn_cale_lunar_year "%0U %1U"
-
-
-//d: Heading text for chinese festival 
-//d: in Lunar calendar information pop-up.
-//d: It's not shown for dates that do not have festival. 
-//l: list_single_pane_t1
-//w:
-//r:3.2
-//
-#define qtn_cale_lunar_info_festival "Festival:"
-
-
-//d: Heading text for chinese solar term
-//d: in Lunar calendar information pop-up.
-//d: It's not shown for dates that do not have solar term.
-//l: list_single_pane_t1
-//w:
-//r:3.2
-//
-#define qtn_cale_lunar_info_solar "Solar term:"
-
-
-//d: Heading text for chinese lunar calendar date
-//d: in Lunar calendar information pop-up.
-//d: Data for this header is qtn_cale_lunar_full_date.
-//l: list_single_pane_t1
-//w:
-//r:3.2
-//
-#define qtn_cale_info_lunar_date "Lunar date:"
-
-
-//d: Heading text for animal year
-//d: in Lunar calendar information pop-up.
-//d: Data for this header is qtn_chi_cale_animal_X
-//l: list_single_pane_t1
-//w:
-//r:3.2
-//
-#define qtn_cale_info_animal_year "Animal year:"
-
-
-//d: Heading text for Gregorian (normal) date 
-//d: in Lunar calendar information pop-up.
-//d: Data for this header is qtn_date_usual_with_zero
-//l: list_single_pane_t1
-//w:
-//r:3.2
-//
-#define qtn_cale_info_western_date "Gregorian date:"
-
-
-//d: Year of Cat. 
-//d: In Vietnamese Lunar Calendar, year of rabbit of Chinese Lunar Calendar is instead a year of cat. 
-//l: list_single_pane_t1_cp2
-//w:
-//r:3.2
-//
-#define qtn_chi_cale_animal_cat "Year of the Cat" 
-
-
-//d: Setting item header for Thai Buddhist year display. 
-//d: Values are On and Off. 
-//d: If setting is on, Buddhist year is shown on 
-//d: separate area in month, week and day views
-//l: list_set_graphic_pane_t1
-//w:
-//r:3.2
-//
-#define qtn_cale_sett_thai_year "Show Buddhist year"
-
-//d: Database conflict note: entry was deleted by other application
-//l: popup_note_window
-//r: 3.2/5.0
-#define qtn_cale_note_db_conflict "Calendar database conflict.  This entry has been deleted by another application."
-
-//d: Database conflict note: entry was modified by other application
-//l: popup_note_window
-//r: 3.2/5.0
-#define qtn_cale_note_db_modified "Calendar database conflict.  This entry has been modified by another application."
-
-//d: Menu item for grouping views. 
-//d: Values are month, week, day and todo. 
-//l: list_single_pane_t1_cp2
-//w:
-//r:4.0
-//
-#define qtn_cale_opt_change_view "Change view"
-
-//d: Menu item for changing to month view. 
-//d: Value is month.
-//l: list_single_popup_submenu_pane_t1
-//w:
-//r:4.0
-//
-#define qtn_cale_opt_change_month "Month"
-
-//d: Menu item for changing to week view. 
-//d: Value is week.
-//l: list_single_popup_submenu_pane_t1
-//w:
-//r:4.0
-//
-#define qtn_cale_opt_change_week "Week"
-
-//d: Menu item for changing to day view. 
-//d: Value is day.
-//l: list_single_popup_submenu_pane_t1
-//w:
-//r:4.0
-//
-#define qtn_cale_opt_change_day "Day"
-
-//d: Menu item for changing to todo view. 
-//d: Value is todo.
-//l: list_single_popup_submenu_pane_t1
-//w:
-//r:4.0
-//
-#define qtn_cale_opt_change_todo "To-Do"
-
-//d: Tooltip text for previous view button. 
-//l: popup_preview_text_window_t1
-//w:
-//r:3.2
-//
-#define qtn_cale_tooltip_prev_view "Previous view"
-
-//d: Tooltip text for month view button. 
-//l: popup_preview_text_window_t1
-//w:
-//r:3.2
-//
-#define qtn_cale_tooltip_month_view "Month view"
-
-//d: Tooltip text for week view button. 
-//l: popup_preview_text_window_t1
-//w:
-//r:3.2
-//
-#define qtn_cale_tooltip_week_view "Week view"
-
-//d: Tooltip text for day view button. 
-//l: popup_preview_text_window_t1
-//w:
-//r:3.2
-//
-#define qtn_cale_tooltip_day_view "Day view"
-
-//d: Tooltip text for todo view button. 
-//l: popup_preview_text_window_t1
-//w:
-//r:3.2
-//
-#define qtn_cale_tooltip_todo_view "ToDo view"
-
-//d: Tooltip text for next view button. 
-//l: popup_preview_text_window_t1
-//w:
-//r:3.2
-//
-#define qtn_cale_tooltip_next_view "Next view"
-
-//d: Tooltip text for new entry button. 
-//l: popup_preview_text_window_t1
-//w:
-//r:3.2
-//
-#define qtn_cale_tooltip_new_entry "New entry"
-
-//d: New note query heading, which shows up when MSK is pressed, when day view or to do view is empty
-//d: Value is New Entry
-//l: heading_pane_t1
-//w:
-//r:5.0
-//
-#define qtn_cale_lq_new_entry "New entry"
-
-//d: List item in new note query, which shows up when MSK is pressed when day view or to do view is empty
-//d: Value is meeting
-//l: list_single_pane_t1_cp2
-//w:
-//r:5.0
-//
-#define qtn_cale_lq_new_meeting "Meeting"
-
-//d: List item in new note query, which shows up when MSK is pressed when day view or to do view is empty
-//d: Value is mr
-//l: list_single_pane_t1_cp2
-//w:
-//r:5.0
-//
-#define qtn_cale_lq_new_mr "Meeting Request"
-
-//d: List item in new note query, which shows up when MSK is pressed when day view or to do view is empty
-//d: Value is memo
-//l: list_single_pane_t1_cp2
-//w:
-//r:5.0
-//
-#define qtn_cale_lq_new_memo "Memo"
-
-//d: List item in new note query, which shows up when MSK is pressed when day view or to do view is empty
-//d: Value is anniv
-//l: list_single_pane_t1_cp2
-//w:
-//r:5.0
-//
-#define qtn_cale_lq_new_anniversary "Anniversary"
-
-//d: List item in new note query, which shows up when MSK is pressed, when day view or to do view is empty
-//d: Value is todo
-//l: list_single_pane_t1_cp2
-//w:
-//r:5.0
-//
-#define qtn_cale_lq_new_todo "To-Do"
-
-//d: Edits a note
-//d: Value is Edit
-//l: list_single_pane_t1_cp2
-//r 3.2
-//
-#define qtn_cale_om_edit "Edit"
-
-//d: Calendar Go to date query prompt
-//l: popup_query_data_window_t3/opt2
-//
-#define qtn_cale_go_to_date  "Go to date:"
-
-//d: Msk label displayed in Todo/Day view when there are no events for a day
-//d: Value is New
-//l: control_pane_t3/opt7
-//r: 5.0
-//
-#define qtn_cale_msk_new_entry "New"
-
-//d: Tooltip text for Next View
-//l: popup_preview_text_window_t1
-//w:
-//r: 5.0
-//
-#define qtn_cale_tb_next_view "Next view"
-
-//d: Tooltip text for New Meeting 
-//l: popup_preview_text_window_t1
-//w:
-//r: 5.0
-//
-#define qtn_cale_tb_new_meeting "New meeting"
-
-//d: Tooltip text for New ToDo 
-//l: popup_preview_text_window_t1
-//w:
-//r: 5.0
-//
-#define qtn_cale_tb_new_todo "New to-do"
-
-//d:Long tap on day opens Long tap menu to create new Meeting note
-//l:list_single_pane_t1_cp2
-//w:
-//r: 5.0
-//
-#define qtn_cale_long_tap_meeting "New meeting"
-
-//d:Long tap on day opens Long tap menu to create new Anniversary Note
-//l:list_single_pane_t1_cp2
-//w:
-//r: 5.0
-//
-#define qtn_cale_long_tap_anniversary  "New anniversary"
-
-//dLong tap on day opens Long tap menu to create new  Day Note
-//l:list_single_pane_t1_cp2
-//w:
-//r: 5.0
-//
-#define qtn_cale_long_tap_memo  "New memo"
-
-//d: Long tap on day opens Long tap menu to create new Todo note
-//l:list_single_pane_t1_cp2
-//w:
-//r: 5.0
-//
-#define qtn_cale_long_tap_todo  "New todo"
-
-//d: Format string for data shown in preview pane
-//d: %0U is start time
-//d: %1U is hyphen or space
-//d: %2U is end time
-//d: %3U is subject
-//d: %4U is location
-//d: %5U is description
-//d: %6U is language specific separator
-//d: %7U is space
-//l: list_single_fp_cale_pane_t2/opt1
-//w:
-//r: 5.0
-//
-#define qtn_cale_pane_event_data "%0U%1U%2U%7U%3U%6U%4U%6U%5U"
-
-//d: Title for the preview pane
-//d: %0U is currently focused week day
-//d: %1U is currently focused date
-//l: popup_fixed_preview_cale_window_t1
-//w: 
-//r: 5.0
-//
-#define qtn_cale_pane_title "%0U %1U"
-
-//d: No events in preview pane
-//l: popup_fixed_preview_cale_window_t2/opt1 
-//w:
-//r: 5.0
-//
-#define qtn_cale_pane_no_events "(No events)"
-
-//d: Popup Event Separator
-//l: None
-//w:
-//r: 5.0
-//
-#define qtn_cale_popup_event_separator ","
-
-//d: Options menu item for clearing a missed alarm
-//l: list_single_pane_t1_cp2
-//w: 
-//r: 5.0 
-#define qtn_cale_mav_opt_clear  "Clear"
-
-//d: Options menu items for clearing all the missed alarms
-//l: list_single_pane_t1_cp2
-//w: 
-//r: 5.0 
-#define qtn_cale_mav_opt_clear_all  "Clear all"
-
-//d: Go to previous view from where Missed Alarms View is launched
-//l: list_single_pane_t1_cp2
-//w: 
-//r: 5.0 
-#define qtn_cale_mav_opt_goto_cale  "Go to Calendar"
-
-//d: Options menu item to open Calendar's Missed Alarms View 
-//l: list_single_pane_t1_cp2
-//w:
-//r: 5.0
-#define qtn_cale_opt_mav  "Missed alarms"
-
-//d: Title pane text for Calendar's Missed Alarms view that shows all the missed alarms
-//l: title_pane_t2/opt9
-//w:
-//r: 5.0
-#define qtn_cale_title_missed_alarms  "Missed Alarms"
-
-//d: Start date and time of the missed alarm event
-//l: list_double_graphic_pane_t2
-//w:
-//r: 5.0 
-#define qtn_cale_mav_start_time "%0U %1U"
-
-//d: Tooltip text for Clearing a Missed Alarm
-//l: popup_preview_text_window_t1
-//w:
-//r: 5.0
-//
-#define qtn_cale_mav_tb_clear "Clear"
-
-//d: Tooltip text for Clearing all the Missed Alarms 
-//l: popup_preview_text_window_t1
-//w:
-//r: 5.0
-//
-#define qtn_cale_mav_tb_clearall "Clear all"
-
-//d: Tooltip text for activating the previous view from where Missed Alarms View is launched
-//l: popup_preview_text_window_t1
-//w:
-//r: 5.0
-//
-#define qtn_cale_mav_tb_goto_cale "Go to Calendar"
-
-//d: Query for viewing the missed alarms view for one missed alarm
-//l: popup_note_window
-//w: 
-//r: 5.0
-//
-#define qtn_cale_query_view_missed  "One missed Calendar event.Do you want to view it?"
-
-//d: Query for viewing the missed alarms view for multiple missed alarms
-//l: popup_note_window
-//w: 
-//r: 5.0
-//
-#define qtn_cale_query_view_missed_n  "%N missed Calendar events.Do you want to view them?"
-
-//d: The subject text when the item subject is empty in Missed alarms view
-//l: list_double_large_graphic_pane_t1
-//w: 
-//r: 5.0
-//
-#define qtn_cale_mav_unnamed  "(Unnamed)"
-
-//d:Command in stylus popup menu.
-//d:Marked the To-Do item done in List View and Preview popup.
-//l:list_single_touch_menu_pane_t1
-//w: 
-//r: 5.0
-//
-#define qtn_cale_stylus_popup_cmd_task_completed  "Mark as done" 
-
-//d:Command in stylus popup menu.
-//d:Unmarked the To-Do item done in List View.
-//l:list_single_touch_menu_pane_t1
-//w: 
-//r: 5.0
-//
-#define qtn_cale_stylus_cmd_restore_task  "Mark as not done"
-
-//d:Command in stylus popup menu.
-//d:Delete the selected item.
-//l:list_single_touch_menu_pane_t1
-//w: 
-//r: 5.0
-//
-#define qtn_cale_stylus_popup_delete  "Delete"
-
-//d:Command in stylus popup menu.
-//d:Send the selected item.
-//l:list_single_touch_menu_pane_t1
-//w: 
-//r: 5.0
-//
-#define qtn_cale_stylus_popup_send  "Send"
-
-//d:Command in stylus popup menu.
-//d:Mark-operation. Marks selected item.
-//l:list_single_touch_menu_pane_t1
-//w: 
-//r: 5.0
-//
-#define qtn_cale_stylus_popup_mark  "Mark"
-
-//d:Command in stylus popup menu.
-//d:Unmark-operation. Unmarks selected marked item.
-//l:list_single_touch_menu_pane_t1
-//w: 
-//r: 5.0
-//
-#define qtn_cale_stylus_popup_unmark  "Unmark"
-
-//d: Tooltip text for editing current calendar note
-//l: popup_preview_text_window_t1
-//w:
-//r: 5.0
-//
-#define qtn_cale_tb_edit "Edit"
-
-//d: Tooltip text for deleting current calendar note
-//l: popup_preview_text_window_t1
-//w:
-//r: 5.0
-//
-#define qtn_cale_tb_delete "Delete"
-
-//d: Tooltip text for sending calendar note
-//l: popup_preview_text_window_t1
-//w:
-//r: 5.0
-//
-#define qtn_cale_tb_send "Send"
-
-//d: Default tone selection choice in alarm tone list for Calendar and Clock
-//l: list_single_graphic_pane_t1_cp2
-//w:
-//r: 5.0
-#define qtn_cale_tc_no_personal_tone "Default tone"
-
-//d: "Off" tone selection choice in alarm tone list for Calendar and Clock
-//l: list_single_graphic_pane_t1_cp2
-//w:
-//r: 5.0
-#define qtn_cale_tc_none  "Off"
-
-//d:Opens Maps application for choosing new location
-//l:list_single_pane_t1_cp2
-//w:
-//r: 5.1
-#define qtn_cale_om_assign_from_map  "Assign from map"
-
-//d: Msk label displayed in Editors when there is no map location
-//d: Value is From map
-//l: control_pane_t3/opt7
-//r: 5.1
-//
-#define text_softkey_from_map "From map"
-
-//d:Opens Maps application for choosing new location
-//l:list_single_pane_t1_cp2
-//w:
-//r: 5.1
-#define qtn_cale_om_find_on_map  "Find on map"
-
-//d:Opens Maps application fto show the location
-//l:list_single_pane_t1_cp2
-//w:
-//r: 5.1
-#define qtn_cale_om_show_on_map  "Show on map"
-
-//d:Shows Update location query
-//l:heading_pane_t1
-//w:
-//r: 5.1
-#define qtn_cale_update_location  "Update location:"
-
-//d:Adds selected address to existing location details
-//l:list_single_pane_t1_cp2
-//w:
-//r: 5.1
-#define qtn_cale_addto_existing_location  "Add to existing"
-
-//d:Replaces existing location details with selected address
-//l:list_single_pane_t1_cp2
-//w:
-//r: 5.1
-#define qtn_replace_existing_location  "Replace existing"
-
-//d:Confirmation query prompt.
-//d:Replace the exisitng map location with new one
-//d: %0U is the name of the location with which existing one is being replaced
-//l:popup_note_window
-//w:
-//r: 5.1
-#define qtn_cale_confirm_change_address  "Update Address to %U?"
-
-//d: Confirmation note shown, when address is replaced with new one
-//l:popup_note_window
-//w:
-//r:5.1
-#define qtn_cale_note_address_updated  "Address Updated"
-
-//d: Confirmation note shown, when address with coordinates is manually changed
-//l:popup_note_window
-//w:
-//r:5.1
-#define qtn_cale_confirm_keep_coordinates  "Address will be updated. Keep existing map location?"
-
-//d:Context-specific text for the current snooze time value in Calendar Settings.
-//l:list_set_graphic_pane_t1
-//w:
-//r:3.1
-#define qtn_cale_sanim_time_out_slider_ykcur  "1 minute"
-
-//d:Context-specific text for the current snooze time value in Calendar Settings.
-//d:%U in minutes, plural.
-//l:setting_slider_pane_t2 
-//w:
-//r:3.1
-#define qtn_set_cale_sanim_time_out_slider_cur  "%U minutes"
-// End of File
--- a/calendarui/regionalplugins/bwins/calenlunarchinesepluginu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-EXPORTS
-	?AnimalYear@CCalenLunarLocalizedInfo@@QAEABVTDesC16@@XZ @ 1 NONAME ; class TDesC16 const & CCalenLunarLocalizedInfo::AnimalYear(void)
-	?SolarTerm@CCalenLunarLocalizedInfo@@QAEABVTDesC16@@XZ @ 2 NONAME ; class TDesC16 const & CCalenLunarLocalizedInfo::SolarTerm(void)
-	?GregorianDate@CCalenLunarLocalizedInfo@@QAEABVTDesC16@@XZ @ 3 NONAME ; class TDesC16 const & CCalenLunarLocalizedInfo::GregorianDate(void)
-	?LunarMonthAndDay@CCalenLunarLocalizedInfo@@QAEABVTDesC16@@XZ @ 4 NONAME ; class TDesC16 const & CCalenLunarLocalizedInfo::LunarMonthAndDay(void)
-	?Festival@CCalenLunarLocalizedInfo@@QAEABVTDesC16@@XZ @ 5 NONAME ; class TDesC16 const & CCalenLunarLocalizedInfo::Festival(void)
-	?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 6 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &)
-	?FullLunarDate@CCalenLunarLocalizedInfo@@QAEABVTDesC16@@XZ @ 7 NONAME ; class TDesC16 const & CCalenLunarLocalizedInfo::FullLunarDate(void)
-	?LunarYear@CCalenLunarLocalizedInfo@@QAEABVTDesC16@@XZ @ 8 NONAME ; class TDesC16 const & CCalenLunarLocalizedInfo::LunarYear(void)
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/regionalplugins/calenregionalutil/calenregionalutil.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,92 @@
+#
+# 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: Project file for calenregionalutil module.
+#
+
+TEMPLATE = lib
+CONFIG += hb
+TARGET = calenregionalutil
+
+DEPENDPATH +=  ./inc \
+							 ./src \
+							 ./data
+							 
+INCLUDEPATH +=  ./inc 
+INCLUDEPATH += ../inc \
+			   ../../inc
+
+# Input
+HEADERS += 	./inc/calenextrarowformatter.h \
+						./inc/calenlunarinfo.h \
+						./inc/calenlunarinfoprovider.h \
+						./inc/calenlunarlocalizedinfo.h \
+						./inc/calenlunarlocalizer.h \
+						./inc/calensolarterms.h \
+						./inc/calenregionalpluginuids.h \
+						./inc/calenlunarpaths.h \
+						./inc/calenlunarpanic.h
+ 
+
+SOURCES +=  ./src/calenextrarowformatter.cpp \
+						./src/calenlunarinfo.cpp \
+						./src/calenlunarinfoprovider.cpp \
+						./src/calenlunarlocalizedinfo.cpp \
+						./src/calenlunarlocalizer.cpp \
+						./src/calensolarterms.cpp \
+       
+       
+
+            
+RESOURCES += calenregionalutil.qrc
+ 
+symbian: {
+
+	TARGET.UID2 = 0x1000008d 
+	TARGET.UID3 = 0x20022EDB
+	TARGET.CAPABILITY = CAP_GENERAL_DLL
+	TARGET.EPOCALLOWDLLDATA = 1
+	INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+	
+	BLD_INF_RULES.prj_exports += \
+		"./inc/calenextrarowformatter.h			|../inc/calenextrarowformatter.h" \
+		"./inc/calenlunarinfo.h							|../inc/calenlunarinfo.h" \
+		"./inc/calenlunarinfoprovider.h     |../inc/calenlunarinfoprovider.h" \
+		"./inc/calenlunarlocalizedinfo.h   	|../inc/calenlunarlocalizedinfo.h" \
+		"./inc/calenlunarlocalizer.h   			|../inc/calenlunarlocalizer.h" \
+		"./inc/calenlunarpanic.h   					|../inc/calenlunarpanic.h" \
+		"./inc/CalenLunarPaths.h						|../inc/CalenLunarPaths.h" \
+		"./inc/CalenRegionalPluginUids.h		|../inc/CalenRegionalPluginUids.h" \
+		"./inc/CalenSolarTerms.h						|../inc/CalenSolarTerms.h"
+		
+		LIBS +=    	-lcalinterimapi \
+						-lcone \
+            -lecom \
+            -leikcdlg \
+            -leikctl \
+            -leikcoctl \
+            -leikcore \
+            -leuser \
+            -lgdi \
+            -lbafl \
+            -lplatformenv \
+            -lefsrv \
+            -lCommonEngine \
+            -lccon \
+            -lestor \
+            -lcentralrepository \
+            -lCdlEngine
+}
+
+
+# End of file	--Don't remove this.
\ No newline at end of file
Binary file calendarui/regionalplugins/calenregionalutil/data/calenregional_en_GB.qm has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/regionalplugins/calenregionalutil/data/calenregionalutil.qrc	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,5 @@
+<RCC>
+	<qresource prefix="/translations">
+		<file alias="calenregional_en_GB">calenregional_en_GB.qm</file>
+	</qresource>
+</RCC>
\ No newline at end of file
--- a/calendarui/regionalplugins/calenregionalutil/data/calenregionalutil.rss	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,197 +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: This file contains all the resources for the calenregionalutil.
-*
-*/
-
-#include <eikon.rh>
-#include <avkon.hrh>
-#include <avkon.rh>
-#include <avkon.rsg>
-
-#include "calendarregionalplugin.loc"
-NAME CLRU
-
-RESOURCE RSS_SIGNATURE { }
-
-RESOURCE TBUF r_cale_lunar_separator
-    {
-    buf = qtn_cale_lunar_separator;
-    }
-
-
-RESOURCE TBUF r_cale_extra_row_lunar
-    {
-    buf = qtn_cale_extra_row_lunar;
-    }
-
-RESOURCE TBUF r_cale_lunar_year
-    {
-    buf = qtn_cale_lunar_year;
-    }
-
-
-RESOURCE TBUF r_cale_lunar_full_date
-    {
-    buf = qtn_cale_lunar_full_date;
-    }
-
-RESOURCE TBUF r_cale_lunar_leap_date
-    {
-    buf = qtn_cale_lunar_leap_date;
-    }
-
-RESOURCE TBUF r_cale_lunar_date
-    {
-    buf = qtn_cale_lunar_date;
-    }
-
-// ---------------------------------------------------------
-//
-//    r_calen_chi_festivals
-//    Descripter array for Chinese festivals
-//
-// ---------------------------------------------------------
-//
-RESOURCE ARRAY r_calen_chi_festivals
-    {
-    items =
-        {
-        LBUF { txt = qtn_chi_cale_festival_name_1; },
-        LBUF { txt = qtn_chi_cale_festival_name_2; },
-        LBUF { txt = qtn_chi_cale_festival_name_3; },
-        LBUF { txt = qtn_chi_cale_festival_name_4; },
-        LBUF { txt = qtn_chi_cale_festival_name_5; },
-        LBUF { txt = qtn_chi_cale_festival_name_6; },
-        LBUF { txt = qtn_chi_cale_festival_name_7; },
-        LBUF { txt = qtn_chi_cale_festival_name_8; },
-        LBUF { txt = qtn_chi_cale_festival_name_9; }
-        };
-    }
-
-
-// ---------------------------------------------------------
-//
-//    r_calen_chi_solar_items
-//    Descripter array for Chinese solar items
-//
-// ---------------------------------------------------------
-//
-RESOURCE ARRAY r_calen_chi_solar_items
-    {
-    items =
-        {
-        LBUF { txt = qtn_chi_cale_solar_item_1;  },
-        LBUF { txt = qtn_chi_cale_solar_item_2;  },
-        LBUF { txt = qtn_chi_cale_solar_item_3;  },
-        LBUF { txt = qtn_chi_cale_solar_item_4;  },
-        LBUF { txt = qtn_chi_cale_solar_item_5;  },
-        LBUF { txt = qtn_chi_cale_solar_item_6;  },
-        LBUF { txt = qtn_chi_cale_solar_item_7;  },
-        LBUF { txt = qtn_chi_cale_solar_item_8;  },
-        LBUF { txt = qtn_chi_cale_solar_item_9;  },
-        LBUF { txt = qtn_chi_cale_solar_item_10; },
-        LBUF { txt = qtn_chi_cale_solar_item_11; },
-        LBUF { txt = qtn_chi_cale_solar_item_12; },
-        LBUF { txt = qtn_chi_cale_solar_item_13; },
-        LBUF { txt = qtn_chi_cale_solar_item_14; },
-        LBUF { txt = qtn_chi_cale_solar_item_15; },
-        LBUF { txt = qtn_chi_cale_solar_item_16; },
-        LBUF { txt = qtn_chi_cale_solar_item_17; },
-        LBUF { txt = qtn_chi_cale_solar_item_18; },
-        LBUF { txt = qtn_chi_cale_solar_item_19; },
-        LBUF { txt = qtn_chi_cale_solar_item_20; },
-        LBUF { txt = qtn_chi_cale_solar_item_21; },
-        LBUF { txt = qtn_chi_cale_solar_item_22; },
-        LBUF { txt = qtn_chi_cale_solar_item_23; },
-        LBUF { txt = qtn_chi_cale_solar_item_24; }
-        };
-    }
-
-
-// ---------------------------------------------------------
-//
-//    r_calen_chi_heav_stems
-//    Descriptor array for heavenly stems
-//
-// ---------------------------------------------------------
-//
-RESOURCE ARRAY r_calen_chi_heav_stems
-    {
-    items =
-        {
-        LBUF { txt = qtn_chi_cale_heav_stem_1; },
-        LBUF { txt = qtn_chi_cale_heav_stem_2; },
-        LBUF { txt = qtn_chi_cale_heav_stem_3; },
-        LBUF { txt = qtn_chi_cale_heav_stem_4; },
-        LBUF { txt = qtn_chi_cale_heav_stem_5; },
-        LBUF { txt = qtn_chi_cale_heav_stem_6; },
-        LBUF { txt = qtn_chi_cale_heav_stem_7; },
-        LBUF { txt = qtn_chi_cale_heav_stem_8; },
-        LBUF { txt = qtn_chi_cale_heav_stem_9; },
-        LBUF { txt = qtn_chi_cale_heav_stem_10;}
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_calen_chi_terr_branches
-//    Descripter array for Terrestrial branches
-//
-// ---------------------------------------------------------
-//
-RESOURCE ARRAY r_calen_chi_terr_branches
-    {
-    items =
-        {
-        LBUF { txt = qtn_chi_cale_terr_branch_1;  },
-        LBUF { txt = qtn_chi_cale_terr_branch_2;  },
-        LBUF { txt = qtn_chi_cale_terr_branch_3;  },
-        LBUF { txt = qtn_chi_cale_terr_branch_4;  },
-        LBUF { txt = qtn_chi_cale_terr_branch_5;  },
-        LBUF { txt = qtn_chi_cale_terr_branch_6;  },
-        LBUF { txt = qtn_chi_cale_terr_branch_7;  },
-        LBUF { txt = qtn_chi_cale_terr_branch_8;  },
-        LBUF { txt = qtn_chi_cale_terr_branch_9;  },
-        LBUF { txt = qtn_chi_cale_terr_branch_10; },
-        LBUF { txt = qtn_chi_cale_terr_branch_11; },
-        LBUF { txt = qtn_chi_cale_terr_branch_12; }
-        };
-    }
-
-// ---------------------------------------------------------
-//
-//    r_calen_chi_animal_years
-//    Descriptor array for Chinese animal years
-//
-// ---------------------------------------------------------
-//
-RESOURCE ARRAY r_calen_chi_animal_years
-    {
-    items =
-        {
-        LBUF { txt = qtn_chi_cale_animal_rat;     },
-        LBUF { txt = qtn_chi_cale_animal_ox;      },
-        LBUF { txt = qtn_chi_cale_animal_tiger;   },
-        LBUF { txt = qtn_chi_cale_animal_rabbit;  },
-        LBUF { txt = qtn_chi_cale_animal_dragon;  },
-        LBUF { txt = qtn_chi_cale_animal_snake;   },
-        LBUF { txt = qtn_chi_cale_animal_horse;   },
-        LBUF { txt = qtn_chi_cale_animal_sheep;   },
-        LBUF { txt = qtn_chi_cale_animal_monkey;  },
-        LBUF { txt = qtn_chi_cale_animal_rooster; },
-        LBUF { txt = qtn_chi_cale_animal_dog;     },
-        LBUF { txt = qtn_chi_cale_animal_pig;     }
-        };
-    }
--- a/calendarui/regionalplugins/calenregionalutil/eabi/calenregionalutilu.def	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/regionalplugins/calenregionalutil/eabi/calenregionalutilu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -24,12 +24,4 @@
 	_ZN24CCalenLunarLocalizedInfoD0Ev @ 23 NONAME
 	_ZN24CCalenLunarLocalizedInfoD1Ev @ 24 NONAME
 	_ZN24CCalenLunarLocalizedInfoD2Ev @ 25 NONAME
-	_ZTI20CCalenLunarLocalizer @ 26 NONAME
-	_ZTI23CCalenExtraRowFormatter @ 27 NONAME
-	_ZTI23CCalenLunarInfoProvider @ 28 NONAME
-	_ZTI24CCalenLunarLocalizedInfo @ 29 NONAME
-	_ZTV20CCalenLunarLocalizer @ 30 NONAME
-	_ZTV23CCalenExtraRowFormatter @ 31 NONAME
-	_ZTV23CCalenLunarInfoProvider @ 32 NONAME
-	_ZTV24CCalenLunarLocalizedInfo @ 33 NONAME
 
--- a/calendarui/regionalplugins/calenregionalutil/group/bld.inf	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +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:   This file provides the information required for building 
-*                CalenInterimUtils
-*
-*/
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../inc/calenextrarowformatter.h         |../../inc/calenextrarowformatter.h
-../inc/calenlunarinfo.h                 |../../inc/calenlunarinfo.h
-../inc/calenlunarinfoprovider.h         |../../inc/calenlunarinfoprovider.h
-../inc/calenlunarlocalizedinfo.h        |../../inc/calenlunarlocalizedinfo.h
-../inc/calenlunarlocalizer.h            |../../inc/calenlunarlocalizer.h
-../inc/calenlunarpanic.h                |../../inc/calenlunarpanic.h
-../inc/calenlunarpaths.h                |../../inc/calenlunarpaths.h
-../inc/calenregionalpluginuids.h        |../../inc/calenregionalpluginuids.h
-../inc/calensolarterms.h                |../../inc/calensolarterms.h
-
-PRJ_MMPFILES
-calenregionalutil.mmp
-
-// End of file
--- a/calendarui/regionalplugins/calenregionalutil/group/calenregionalutil.mmp	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +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: Project description file for calendar regional utilities
-*
-*/
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-// Target
-TARGET			calenregionalutil.dll 
-TARGETTYPE		DLL
-
-UID				0x1000008d 0x20022EDB
-CAPABILITY		CAP_GENERAL_DLL
-VENDORID        VID_DEFAULT
-
-// Includes
-USERINCLUDE     ../inc
-USERINCLUDE     ../../inc
-USERINCLUDE     ../../../inc
-USERINCLUDE     ../../loc
-APP_LAYER_SYSTEMINCLUDE
-
-// Resource
-SOURCEPATH      ../data
-START RESOURCE  calenregionalutil.rss
-HEADER
-TARGETPATH      RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END  // RESOURCE
-
-// Source
-SOURCEPATH		../src
-SOURCE			calenextrarowformatter.cpp
-SOURCE			calenlunarinfo.cpp
-SOURCE			calenlunarinfoprovider.cpp
-SOURCE			calenlunarlocalizedinfo.cpp
-SOURCE			calenlunarlocalizer.cpp
-SOURCE			calensolarterms.cpp
-
-// Libraries
-LIBRARY			avkon.lib
-LIBRARY			calinterimapi.lib
-LIBRARY			cone.lib
-LIBRARY			ecom.lib
-LIBRARY			eikcdlg.lib
-LIBRARY			eikctl.lib
-LIBRARY			eikcoctl.lib
-LIBRARY			eikcore.lib
-LIBRARY			euser.lib
-LIBRARY			gdi.lib
-LIBRARY			bafl.lib
-LIBRARY			platformenv.lib
-LIBRARY			efsrv.lib
-LIBRARY			commonengine.lib
-LIBRARY			ccon.lib 
-LIBRARY			estor.lib
-LIBRARY			centralrepository.lib
-LIBRARY			cdlengine.lib
-
-// End of file
--- a/calendarui/regionalplugins/calenregionalutil/inc/calenlunarlocalizer.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/regionalplugins/calenregionalutil/inc/calenlunarlocalizer.h	Thu Jul 22 16:32:51 2010 +0100
@@ -26,6 +26,7 @@
 #include "CalendarVariant.hrh"
 #include "calendarui_debug.h"
 
+class QStringList;
 class CEikonEnv;
 class TCalenLunarInfo;
 class TChineseDate;
@@ -64,49 +65,40 @@
      * Localized names of lunar festivals
      * Own.
      */
-    CDesCArray* iFestivalNames;
-    
+    QStringList iFestivalNames;
+
     /**
      * Localized names of solar terms 
      * Own.
      */
-    CDesCArray* iSolarTermNames;
+    QStringList iSolarTermNames;
 
     /**
      * Localized names of animal years
      * Own.
      */
-    CDesCArray* iAnimalYearNames;
+    QStringList iAnimalYearNames;
 
     /**
      * Localized names of heavenly stems
      * Own.
      */
-    CDesCArray* iHeavenlyStemNames;
+    QStringList iHeavenlyStemNames;
 
     /**
      * Localized names of terrestial branches
      * Own.
      */
-    CDesCArray* iTerrestialBranchNames;
+    QStringList iTerrestialBranchNames;
 
 
-    /**
-     * Format string for western date.
-     * Own.
-     */
-    HBufC* iGregorianDateFormat;
-
     TBuf<1000> iLunarExtraRowText;
 
-
     /**
      * Language independent formatter of extra row information.
      */
     CCalenExtraRowFormatter* iRowFormatter;
     
-    TInt  iResourceFileOffset;
-
     };
 
 #endif // __CALENLUNARLOCALIZER_H__
--- a/calendarui/regionalplugins/calenregionalutil/src/calenextrarowformatter.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/regionalplugins/calenregionalutil/src/calenextrarowformatter.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -15,16 +15,18 @@
  *
 */
 
-
+#include <qstringlist.h>
+#include <hbglobal.h>
 
-#include <calenregionalutil.rsg>
 #include <badesca.h> 
 #include <eikenv.h>
-#include <StringLoader.h>
 
 #include "calendarui_debug.h"
 #include "CalenExtraRowFormatter.h"
 
+// Constants
+const TInt KZero( 0 );
+
 // -----------------------------------------------------------------------------
 // CollapseDuplicatesL
 // -----------------------------------------------------------------------------
@@ -34,7 +36,7 @@
     TRACE_ENTRY_POINT;
     
     const TInt sublen = aSub.Length();
-    if (aStr.Length() == 0 || sublen == 0)
+    if (aStr.Length() == KZero || sublen == KZero || aPos < KZero || (aPos >aStr.Length()))
         {
         return;
         }
@@ -42,14 +44,14 @@
     TPtrC remaining = aStr.Mid( aPos );
     TInt fstInRemaining = remaining.Find( aSub );
     
-    if ( fstInRemaining >= 0 )
+    if ( fstInRemaining >= KZero )
         {
         TInt restPos = fstInRemaining + sublen;
         TPtrC rest = remaining.Mid( restPos );
         TInt sndInRest = rest.Find( aSub );
 
         // 1) two substrings found in sequence 
-        if (sndInRest == 0)
+        if (sndInRest == KZero)
             { 
             // replace second substring with empty string
             TInt fst = aPos + fstInRemaining;
@@ -59,7 +61,7 @@
             CollapseDuplicatesL( aStr, fst, aSub );
             }
         // 2) substring found later in string 
-        else if (sndInRest > 0)
+        else if (sndInRest > KZero)
             {         
             // continue collapsing from this second substring
             TInt snd = aPos + restPos + sndInRest;
@@ -90,15 +92,15 @@
     
     // Trailing
     const TInt sublen = aSub.Length();
-    if ( aStr.Right( sublen ).Find( aSub ) == 0 )
+    if ( aStr.Right( sublen ).Find( aSub ) == KZero )
         {
         aStr.Replace( aStr.Length() - sublen, sublen, KNullDesC );
         }
 
     // Leading 
-    if ( aStr.Left( sublen ).Find( aSub ) == 0 )
+    if ( aStr.Left( sublen ).Find( aSub ) == KZero )
         {
-        aStr.Replace( 0, sublen, KNullDesC );
+        aStr.Replace( KZero, sublen, KNullDesC );
         }
         
     TRACE_EXIT_POINT;
@@ -159,45 +161,44 @@
 EXPORT_C TPtrC CCalenExtraRowFormatter::FormatExtraRowInformationL( 
     CCalenLunarLocalizedInfo& aLocInfo, 
     RArray<CCalenLunarLocalizedInfo::TField>& aPrioritizedFields )
-    {
-    TRACE_ENTRY_POINT;
-    
-    
-    if ( aPrioritizedFields.Count() == 0)
-        {
-        iText = KNullDesC;
-        
-        TRACE_EXIT_POINT;
-        return iText;
-        }
+{
+	TRACE_ENTRY_POINT;
+
+
+	if ( aPrioritizedFields.Count() == KZero)
+	{
+		iText = KNullDesC;
+
+		TRACE_EXIT_POINT;
+		return iText;
+	}
 
-    // Initialize substring labels
-    RArray<CCalenLunarLocalizedInfo::TField> subLabels;
-    CleanupClosePushL( subLabels );
-    subLabels.AppendL( CCalenLunarLocalizedInfo::EAnimalYear );
-    subLabels.AppendL( CCalenLunarLocalizedInfo::ELunarYear );
-    subLabels.AppendL( CCalenLunarLocalizedInfo::ELunarMonthAndDay );
-    subLabels.AppendL( CCalenLunarLocalizedInfo::EFestival );
-    subLabels.AppendL( CCalenLunarLocalizedInfo::ESolarTerm );
-    
-    // ASSERT that all prioritized fields can be found from subLabels
-    for ( TInt i=0; i < aPrioritizedFields.Count(); i++)
-        {
-        ASSERT( subLabels.Find( aPrioritizedFields[i] ) >= 0 ); 
-        }
+	// Initialize substring labels
+	RArray<CCalenLunarLocalizedInfo::TField> subLabels;
+	CleanupClosePushL( subLabels );
+	subLabels.AppendL( CCalenLunarLocalizedInfo::EAnimalYear );
+	subLabels.AppendL( CCalenLunarLocalizedInfo::ELunarYear );
+	subLabels.AppendL( CCalenLunarLocalizedInfo::ELunarMonthAndDay );
+	subLabels.AppendL( CCalenLunarLocalizedInfo::EFestival );
+	subLabels.AppendL( CCalenLunarLocalizedInfo::ESolarTerm );
+
+	// ASSERT that all prioritized fields can be found from subLabels
+	for ( TInt i=0; i < aPrioritizedFields.Count(); i++)
+	{
+		ASSERT( subLabels.Find( aPrioritizedFields[i] ) >= KZero );
+	}
 
 	// Initialize substring array 
 	CPtrCArray* subs = new (ELeave) CPtrCArray(10);
 	CleanupStack::PushL( subs );
 	for ( TInt i = 0; i < subLabels.Count(); i++) 
-		{
+	{
 		subs->AppendL( TPtrC( KNullDesC ) );
-		}
-	// subs->InsertL( 0, TPtrC( KNullDesC ), 5 );
-	
+	}
+
 	// Set wanted fields to substring array
 	for ( TInt i = 0; i < aPrioritizedFields.Count(); i++)
-		{
+	{
 		CCalenLunarLocalizedInfo::TField field = aPrioritizedFields[i];
 		TInt subIx = subLabels.Find( field );
 		// Replace 
@@ -206,71 +207,50 @@
 		subs->InsertL(subIx, TPtrC( aLocInfo.GetField( field ) ) );
 		RDebug::Print( _L("B sub count %d"), subs->Count() );
 		RDebug::Print( _L("B field %S"), &(subs->At(subIx)) );
-		
-		}
-	
-	// Format all fields to extra row     
-	HBufC* extraRowFmt = StringLoader::LoadLC( R_CALE_EXTRA_ROW_LUNAR );
-	
-	RDebug::RawPrint( *extraRowFmt );
-	
-	TBuf<1000> fmt = *extraRowFmt;
-	for (TInt i=0; i < subLabels.Count(); i++)
-		{
-		RDebug::Print( _L("Before Format") );
-		RDebug::RawPrint( fmt );
-		StringLoader::Format( iText, 
-							  fmt,
-							  i + 1, // %0U is a separator 
-							  subs->At( i ) );
-		fmt = iText;
-		RDebug::Print( _L("After Format") );
-		RDebug::RawPrint( fmt );
-		}
-	
-	// Now we have something like "Year of Dog%0U%0U6/11%0U%0U" 
-	// First We need to remove multiple occurences of %0U
-	_LIT(KSeparatorFmt, "%0U");
-	
-	CollapseDuplicatesL( iText, 0, KSeparatorFmt );
-	RDebug::Print( _L("After collapse") );
-	RDebug::RawPrint( iText );
 
-	// Remove leading and trailing %0U
-	// By now, we are sure that there is max 1 %0U in the beginning
-	// and in the end of string.
-	RemoveLeadingAndTrailingL( iText, KSeparatorFmt );
-	RDebug::Print( _L("After leading and trailing removal") );
-	RDebug::RawPrint( iText );
-	
-
-	// If there are now separators anymore, then do not fill them
-	TBool hasSeparators = iText.Find( KSeparatorFmt ) >= 0;
-	
-	if ( hasSeparators ) 
-		{
+	}
+	TBuf<100> textBuf;
+	QStringList textDataStringList;
+	for (TInt i=0; i < subLabels.Count(); i++) {
+		textBuf = subs->At( i );
+		textDataStringList.append(
+							QString((QChar*)textBuf.Ptr(),textBuf.Length()));
+	}
+	// Get the locale specific separator
+	QString separator = hbTrId("txt_calendar_preview_title_cale_separator");
 	
-		// fill in separators
-		HBufC* separator = StringLoader::LoadLC( R_CALE_LUNAR_SEPARATOR );
-		fmt = iText;
-		StringLoader::Format( iText, 
-							  fmt,
-							  0, // %0U is a separator 
-							  *separator );
+	// Format all fields to single row 
+	QString textDataString;
+	textDataString = 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));
+
+	iText = static_cast<const TUint16*> (
+							textDataString.utf16()), textDataString.length();
+
+	// Now we have something like "Year of Dog%2GengYin%2%2"
+	// where %2 is the separator txt_calendar_preview_title_cale_separator
+	// First We need to remove multiple occurences of separator
+	textBuf = static_cast<const TUint16*> (
+										separator.utf16()), separator.length();
+	CollapseDuplicatesL( iText, 0, textBuf);
 	
-		RDebug::Print( _L("After separator insert") );
-		RDebug::RawPrint( iText );
-		CleanupStack::PopAndDestroy( separator );
-		}
-
-
-	CleanupStack::PopAndDestroy( extraRowFmt );
+	// Remove leading and trailing separators
+	// Leading separator won't be there but trailing one is there for sure
+	RemoveLeadingAndTrailingL( iText, textBuf );
+	
+	// CleanUp
 	CleanupStack::PopAndDestroy( subs );
-    CleanupStack::PopAndDestroy( &subLabels );
-    
-    TRACE_EXIT_POINT;
-    return iText;
-    }
+	CleanupStack::PopAndDestroy( &subLabels );
+	TRACE_EXIT_POINT;
+	
+	return iText;
+}
 
 //EOF
 
--- a/calendarui/regionalplugins/calenregionalutil/src/calenlunarinfo.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/regionalplugins/calenregionalutil/src/calenlunarinfo.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -24,7 +24,7 @@
 // TCalenLunarInfo::HasFestival
 // -----------------------------------------------------------------------------
 //
-TBool TCalenLunarInfo::HasFestival()
+EXPORT_C TBool TCalenLunarInfo::HasFestival()
     {
     TRACE_ENTRY_POINT;
     
@@ -36,7 +36,7 @@
 // TCalenLunarInfo::HasSolarTerm
 // -----------------------------------------------------------------------------
 //
-TBool TCalenLunarInfo::HasSolarTerm()
+EXPORT_C TBool TCalenLunarInfo::HasSolarTerm()
     {
     TRACE_ENTRY_POINT;
     
--- a/calendarui/regionalplugins/calenregionalutil/src/calenlunarlocalizer.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/regionalplugins/calenregionalutil/src/calenlunarlocalizer.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -17,17 +17,16 @@
 
 
 
-
+#include <qdatetime.h>
+#include <qstringlist.h>
+#include <hbi18ndef.h>
+#include <hbglobal.h>
 
-#include <avkon.rsg>
 #include <badesca.h> 
 #include <eikenv.h>
-#include <StringLoader.h>
 #include <bautils.h>
 #include <data_caging_path_literals.hrh>
 
-#include <calenregionalutil.rsg>
-
 #include "calendarui_debug.h"
 
 #include "CalenLunarLocalizer.h"
@@ -43,8 +42,6 @@
 _LIT(KChineseDigits, 
      "\x0030\x4e00\x4e8c\x4e09\x56db\x4e94\x516d\x4e03\x516b\x4e5d");
 
-_LIT( KResourceChinesePluginFile, "calenregionalutil.rsc" );
-#define KResourcePath KDC_RESOURCE_FILES_DIR
 
 
 // -----------------------------------------------------------------------------
@@ -72,18 +69,7 @@
     {
     TRACE_ENTRY_POINT;
     
-    delete iFestivalNames;
-    delete iSolarTermNames;
-    delete iHeavenlyStemNames;
-    delete iTerrestialBranchNames;
-    delete iAnimalYearNames;
-    delete iGregorianDateFormat;
     delete iRowFormatter;
-    
-    if( iResourceFileOffset )
-        {
-        CCoeEnv::Static()->DeleteResourceFile( iResourceFileOffset );
-        }
     TRACE_EXIT_POINT;
     }
 
@@ -102,98 +88,133 @@
 // -----------------------------------------------------------------------------
 //
 EXPORT_C void CCalenLunarLocalizer::ConstructL()
-    {
-    TRACE_ENTRY_POINT;
-    
-    iRowFormatter = CCalenExtraRowFormatter::NewL();
-    
-    TFileName dllName;
-    // Get the complate path of the DLL from where it is currently loaded
-    Dll::FileName( dllName );
-    
-    TFileName resourceFilename;
-    resourceFilename.Append(dllName.Mid(0,2));
-    resourceFilename.Append(KResourcePath);
-    resourceFilename.Append(KResourceChinesePluginFile);
-    BaflUtils::NearestLanguageFile( CEikonEnv::Static()->FsSession(), resourceFilename );
-    // Add the resource file.
-    iResourceFileOffset = CEikonEnv::Static()->AddResourceFileL( resourceFilename );
+{
+	iRowFormatter = CCalenExtraRowFormatter::NewL();
+
+	iFestivalNames.append(hbTrId("txt_calendar_preview_title_spring_fest"));
+	iFestivalNames.append(hbTrId("txt_calendar_preview_title_lantern_fest"));
+	iFestivalNames.append(hbTrId("txt_calendar_preview_title_dragon_fest"));
+	iFestivalNames.append(hbTrId("txt_calendar_preview_title_seventh_night_fest"));
+	iFestivalNames.append(hbTrId("txt_calendar_preview_title_ghost_fest"));
+	iFestivalNames.append(hbTrId("txt_calendar_preview_title_mid_autumn_fest"));
+	iFestivalNames.append(hbTrId("txt_calendar_preview_title_double_fest"));
+	iFestivalNames.append(hbTrId("txt_calendar_preview_title_eigth_day_fest"));
+	iFestivalNames.append(hbTrId("txt_calendar_preview_title_new_year_fest"));
+
+	iSolarTermNames.append(hbTrId("txt_calendar_preview_title_li_chun"));
+	iSolarTermNames.append(hbTrId("txt_calendar_preview_title_yu_shui"));
+	iSolarTermNames.append(hbTrId("txt_calendar_preview_title_jing_zhe"));
+	iSolarTermNames.append(hbTrId("txt_calendar_preview_title_chun_fen"));
+	iSolarTermNames.append(hbTrId("txt_calendar_preview_title_qing_ming"));
+	iSolarTermNames.append(hbTrId("txt_calendar_preview_title_gu_yu"));
+	iSolarTermNames.append(hbTrId("txt_calendar_preview_title_li_xia"));
+	iSolarTermNames.append(hbTrId("txt_calendar_preview_title_xiao_man"));
+	iSolarTermNames.append(hbTrId("txt_calendar_preview_title_mang_zhong"));
+	iSolarTermNames.append(hbTrId("txt_calendar_preview_title_xia_zhi"));
+	iSolarTermNames.append(hbTrId("txt_calendar_preview_title_xiao_shu"));
+	iSolarTermNames.append(hbTrId("txt_calendar_preview_title_da_shu"));
+	iSolarTermNames.append(hbTrId("txt_calendar_preview_title_li_qiu"));
+	iSolarTermNames.append(hbTrId("txt_calendar_preview_title_chu_shu"));
+	iSolarTermNames.append(hbTrId("txt_calendar_preview_title_bai_lu"));
+	iSolarTermNames.append(hbTrId("txt_calendar_preview_title_qiu_fen"));
+	iSolarTermNames.append(hbTrId("txt_calendar_preview_title_han_lu"));
+	iSolarTermNames.append(hbTrId("txt_calendar_preview_title_shaung_jiang"));
+	iSolarTermNames.append(hbTrId("txt_calendar_preview_title_li_dong"));
+	iSolarTermNames.append(hbTrId("txt_calendar_preview_title_xiao_xue"));
+	iSolarTermNames.append(hbTrId("txt_calendar_preview_title_da_xue"));
+	iSolarTermNames.append(hbTrId("txt_calendar_preview_title_dong_zhi"));
+	iSolarTermNames.append(hbTrId("txt_calendar_preview_title_xiao_han"));
+	iSolarTermNames.append(hbTrId("txt_calendar_preview_title_da_han"));
 
-    iFestivalNames = iEikEnv->ReadDesCArrayResourceL(R_CALEN_CHI_FESTIVALS);
-    iSolarTermNames = iEikEnv->ReadDesCArrayResourceL(R_CALEN_CHI_SOLAR_ITEMS);
-    iHeavenlyStemNames = iEikEnv->ReadDesCArrayResourceL(R_CALEN_CHI_HEAV_STEMS);
-    iTerrestialBranchNames = iEikEnv->ReadDesCArrayResourceL(R_CALEN_CHI_TERR_BRANCHES);
-    iAnimalYearNames = iEikEnv->ReadDesCArrayResourceL(R_CALEN_CHI_ANIMAL_YEARS);
+	iHeavenlyStemNames.append(hbTrId("txt_calendar_preview_title_jia"));
+	iHeavenlyStemNames.append(hbTrId("txt_calendar_preview_title_yi"));
+	iHeavenlyStemNames.append(hbTrId("txt_calendar_preview_title_bing"));
+	iHeavenlyStemNames.append(hbTrId("txt_calendar_preview_title_ding"));
+	iHeavenlyStemNames.append(hbTrId("txt_calendar_preview_title_wu"));
+	iHeavenlyStemNames.append(hbTrId("txt_calendar_preview_title_ji"));
+	iHeavenlyStemNames.append(hbTrId("txt_calendar_preview_title_geng"));
+	iHeavenlyStemNames.append(hbTrId("txt_calendar_preview_title_xing"));
+	iHeavenlyStemNames.append(hbTrId("txt_calendar_preview_title_reng"));
+	iHeavenlyStemNames.append(hbTrId("txt_calendar_preview_title_gui"));
 
-    iGregorianDateFormat = StringLoader::LoadL(R_QTN_DATE_USUAL_WITH_ZERO);
+	iTerrestialBranchNames.append(hbTrId("txt_calendar_preview_title_tbranch_zi"));
+	iTerrestialBranchNames.append(hbTrId("txt_calendar_preview_title_tbranch_chou"));
+	iTerrestialBranchNames.append(hbTrId("txt_calendar_preview_title_tbranch_yin"));
+	iTerrestialBranchNames.append(hbTrId("txt_calendar_preview_title_tbranch_mao"));
+	iTerrestialBranchNames.append(hbTrId("txt_calendar_preview_title_tbranch_chen"));
+	iTerrestialBranchNames.append(hbTrId("txt_calendar_preview_title_tbranch_si"));
+	iTerrestialBranchNames.append(hbTrId("txt_calendar_preview_title_tbranch_wu"));
+	iTerrestialBranchNames.append(hbTrId("txt_calendar_preview_title_tbranch_wei"));
+	iTerrestialBranchNames.append(hbTrId("txt_calendar_preview_title_tbranch_shen"));
+	iTerrestialBranchNames.append(hbTrId("txt_calendar_preview_title_tbranch_you"));
+	iTerrestialBranchNames.append(hbTrId("txt_calendar_preview_title_tbranch_xu"));
+	iTerrestialBranchNames.append(hbTrId("txt_calendar_preview_title_tbranch_hai"));
 
-    
-    TRACE_EXIT_POINT;
-    }
+	iAnimalYearNames.append(hbTrId("txt_calendar_preview_title_year_of_the_rat"));
+	iAnimalYearNames.append(hbTrId("txt_calendar_preview_title_year_of_the_ox"));
+	iAnimalYearNames.append(hbTrId("txt_calendar_preview_title_year_of_the_tiger"));
+	iAnimalYearNames.append(hbTrId("txt_calendar_preview_title_year_of_the_rabbit"));
+	iAnimalYearNames.append(hbTrId("txt_calendar_preview_title_year_of_the_dragon"));
+	iAnimalYearNames.append(hbTrId("txt_calendar_preview_title_year_of_the_snake"));
+	iAnimalYearNames.append(hbTrId("txt_calendar_preview_title_year_of_the_horse"));
+	iAnimalYearNames.append(hbTrId("txt_calendar_preview_title_year_of_the_sheep"));
+	iAnimalYearNames.append(hbTrId("txt_calendar_preview_title_year_of_the_monkey"));
+	iAnimalYearNames.append(hbTrId("txt_calendar_preview_title_year_of_the_rooster"));
+	iAnimalYearNames.append(hbTrId("txt_calendar_preview_title_year_of_the_dog"));
+	iAnimalYearNames.append(hbTrId("txt_calendar_preview_title_year_of_the_pig"));
+	
+}
 
 // -----------------------------------------------------------------------------
 // CCalenLunarLocalizer::LocalizeL
 // -----------------------------------------------------------------------------
 //
 EXPORT_C CCalenLunarLocalizedInfo* CCalenLunarLocalizer::LocalizeL( TCalenLunarInfo& aInfo )
-    {
-    TRACE_ENTRY_POINT;
-   
-    
-    CCalenLunarLocalizedInfo* localized = CCalenLunarLocalizedInfo::NewL();
-    CleanupStack::PushL( localized );
+{
+	CCalenLunarLocalizedInfo* localized = CCalenLunarLocalizedInfo::NewL();
+	CleanupStack::PushL( localized );
+
 
-    if ( aInfo.HasFestival() ) 
-        {
-        localized->iFestival.Set( iFestivalNames->MdcaPoint( aInfo.iFestival ) );
-        }
-    
-    if ( aInfo.HasSolarTerm() ) 
-        {
-        localized->iSolarTerm.Set( iSolarTermNames->MdcaPoint( aInfo.iSolarTerm ) );
-        }
+	if ( aInfo.HasFestival() ) 
+	{
+		QString festival = iFestivalNames.at(aInfo.iFestival);
+		localized->iFestival.Set( static_cast<const TUint16*>(festival.utf16()),festival.length());
+	}
 
-    // Animal year
-    localized->iAnimalYear.Set( iAnimalYearNames->MdcaPoint( aInfo.AnimalYear() ) );
-    
+	if ( aInfo.HasSolarTerm() ) 
+	{
+		QString solarTerm = iSolarTermNames.at(aInfo.iSolarTerm);
+		localized->iSolarTerm.Set( static_cast<const TUint16*>(solarTerm.utf16()),solarTerm.length());
+	}
 
-    // Lunar year    
-    CPtrCArray* yearSubs = new (ELeave) CPtrCArray(2);
-    CleanupStack::PushL( yearSubs );
-    yearSubs->AppendL( iHeavenlyStemNames->MdcaPoint( aInfo.iHeavenlyStem ) );
-    yearSubs->AppendL( iTerrestialBranchNames->MdcaPoint( aInfo.iTerrestialBranch ) );
+	// Animal year
+	QString animalYear = iAnimalYearNames.at(aInfo.AnimalYear());
+	localized->iAnimalYear.Set( static_cast<const TUint16*>(animalYear.utf16()),animalYear.length());
 
-    HBufC* tmp = StringLoader::LoadLC( R_CALE_LUNAR_YEAR, *yearSubs);
-    RDebug::Print( *tmp );
-    localized->iLunarYear = *tmp;
-    CleanupStack::PopAndDestroy( tmp );
-    CleanupStack::PopAndDestroy( yearSubs );
+	// 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();
 
-    RDebug::Print( localized->iLunarYear );
+	LocalizeMonthAndDayL(localized, aInfo);
 
-    LocalizeMonthAndDayL(localized, aInfo);
-    
-    // Full lunar date
-    CPtrCArray* subs = new (ELeave) CPtrCArray(2);
-    CleanupStack::PushL( subs );
-    subs->AppendL( localized->LunarMonthAndDay() );
-    subs->AppendL( localized->LunarYear() );
-    
-    tmp = StringLoader::LoadLC( R_CALE_LUNAR_FULL_DATE, *subs );
-    localized->iFullLunarDate = *tmp;
-    CleanupStack::PopAndDestroy( tmp );
-    CleanupStack::PopAndDestroy( subs );
-    
-    
-    aInfo.iGregorianDate.FormatL( localized->iGregorianDate, 
-                                 *iGregorianDateFormat );
-    CleanupStack::Pop( localized );
-    
-    
-    
-    TRACE_EXIT_POINT;
-    return localized;
-    }
+	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);
+	
+	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();
+	
+	aInfo.iGregorianDate.FormatL( localized->iGregorianDate, gregFormatBuf );
+
+	CleanupStack::Pop( localized );
+	
+	return localized;
+}
 
 
 // -----------------------------------------------------------------------------
@@ -227,24 +248,27 @@
 //
 void CCalenLunarLocalizer::LocalizeMonthAndDayL(CCalenLunarLocalizedInfo* aLocInfo,
                                                 TCalenLunarInfo& aInfo)
-    {
-    // Lunar Month and Day
-    TInt dateResource = aInfo.iLunarDate.iLeapMonth ? R_CALE_LUNAR_LEAP_DATE : R_CALE_LUNAR_DATE;
-    TBuf<10> month;
-    TBuf<10> day;
-    GetChineseMonth(aInfo.iLunarDate, month);
-    GetChineseDay(aInfo.iLunarDate, day);
+{
+	TBuf<10> month;
+	TBuf<10> day;
+	GetChineseMonth(aInfo.iLunarDate, month);
+	GetChineseDay(aInfo.iLunarDate, day);
 
-    CPtrCArray* monthAndDaySubs = new (ELeave) CPtrCArray(2);
-    CleanupStack::PushL( monthAndDaySubs );
-    monthAndDaySubs->AppendL(month);
-    monthAndDaySubs->AppendL(day);
-    
-    HBufC* tmp = StringLoader::LoadLC( dateResource, *monthAndDaySubs );
-    aLocInfo->iLunarMonthAndDay = *tmp;
-    CleanupStack::PopAndDestroy( tmp );
-    CleanupStack::PopAndDestroy( monthAndDaySubs );
-    }
+	QString formattedString;
+	if(aInfo.iLunarDate.iLeapMonth) {
+		formattedString = 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(
+						QString((QChar*)month.Ptr(),month.Length())).arg(
+						QString((QChar*)day.Ptr(),day.Length()));
+	}
+	aLocInfo->iLunarMonthAndDay = static_cast<const TUint16*> (
+							formattedString.utf16()), formattedString.length();
+}
 
 // -----------------------------------------------------------------------------
 // CCalenLunarLocalizer::GetChineseMonth
--- a/calendarui/regionalplugins/calenregionalutil/src/calensolarterms.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/regionalplugins/calenregionalutil/src/calensolarterms.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -47,7 +47,7 @@
 // 
 // ---------------------------------------------------------------------------
 //
-CCalenSolarTerms* CCalenSolarTerms::NewL(RFs& aFs)
+EXPORT_C CCalenSolarTerms* CCalenSolarTerms::NewL(RFs& aFs)
     {
     TRACE_ENTRY_POINT;
     
@@ -65,7 +65,7 @@
 //
 // ---------------------------------------------------------------------------
 //
-CCalenSolarTerms::~CCalenSolarTerms()
+EXPORT_C CCalenSolarTerms::~CCalenSolarTerms()
     {
     TRACE_ENTRY_POINT;
     TRACE_EXIT_POINT;
@@ -76,7 +76,7 @@
 // 
 // ---------------------------------------------------------------------------
 //
-TInt CCalenSolarTerms::CheckSolarTermDateL( const TDateTime& aDate )
+EXPORT_C TInt CCalenSolarTerms::CheckSolarTermDateL( const TDateTime& aDate )
     {
     TRACE_ENTRY_POINT;
     
@@ -180,12 +180,11 @@
     if (iCachedYear != year)
         {
         RFile file;
-        RFs& fs = iFs;
-        TFindFile ffile(fs);
+        TFindFile ffile(iFs);
         User::LeaveIfError(ffile.FindByDir(KSolarTermsFile, KSolarTermsPath));
        // User::LeaveIfError(ffile.FindByPath(KSolarTermsFile, KSolarTermsPath));
         
-        User::LeaveIfError(file.Open(fs,
+        User::LeaveIfError(file.Open(iFs,
                                      ffile.File(), EFileRead));
         CleanupClosePushL(file);
 
--- a/calendarui/regionalplugins/eabi/calenlunarchinesepluginu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	_Z24ImplementationGroupProxyRi @ 1 NONAME
-
--- a/calendarui/regionalplugins/inc/CalenLunarPaths.h	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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 Lunar Plugin
- *
-*/
-
-
-#ifndef CALENLUNARPATHS_H
-#define CALENLUNARPATHS_H
-
-
-_LIT(KCalenLunarDllFile, "CalenLunar.dll");
-
-_LIT(KCalenLunarResourceDrive, "z:");
-
-_LIT(KCalenLunarResourceFile, "CalenLunar.rsc");
-
-
-
-
-#endif  // CALENLUNARPATHS_H
-
-// End of File
--- a/calendarui/regionalplugins/inc/CalenSolarTerms.h	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
-* Copyright (c) 2006 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:   Provides Solar Term dates for Lunar Calendar. Reads and caches
-*                binary data file that lists solar term dates. 
-*
-*/
-
-
-
-#ifndef C_CALENSOLARTERMS_H
-#define C_CALENSOLARTERMS_H
-
-#include <badesca.h>
-#include <e32base.h>
-
-class RFs;
-
-const TInt KSolarTermCount(24);
-
-
-/**
- * Provides Solar term dates for Lunar Calendar. 
- *
- * Solar term dates are listed in special binary format file. 
- * CCalenSolarTerms reads and caches this file one year at a time.
- *
- *  @lib CalenLunar.dll
- *  @since S60 v3.1
- */
-NONSHARABLE_CLASS( CCalenSolarTerms ) : public CBase
-    {
-public:
-    IMPORT_C static CCalenSolarTerms* NewL(RFs& aFs);
-
-    IMPORT_C virtual ~CCalenSolarTerms();
-
-    /**
-     * Checks if date is solar term date. If it is, returns index to particular solar term, otherwise returns error code
-     * Index can be then passed to GetSolarTermNameL function. 
-     *
-     * @since S60 v3.1
-     * @param aDateTime date that is checked 
-     * @return index of solar term, if date is solar term date.
-     *         KErrNone, if date is not solar term date
-     *         KErrNotSupported, if date is outside of supported 
-     *                           range for solar term data.
-     */
-    IMPORT_C TInt CheckSolarTermDateL( const TDateTime& aDateTime ); 
-
-
-private:
-    CCalenSolarTerms(RFs& aFs);
-
-    void ConstructL();
-
-    /** 
-     * Returns ETrue, if date fits into date range of available solar item 
-     * data.
-     * @since 3.0
-     */
-    TBool HasSolarTermDataAvailable(const TDateTime& aDate) const;
-
-    /**
-     * Reads and caches 24 solar term dates from "SolarItems" file
-     */
-    void ReadSolarTermsL(TDateTime aDate);
-
-private: // data
-    /**
-     * File server handle.
-     */
-    RFs& iFs;
-
-    /**
-     * Year that is currently cached from file to memory
-     */
-    TInt iCachedYear;
-
-    /**
-     * Table of solar term dates for currently cached year
-     */
-    TDateTime iSolarTermDates[KSolarTermCount];
-
-    };
-
-#endif // C_CALENSOLARTERMS_H
--- a/calendarui/regionalplugins/inc/calenlunarinfo.h	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +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:  Calendar Lunar Plugin
-*
-*/
-
-#ifndef __CALENLUNARINFO_H__
-#define __CALENLUNARINFO_H__
-
-#include <e32def.h>
-#include <calendarconverter.h>
-
-class TCalenLunarInfo 
-    {
-public:
-    enum TFestival
-        {
-        ENoFestival = KErrNotFound,
-        EFestivalSpring,
-        EFestivalLantern,
-        EFestivalDragonBoat,
-        EFestivalSeventhNight,
-        EFestivalGhost,
-        EFestivalMidAutumn,
-        EFestivalDoubleNinth,
-        EFestivalTwelfthMonth,
-        EFestivalNewYearEve
-        };
-
-    enum TAnimalYear
-        {
-        EYearOfRat = 0,
-        EYearOfOx,
-        EYearOfTiger,
-        EYearOfRabbit,
-        EYearOfDragon,
-        EYearOfSnake,
-        EYearOfHorse,
-        EYearOfSheep,
-        EYearOfMonkey,
-        EYearOfRooster,
-        EYearOfDog,
-        EYearOfPig
-        };
-        
-    typedef TInt TSolarTerm;
-    typedef TInt THeavenlyStem;
-    typedef TInt TTerrestialBranch;
-    
-public:
-    IMPORT_C    TBool HasFestival();
-    IMPORT_C    TBool HasSolarTerm();
-    
-    IMPORT_C TAnimalYear AnimalYear();
-    
-public:
-    TFestival     iFestival;
-    TSolarTerm    iSolarTerm;
-    TChineseDate  iLunarDate;
-    TTime         iGregorianDate;
-
-    THeavenlyStem iHeavenlyStem;    
-    TTerrestialBranch iTerrestialBranch; 
-    };
-
-
-#endif // __CALENLUNARINFO_H__
--- a/calendarui/regionalplugins/inc/calenlunarinfoprovider.h	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 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:   Calendar Lunar Plugin 
- *
-*/
-
-
- 
-#ifndef __CALENLUNARINFOPROVIDER_H__
-#define __CALENLUNARINFOPROVIDER_H__
-
-#include "CalenLunarInfo.h"
-#include <e32base.h>
-
-
-class CChineseCalendarConverter;
-class CCalenSolarTerms;
-class RFs;
-
-class CCalenLunarInfoProvider : public CBase
-    {
-public: // public API 
-    IMPORT_C static CCalenLunarInfoProvider* NewL(RFs& aFs);
-
-    IMPORT_C virtual ~CCalenLunarInfoProvider();
-
-    IMPORT_C TCalenLunarInfo GetLunarInfoL( const TTime& aDay );
-
-private: // own methods
-    CCalenLunarInfoProvider();
-    void ConstructL(RFs& aFs);
-
-private: // data
-    CChineseCalendarConverter* iConverter;
-    CCalenSolarTerms* iSolarTerms;
-
-    };
-
-#endif // __CALENLUNARINFOPROVIDER_H__
--- a/calendarui/regionalplugins/inc/calenlunarlocalizedinfo.h	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
-* Copyright (c) 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:   Calendar Lunar Plugin 
- *
-*/
-
-
- 
-#ifndef __CALENLUNARLOCALIZEDINFO_H__
-#define __CALENLUNARLOCALIZEDINFO_H__
-
-#include <e32base.h>
-
-class CCalenLunarLocalizer;
-
-class CCalenLunarLocalizedInfo : public CBase
-    {
-public:
-    enum TField
-        {
-        EFestival,
-        ESolarTerm,
-        EFullLunarDate,
-        ELunarYear,
-        ELunarMonthAndDay,
-        EAnimalYear,
-        EGregorianDate
-        };
-        
-
-public: // public API 
-    IMPORT_C static CCalenLunarLocalizedInfo* NewL();
-
-    IMPORT_C virtual ~CCalenLunarLocalizedInfo();
-
-    /**
-     * Get specific field. This is useful, when you have ordered array of TFields 
-     * and you want to process them in a loop.
-     * If day didn't had e.g. festival or solar term, KNullDesC is returned for those.
-     */
-    IMPORT_C const TDesC& GetField( TField aField );
-    
-    const TDesC& Festival() { return iFestival; }
-    const TDesC& SolarTerm() { return iSolarTerm; }
-    const TDesC& FullLunarDate() { return iFullLunarDate; }
-    const TDesC& LunarYear() { return iLunarYear; }    
-    const TDesC& LunarMonthAndDay() { return iLunarMonthAndDay; }    
-    const TDesC& AnimalYear() { return iAnimalYear; }    
-    const TDesC& GregorianDate() { return iGregorianDate; }
-
-private:
-    CCalenLunarLocalizedInfo();
-
-    void ConstructL();
-
-private:
-    
-    TPtrC iFestival;
-    TPtrC iSolarTerm;
-    TPtrC iAnimalYear;
-    
-    TBuf<50> iLunarYear;
-    TBuf<50> iLunarMonthAndDay;
-    TBuf<50> iFullLunarDate;
-    TBuf<50> iGregorianDate;
-private:
-    friend class CCalenLunarLocalizer;
-    friend class CCalenLunarVietnameseLocalizer;
-    };
-
-#endif // __CALENLUNARLOCALIZEDINFO_H__
--- a/calendarui/regionalplugins/inc/calenlunarlocalizer.h	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/*
-* Copyright (c) 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:   Calendar Lunar Plugin 
- *
-*/
-
-
- 
-#ifndef __CALENLUNARLOCALIZER_H__
-#define __CALENLUNARLOCALIZER_H__
-
-#include <e32base.h>
-#include <badesca.h>
-#include "CalenLunarLocalizedInfo.h"
-#include "CalendarVariant.hrh"
-#include "calendarui_debug.h"
-
-class CEikonEnv;
-class TCalenLunarInfo;
-class TChineseDate;
-class CFont;
-class CCalenExtraRowFormatter;
-
-class CCalenLunarLocalizer : public CBase
-    {
-public: // public API 
-    IMPORT_C static CCalenLunarLocalizer* NewL();
-
-    IMPORT_C virtual ~CCalenLunarLocalizer();
-    
-    IMPORT_C virtual CCalenLunarLocalizedInfo* LocalizeL( TCalenLunarInfo& aInfo );
-    
-    IMPORT_C virtual TPtrC GetExtraRowTextL( CCalenLunarLocalizedInfo& aLocInfo );
-    
-
-protected:
-    IMPORT_C CCalenLunarLocalizer();
-
-    IMPORT_C void ConstructL();
-
-    TBool TryToFitL( const TDesC& aStr );
-    virtual void LocalizeMonthAndDayL(CCalenLunarLocalizedInfo* aLocInfo,
-                                      TCalenLunarInfo& aInfo);
-private:
-    void GetChineseDigits(TInt aNum, TDes& aDes);
-    void GetChineseDay(const TChineseDate& aChineseDate, TDes& aDes);
-    void GetChineseMonth(const TChineseDate& aChineseDate, TDes& aDes);
-
-protected: // data
-    CEikonEnv* iEikEnv;
-
-    /**
-     * Localized names of lunar festivals
-     * Own.
-     */
-    CDesCArray* iFestivalNames;
-    
-    /**
-     * Localized names of solar terms 
-     * Own.
-     */
-    CDesCArray* iSolarTermNames;
-
-    /**
-     * Localized names of animal years
-     * Own.
-     */
-    CDesCArray* iAnimalYearNames;
-
-    /**
-     * Localized names of heavenly stems
-     * Own.
-     */
-    CDesCArray* iHeavenlyStemNames;
-
-    /**
-     * Localized names of terrestial branches
-     * Own.
-     */
-    CDesCArray* iTerrestialBranchNames;
-
-
-    /**
-     * Format string for western date.
-     * Own.
-     */
-    HBufC* iGregorianDateFormat;
-
-    TBuf<1000> iLunarExtraRowText;
-
-
-    /**
-     * Language independent formatter of extra row information.
-     */
-    CCalenExtraRowFormatter* iRowFormatter;
-    
-    TInt  iResourceFileOffset;
-
-    };
-
-#endif // __CALENLUNARLOCALIZER_H__
--- a/calendarui/regionalplugins/inc/calenlunarpanic.h	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 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:   Calendar Lunar Plugin 
- *
-*/
-
-
-#ifndef CALENLUNARPANIC_H
-#define CALENLUNARPANIC_H
-
-enum TCalenLunarPanic
-    {
-    EPanicLunarResourceLoading = 1,
-    EPanicLunarEnvNotfound,
-    };
-
-void Panic(TCalenLunarPanic aReason)
-    {
-    _LIT(KPanicText, "CalenLunarPlugin");
-    User::Panic(KPanicText,aReason);
-    }
-
-#endif
--- a/calendarui/regionalplugins/loc/calendarregionalplugin.loc	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2037 +0,0 @@
-/*
-* Copyright (c) 2002-2004 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 is a localisation file for Calendar
-*                A _loc file is the one and only place where the logical
-*                strings to be localised are defined
-*
-*/
-
-
-
-// LOCALISATION STRINGS
-
-
-//d:Application title for listview
-//l:list_single_large_graphic_pane_t1
-//
-#define qtn_apps_calendar_list  "Calendar"
-
-//d:Application title for general settings pane
-//l:list_single_large_graphic_pane_t1_cp2
-//
-#define qtn_cale_title_calendar  "Calendar"
-
-//d:Application title for grid
-//l:cell_app_pane_t1
-//
-#define qtn_apps_calendar_grid  "Calendar"
-
-//d:Opens New entry SubMenu
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_opt_make_note  "New entry"
-
-//d:Opens delete SubMenu in MonthView
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_opt_delete  "Delete"
-
-//d:Deletes a note
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_om_delete  "Delete"
-
-//d:Discard changes to a note
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_om_cancel_changes "Discard changes"
-
-//d:Confirmation text when discarding changes to a note
-//l:popup_note_window
-//
-#define qtn_cale_query_cancel_changes "Discard changes?"
-
-//d:Opens SettingView
-//l:list_single_pane_t1_cp2
-//
-#define text_calendar_settings  "Settings"
-
-//d:Opens DayView
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_opt_open  "Open"
-
-//d:Opens WeekView
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_opt_view_week  "View by weeks"
-
-//d:Jumps to a specific date
-//l:list_single_pane_t1_cp2
-//
-#define text_calendar_goto_date  "Go to date"
-
-//d:Opens Meeting note
-//l:list_single_popup_submenu_pane_t1
-//
-#define qtn_cale_meeting_note  "Meeting"
-
-
-//d:Opens Meeting Request note
-//d:Option list item for this is "Make Note"
-//l:list_single_popup_submenu_pane_t1
-//w:
-//r:3.0
-//
-#define qtn_cale_meeting_request_note  "Meeting Request"
-
-
-//d:Opens Anniversary Note
-//l:list_single_popup_submenu_pane_t1
-//
-#define qtn_cale_note_anniversary  "Anniversary"
-
-//d:Opens Day Note
-//l:list_single_popup_submenu_pane_t1
-//
-#define qtn_cale_day_note  "Day note"
-
-//d:Opens MonthView
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_opt_view_month  "View month"
-
-//d:Deletes all notes
-//l:list_single_popup_submenu_pane_t1
-//
-#define qtn_cale_sub_all  "All notes"
-
-//d:the date before the notes are to be deleted.
-//l:list_single_popup_submenu_pane_t1
-//
-#define qtn_cale_sub_setdate  "Before set date"
-
-//d:Settings is changed
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_om_change  "Change"
-
-//d:Subject item text of Meeting
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_note_subject  "subject"
-
-//d:Start date item text of Meeting form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_note_meeting_date  "start date"
-
-//d:End date item text of Meeting form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_note_meeting_end  "end date"
-
-//d:Start date and time item text of entry editor
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_note_start_time_date "start time and date"
-
-//d:End date and time item text of entry editor
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_note_end_time_date "end time and date"
-
-//d:Alarm date and time item text of entry editor
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_note_alarm_time_date "alarm time and date"
-
-//d:Start time item text of Meeting form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_note_meeting_start  "start time"
-
-//d:End time item text of Meeting form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_note_end_meet_time  "end time"
-
-//d:Alarm item text of Meeting, Anniversary form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_alarm_activity  "alarm"
-
-//d:Alarm time item text of Meeting, Anniversary form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_note_meeting_alarm  "alarm time"
-
-//d:Alarm date item text of Meeting, Anniversary form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_note_meeting_alarmdate  "alarm date"
-
-//d:Repeat item text of Meeting, Day form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_note_meeting_repeat  "repeat"
-
-//d:Repeat until item text of Meeting, Day form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_note_meeting_until  "repeat until"
-
-//d:Confidentiality item text of Meeting form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_note_meeting_confident  "synchronisation"
-
-//d:Subject item text of Anniversary form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_anniversary_occasion  "occasion"
-
-//d:Start date item text of Anniversary form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_anniversary_start_date  "date"
-
-//d:Subject item text of Day form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_day_description  "description"
-
-//d:Start date item text of Day form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_day_start_date  "start date"
-
-//d:End date item text of Day form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_day_end_date  "end date"
-
-//d:Occasion item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_occasion "Occasion:"
-
-//d:Date item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_date "Date:"
-
-//d:Subject item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_subject "Subject:"
-
-//d:Location item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_location "Location:"
-
-//d:Synchronisation item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_sync "Synchronisation:"
-
-//d:Alarm item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_alarm "Alarm:"
-
-//d:Repeat item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_repeat_daily "Repeats daily:"
-
-//d:Repeat item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_repeat_weekly "Repeats weekly:"
-
-//d:Repeat item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_repeat_fortnightly "Repeats fortnightly:"
-
-//d:Repeat item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_repeat_monthly "Repeats monthly:"
-
-//d:Repeat item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_repeat_yearly "Repeats yearly:"
-
-//d:Repeat item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_repeat_other "Recurring entry:"
-
-//d:Repeat item text of note viewer when no end date (repeat from ...)
-//d:%0U is date entry repeats from
-//l:list_form_graphic_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_valid_forever "From %0U"
-
-//d:Navi pane decoration for event viewers
-//d:%0U is current instance date
-//d:%1U is index of current instance
-//d:%2U is total instance count for current day
-//l:navi_text_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_navi "%0U   %1U/%2U"
-
-//d:Repeat item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_repeat "Repeat:"
-
-//d:Time item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_time "Time:"
-
-//d:Due date item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_due_date "Due date:"
-
-//d:Since item text of note viewer (anniversaries only)
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_since "Since:"
-
-//d:Priority item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_prio "Priority:"
-
-//d:Description item text of note viewer
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_desc "Description:"
-
-//d:Private item text of note viewer (Sync)
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_sync_private "Private"
-
-//d:Public item text of note viewer (Sync)
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_sync_public "Public"
-
-//d:None item text of note viewer (Sync)
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_sync_none "None"
-
-//d:High item text of note viewer (Priority)
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_prio_high "High"
-
-//d:Normal item text of note viewer (Priority)
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_prio_normal "Normal"
-
-//d:Low item text of note viewer (Priority)
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_prio_low "Low"
-
-//d:Completed item text of note viewer (Priority)
-//l:list_double_graphic_heading_pane_t1
-//r:3.2
-//
-#define qtn_cale_viewer_completed "Completed:"
-
-//d:Date and time when appointment starts and ends on the same day
-//d:The string is small enough to fit onto one line
-//d:%0U is start time
-//d:%1U is end time
-//d:%2U is start date
-//l:popup_preview_text_window/opt1
-//r:3.2
-//
-#define qtn_cale_viewer_time_day "%0U - %1U %2U"
-
-//d:Date and time when appointment starts and ends on the same day
-//d:The string is too long to fit onto one line so must include a linebreak
-//d:%0U is start time
-//d:%1U is end time
-//d:%2U is start date
-//d:<\x2028> is line break
-//l:popup_preview_text_window/opt1
-//r:3.2
-//
-#define qtn_cale_viewer_time_day_wrapped "%0U - %1U"<0x2028>"%2U"
-
-//d:Date and time when appointment starts and ends on different days
-//d:The string is small enough to fit onto one line
-//d:%0U is start time
-//d:%1U is start date
-//d:%2U is end time
-//d:%3U is end date
-//l:popup_preview_text_window/opt1
-//r:3.2
-//
-#define qtn_cale_viewer_time_days "%0U %1U - %2U %3U"
-
-//d:Date and time when appointment starts and ends on different days
-//d:The string is too long to fit onto one line so must include a linebreak
-//d:%0U is start time
-//d:%1U is start date
-//d:%2U is end time
-//d:%3U is end date
-//d:<\x2028> is line break
-//l:popup_preview_text_window/opt1
-//r:3.2
-//
-#define qtn_cale_viewer_time_days_wrapped "%0U %1U -"<0x2028>"%2U %3U"
-
-//d:Date and time of alarm (when alarm is on different day to event)
-//d:%0U is alarm time
-//d:%1U is alarm date
-//l:popup_preview_text_window/opt1
-//r:3.2
-//
-#define qtn_cale_viewer_alarm_time "%0U %1U"
-
-//d:Start and end date of event, when event lasts for more than one day
-//d:%0U is start date
-//d:%1U is end date
-//l:msg_body_pane/opt
-//r:3.2
-//
-#define qtn_cale_viewer_valid_limited "%0U - %1U"
-
-//d:Error text when adjusting repeating meeting instance times
-//l:popup_note_window
-//r:3.2
-//
-#define qtn_cale_note_cannot_occur_daily "%N day meeting cannot repeat daily"
-
-//d:Error text when adjusting repeating meeting instance times
-//l:popup_note_window
-//r:3.2
-//
-#define qtn_cale_note_cannot_occur_weekly "%N day meeting cannot repeat weekly"
-
-//d:Error text when adjusting repeating meeting instance times
-//l:popup_note_window
-//r:3.2
-//
-#define qtn_cale_note_cannot_occur_fortnightly "%N day meeting cannot repeat fortnightly"
-
-//d:Error text when adjusting repeating meeting instance times
-//l:popup_note_window
-//r:3.2
-//
-#define qtn_cale_note_cannot_occur_monthly "%N day meeting cannot repeat monthly"
-
-//d:Error text when adjusting repeating meeting instance times
-//l:popup_note_window
-//r:3.2
-//
-#define qtn_cale_note_cannot_occur_yearly "%N day meeting cannot repeat yearly"
-
-//d:Error text when attempting to move a meeting out of sequence
-//l:popup_note_window
-//r:3.2
-//
-#define qtn_cale_note_child_out_of_sequence "Unable to move a meeting out of sequence"
-
-//d:Error note when attempting to move an instance of a meeting to a day when an instance already exists
-//l:popup_note_window
-//r:3.2
-//
-#define qtn_cale_note_child_same_day "Two occurrences of a meeting cannot occur on the same day"
-
-//d:Error note when attempting to move a meeting to overlap another instance of the meeting
-//l:popup_note_window
-//r:3.2
-//
-#define qtn_cale_note_child_overlap "Meeting cannot overlap another instance of itself"
-
-//d:Alarm active text of Note form
-//l:list_form_graphic_pane_t1
-//
-#define qtn_cale_alarm_active  "Active"
-
-//d:Alarm off text of the Note form
-//l:list_form_graphic_pane_t1
-//
-#define qtn_cale_alarm_off  "Off"
-
-//d:Synchronisation type text of the Note form
-//l:list_form_graphic_pane_t1
-//
-#define qtn_cale_confident_public  "Public"
-
-//d:Synchronisation type text of the Note form
-//l:list_form_graphic_pane_t1
-//
-#define qtn_cale_confident_private  "Private"
-
-//d:Synchronisation type text of the Note form
-//l:list_form_graphic_pane_t1
-//
-#define qtn_cale_confident_none  "None"
-
-//d:Repeat type "Not repeated" text of note form
-//l:list_set_graphic_pane_t1
-//
-#define qtn_cale_not_repeated  "Not repeated"
-
-//d:Repeat type "Every day" text of note form
-//l:list_set_graphic_pane_t1
-//
-#define text_calendar_every_day  "Every day"
-
-//d:Repeat type "Every week" text of note form
-//l:list_set_graphic_pane_t1
-//
-#define text_calendar_every_week  "Every week"
-
-//d:Repeat type "Every two weeks" text of note form
-//l:list_set_graphic_pane_t1
-//
-#define text_calendar_bi_weekly  "Every 2 weeks"
-
-//d:Repeat type "Monthly" text of note form
-//l:list_set_graphic_pane_t1
-//
-#define qtn_cale_repeat_monthly  "Monthly"
-
-//d:Repeat type "Yearly" text of note form
-//l:list_set_graphic_pane_t1
-//
-#define text_calendar_every_year  "Every year"
-
-//d:Repeat type "Other" text of note form
-//l:list_set_graphic_pane_t1
-//
-#define qtn_cale_other  "Other"
-
-//d:Title pane text of Meeting form
-//l:title_pane_t2/opt9
-//
-#define text_calendar_title_meeting  "Meeting"
-
-//d:Title pane text of Anniversary form
-//l:title_pane_t2/opt9
-//
-#define qtn_cale_anniversary_title  "Anniversary"
-
-//d:Title pane text of Day form
-//l:title_pane_t2/opt9
-//
-#define qtn_cale_title_daynote  "Day note"
-
-//d:After confirming the saving,the confirmation note
-//d:Calendar note savedis shown
-//l:popup_note_window
-//
-#define text_calendar_note_saved  "Note saved"
-
-//d:The List_Query with the prompt text Save Repeat Note?
-//l:heading_pane_t1
-//
-#define qtn_cale_lq_save_chang_repeated  "Save changes?"
-
-//d:The List_Query with the prompt text "Edit:" (choices being Series or Occurrence)
-//l:heading_pane_t1
-//
-#define qtn_cale_lq_edit_recurring  "Edit:"
-
-//d:All notes delete prompt
-//l:popup_note_window
-//
-#define qtn_cale_quest_delete_all_notes  "Delete all notes"
-
-//d:A note delete prompt
-//l:popup_note_window
-//
-#define qtn_cale_quest_delete_event  "Delete note?"
-
-//d:Data query for inputting the date before the notes are to be deleted.
-//l:popup_query_data_window
-//
-#define qtn_cale_prmpt_del_before_date  "Delete before set date"
-
-//d:When deleting a repeated note,
-//d:the phone prompts the List_Query
-//l:heading_pane_t1
-//
-#define qtn_cale_lq_del_repeated_note  "Delete repeated note"
-
-//d:After deleting of notes phone displays the information note
-//l:popup_note_window
-//
-#define qtn_cale_conf_past_note_deleted  "Notes from past to set date deleted"
-
-//d:After deleting of notes phone displays the information note
-//l:popup_note_window
-//
-#define qtn_cale_conf_all_notes_deleted  "All notes deleted from Calendar"
-
-//d:Erase or update note selection list of choice items
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_lq_all_occurences  "All occurrences"
-
-//d:Erase or update selection list of choice items
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_lq_this_occurence  "Only this occurrence"
-
-//d:Edit note selection list of choice items
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_lq_edit_series  "All occurrences"
-
-//d:Edit note selection list of choice items
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_lq_edit_this  "Only this occurrence"
-
-//d:Specified Out of range of date
-//l:popup_note_window
-//
-#define qtn_cale_info_year_limit  "Year limit is from 1900 to 2100"
-
-//d:Error prompt for alarm date too past
-//l:popup_note_window
-//
-#define qtn_cale_date_alarm_past  "Alarm date is too past"
-
-//d:Error prompt for alarm time earlier than note
-//l:popup_note_window
-//
-#define qtn_cale_later_date  "Alarm later than note"
-
-//d:Error prompt for setting alarm time which is past.
-//l:popup_note_window
-//
-#define qtn_cale_not_expired  "The time for the note alarm has already expired"
-
-//d:Error prompt for repeat until date earlier than start date.
-//l:popup_note_window
-//
-#define qtn_cale_info_repeat_invalid  "Repeat until has to be later than the start date"
-
-//d:Confirmaiton prompt for updating start date on repeat note.
-//l:popup_note_window
-//
-#define qtn_cale_quest_change_start_day  "Are you sure to change start date of selected recurring note?"
-
-//d:Error prompt "Note ends before than starts"
-//l:popup_note_window
-//
-#define qtn_cale_info_note_ends_before  "Note ends before than starts"
-
-//d:Error prompt. Date limit could be set only to the past.
-//l:popup_note_window
-//
-#define qtn_cale_date_not_future  "Date in the future not allowed"
-
-//d:Calendar Settings title pane
-//l:title_pane_t2/opt9
-//
-#define text_calendar_setting_title  "Settings"
-
-//d:Calendar Settings main pane item
-//l:list_setting_pane_t1/opt1
-//
-#define qtn_cale_default_view  "Default view"
-
-//d:Calendar Settings main pane item
-//l:list_setting_pane_t1/opt1
-//
-#define qtn_cale_week_format  "Week format"
-
-//d:Calendar Settings main pane item
-//l:list_setting_pane_t1/opt1
-//
-#define text_calendar_week_title_format  "Title of week view"
-
-//d: Calendar Settings "Default view" item
-//l:list_set_graphic_pane_t1
-//
-#define qtn_cale_default_day_view  "Day View"
-
-//d: Calendar Settings "Default view" item
-//l:list_set_graphic_pane_t1
-//
-#define qtn_cale_default_week_view  "Week View"
-
-//d: Calendar Settings "Default view" item
-//l:list_set_graphic_pane_t1
-//
-#define qtn_cale_default_month_view  "Month View"
-
-//d: Calendar Settings "Title of week view" item
-//l:list_set_graphic_pane_t1
-//
-#define text_calendar_week_title_numb  "Week number"
-
-//d: Calendar Settings "Title of week view" item
-//l:list_set_graphic_pane_t1
-//
-#define text_calendar_week_title_dur  "Duration of week"
-
-//d:Calendar Settings "Default Mailbox" item
-//l:heading_pane_t1
-//w:
-//r:3.0
-//
-#define qtn_cale_lq_select_mailbox  "Select Default Mailbox: "
-
-//d:Calendar "Default Mailbox" setting item name.
-//l:list_setting_pane_t1/opt1
-//w:
-//r:3.0
-//
-#define qtn_cale_default_mailbox  "Default mailbox"
-
-//d:Calendar no default mailboxes defined prompt
-//l:popup_note_window
-//w:
-//r:3.0
-//
-#define qtn_cale_query_define_mailbox  "No mailboxes defined, define now?"
-
-
-//d:Calendar Settings main pane item
-//l:list_setting_pane_t1
-//r:3.2
-//
-#define qtn_cale_sett_arabic_cale "Arabic calendar"
-
-//d:Opens external calendar application
-//l:list_single_pane_t1_cp2
-//r:3.2
-//
-#define qtn_cale_om_external_cale "External calendar"
-
-//d: Calendar date query prompt
-//l:popup_query_data_window
-//
-#define text_calendar_date_prompt  "Date:"
-
-//d:Title pane text in WeekView main state
-//d:currently highlighted day's Week %N
-//d:%N was setted week number
-//l:title_pane_t2/opt9
-//
-#define qtn_cale_week_view_title  "Week %N"
-
-//d:Title pane text in WeekView main state
-//d:currently highlighted day's %0U - %1U
-//d:The date of dd/mm/yy form is set to %0U or %1U.
-//l:title_pane_t2/opt9
-//
-#define qtn_cale_title_week_days  "%0U -\n %1U"
-
-//d:Confirmation note. 
-//d:Message is shown after system time change, but no alarms were missed.
-//l:popup_note_window
-//
-#define qtn_cale_note_system_time_changed  "System time changed, Calendar events are updated accordingly"
-
-//d:Deleting wait note text
-//l:popup_note_wait_window
-//
-#define qtn_cale_wait_deleting_notes  "Deleting notes..."
-
-//d:Location item text of Meeting form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_cale_note_meeting_location  "location"
-
-//d:Calendar Settings main pane item
-//l:list_setting_pane_t1/opt1
-//
-#define qtn_chi_cale_sett_lunar_cale  "Lunar calendar"
-
-//d: Calendar Settings "Lunar calendar" item
-//l:list_set_graphic_pane_t1
-//
-#define qtn_chi_cale_lunar_cale_on  "On"
-
-//d: Calendar Settings "Lunar calendar" item
-//l:list_set_graphic_pane_t1
-//
-#define qtn_chi_cale_lunar_cale_off  "Off"
-
-//d:Chinese Animal year - Rat
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_animal_rat  "Year of the Rat"
-
-//d:Chinese Animal year - Ox
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_animal_ox  "Year of the Ox"
-
-//d:Chinese Animal year - Tiger
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_animal_tiger  "Year of the Tiger"
-
-//d:Chinese Animal year - Rabbit
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_animal_rabbit  "Year of the Rabbit"
-
-//d:Chinese Animal - Rabbit
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_animal_dragon  "Year of the Dragon"
-
-//d:Chinese Animal - Snake
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_animal_snake  "Year of the Snake"
-
-//d:Chinese Animal - Horse
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_animal_horse  "Year of the Horse"
-
-//d:Chinese Animal - Sheep
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_animal_sheep  "Year of the Sheep"
-
-//d:Chinese Animal - Monkey
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_animal_monkey  "Year of the Monkey"
-
-//d:Chinese Animal - Rooster
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_animal_rooster  "Year of the Rooster"
-
-//d:Chinese Animal - Dog
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_animal_dog  "Year of the Dog"
-
-//d:Chinese Animal - Pig
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_animal_pig  "Year of the Pig"
-
-//d:Chinese Heavenly stem 1
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_heav_stem_1  "Jia"
-
-//d:Chinese Heavenly stem 2
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_heav_stem_2  "Yi"
-
-//d:Chinese Heavenly stem 3
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_heav_stem_3  "Bing"
-
-//d:Chinese Heavenly stem 4
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_heav_stem_4  "Ding"
-
-//d:Chinese Heavenly stem 5
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_heav_stem_5  "Wu"
-
-//d:Chinese Heavenly stem 6
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_heav_stem_6  "Ji"
-
-//d:Chinese Heavenly stem 7
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_heav_stem_7  "Geng"
-
-//d:Chinese Heavenly stem 8
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_heav_stem_8  "Xing"
-
-//d:Chinese Heavenly stem 9
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_heav_stem_9  "Reng"
-
-//d:Chinese Heavenly stem 10
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_heav_stem_10  "Gui"
-
-//d:Chinese Terrestrial branch 1
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_terr_branch_1  "Zi"
-
-//d:Chinese Terrestrial branch 2
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_terr_branch_2  "Chou"
-
-//d:Chinese Terrestrial branch 3
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_terr_branch_3  "Yin"
-
-//d:Chinese Terrestrial branch 4
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_terr_branch_4  "Mao"
-
-//d:Chinese Terrestrial branch 5
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_terr_branch_5  "Chen"
-
-//d:Chinese Terrestrial branch 6
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_terr_branch_6  "Si"
-
-//d:Chinese Terrestrial branch 7
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_terr_branch_7  "Wu"
-
-//d:Chinese Terrestrial branch 8
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_terr_branch_8  "Wei"
-
-//d:Chinese Terrestrial branch 9
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_terr_branch_9  "Shen"
-
-//d:Chinese Terrestrial branch 10
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_terr_branch_10  "You"
-
-//d:Chinese Terrestrial branch 11
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_terr_branch_11  "Xu"
-
-//d:Chinese Terrestrial branch 12
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_terr_branch_12  "Hai"
-
-//d:Chinese solar items 1
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_1  "Li Chun"
-
-//d:Chinese solar items 2
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_2  "Yu Shui"
-
-//d:Chinese solar items 3
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_3  "Jing Zhe"
-
-//d:Chinese solar items 4
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_4  "Chun Fen"
-
-//d:Chinese solar items 5
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_5  "Qing Ming"
-
-//d:Chinese solar items 6
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_6  "Gu Yu"
-
-//d:Chinese solar items 7
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_7  "Li Xia"
-
-//d:Chinese solar items 8
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_8  "Xiao Man"
-
-//d:Chinese solar items 9
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_9  "Mang Zhong"
-
-//d:Chinese solar items 10
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_10  "Xia Zhi"
-
-//d:Chinese solar items 11
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_11  "Xiao Shu"
-
-//d:Chinese solar items 12
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_12  "Da Shu"
-
-//d:Chinese solar items 13
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_13  "Li Qiu"
-
-//d:Chinese solar items 14
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_14  "Chu Shu"
-
-//d:Chinese solar items 15
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_15  "Bai Lu"
-
-//d:Chinese solar items 16
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_16  "Qiu Fen"
-
-//d:Chinese solar items 17
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_17  "Han Lu"
-
-//d:Chinese solar items 18
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_18  "Shuang Jiang"
-
-//d:Chinese solar items 19
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_19  "Li Dong"
-
-//d:Chinese solar items 20
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_20  "Xiao Xue"
-
-//d:Chinese solar items 21
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_21  "Da Xue"
-
-//d:Chinese solar items 22
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_22  "Dong Zhi"
-
-//d:Chinese solar items 23
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_23  "Xiao Han"
-
-//d:Chinese solar items 24
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_solar_item_24  "Da Han"
-
-//d:Lunar festivals 1
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_festival_name_1  "Spring festival"
-
-//d:Lunar festivals 2
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_festival_name_2  "Lantern festival"
-
-//d:Lunar festivals 3
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_festival_name_3  "Dragon boat festival"
-
-//d:Lunar festivals 4
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_festival_name_4  "Seventh night festival"
-
-//d:Lunar festivals 5
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_festival_name_5  "Ghost festival"
-
-//d:Lunar festivals 6
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_festival_name_6  "Mid autumn festival"
-
-//d:Lunar festivals 7
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_festival_name_7  "Double ninth festival"
-
-//d:Lunar festivals 8
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_festival_name_8  "Eighth day of twelfth month festival"
-
-//d:Lunar festivals 9
-//l:navi_text_pane_t1
-//
-#define qtn_chi_cale_festival_name_9  "New year's eve"
-
-//d:Opens Lunar data dialog
-//l:list_single_pane_t1_cp2
-//
-#define qtn_chi_cale_lunar_data  "Show lunar data"
-
-//d:Title pane sting in "Show lunar data" dialog
-//l:heading_pane_t1
-//
-#define qtn_chi_cale_lunar_calendar  "Lunar calendar"
-
-//d:Calendar Settings main pane item
-//l:list_setting_pane_t1
-//
-#define qtn_cale_alarm_tone  "Calendar alarm tone"
-
-//d: Empty listbox
-//l: main_list_empty_pane
-//
-#define qtn_cale_no_events  "(No Events)"
-
-//d: The subject text when the item subject is empty in DayView
-//l: list_single_heading_pane_t1
-//
-#define qtn_cale_no_subject  "<Unnamed>"
-
-//d: Profile Settings Item Edit - setting selection data
-//l: list_set_graphic_pane_t1
-#define qtn_tc_off  "Off"
-
-//d: File list dialog header
-//l: heading_pane_t1
-#define qtn_tc_popup_heading  "Select tone: "
-
-//d:Default tone selection choice in alarm tone list  for Calendar and Clock
-//l:list_set_graphic_pane_t1
-//
-#define qtn_mode_default_tone  "Default tone"
-
-//d:Options menu item. 
-//d:Opens Add Description submenu in note editor
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_om_add_descript  "Add Description"
-
-//d:Submenu item for adding new description text to Calendar entry
-//d:Opens Notepad Editor.
-//l:list_single_popup_submenu_pane_t1
-//
-#define qtn_cale_om_descript_new  "New"
-
-//d:Submenu item for adding description text to Calendar entry 
-//d:from existing Notepad memos. Launches Notepad memo fetch.
-//l:list_single_popup_submenu_pane_t1
-//
-#define qtn_cale_om_descript_exist  "Use existing"
-
-//d:Options menu item. 
-//d:Shows Calendar entry description text in Notepad viewer. 
-//d:Opens Notepad viewer.
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_om_desc_show  "Show Description"
-
-//d:Options menu item. 
-//d:Removes description text from Calendar entry.
-//d:Launches confirmation query before removing.
-//l:list_single_pane_t1_cp2
-//
-#define qtn_cale_om_desc_remove  "Remove Description"
-
-//d:Title text, when editing Calendar description in Notepad
-//l:title_pane_t2/opt9
-//
-#define qtn_cale_note_title  "Calendar Description"
-
-//d:Confirmation text, when deleting Calendar description data from
-//d:Notepad editor
-//l:popup_note_window
-//
-#define qtn_cale_q_del_notep_desc  "Delete Calendar Description?"
-
-//d:Informatio note text shown, when Calendar description is deleted from
-//d:Notepad editor or viewer
-//l:popup_note_window
-//
-#define qtn_cale_inote_desc_del_memo  "Calendar description deleted"
-
-//d:Confirmation text, when deleting Calendar description data from
-//d:Calendar meeting editor
-//l:popup_note_window
-//
-#define qtn_cale_query_remove_descr  "Remove Description?"
-
-//d:Header text for Description form item.
-//d:One truncated line of description is visible below this.
-//l:data_form_wide_pane_t1
-//
-#define qtn_cale_meeting_description  "Description"
-
-//d:Title text of title pane
-//d:Note View
-//l:title_pane_t2/opt9
-//
-#define qtn_todo_note_header  "To-Do Note"
-
-//d:Command in options menu.
-//d:Delete the selected item.
-//l:list_single_pane_t1_cp2
-//
-#define qtn_todo_om_delete  "Delete"
-
-//d:Command in options sub-menu.
-//d:Set a priority high to selected item.
-//l:list_form_graphic_pane_t1
-//
-#define qtn_todo_attr_high  "High" 
-
-//d:Command in options sub-menu.
-//d:Set a priority normal to selected item.
-//l:list_form_graphic_pane_t1
-//
-#define qtn_todo_attr_normal  "Normal"
-
-//d:Command in options sub-menu.
-//d:Set a priority low to selected item.
-//l:list_form_graphic_pane_t1
-//
-#define qtn_todo_attr_low  "Low"
-
-//d:Command in options menu.
-//d:Marked the To-Do item done in List View
-//l:list_single_pane_t1_cp2
-//
-#define qtn_todo_cmd_task_completed  "Task completed"
-
-//d:Command in options menu.
-//d:Unmarked the To-Do item done in List View
-//l:list_single_pane_t1_cp2
-//
-#define qtn_todo_cmd_restore_task  "Restore task"
-
-//d:Confirmation query prompt.
-//d:Deleting the selected one note.
-//l:popup_note_window
-//
-#define qtn_todo_quest_delete_note  "Delete note?"
-
-//d:Confirmation query prompt.
-//d:Deleting the marked one or more notes.
-//l:popup_note_window
-//
-#define qtn_todo_quest_delete_notes  "Delete\n%N notes?"
-
-//d:Wait note text in deleting items.
-//l:popup_note_wait_window
-//
-#define qtn_todo_wait_deleting_notes  "Deleting notes..."
-
-//d:Item texts of form
-//d:Priority field of To-Do Note form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_todo_note_view_priority  "priority"
-
-//d:Item texts of form
-//d:Due date field of To-Do Note form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_todo_note_duedate  "due date"
-
-//d:Item texts of form
-//d:Subject field of To-Do Note form
-//l:list_double_graphic_heading_pane_t1
-//
-#define qtn_todo_note_subject  "subject"
-
-//d: Information note text shown in Calendar application start, 
-//d: when alarms have been passed due system time change
-//l:popup_note_window
-//w:
-//r:3.0
-#define qtn_cale_note_missed_alarms  "1 or more alarms missed due to time change"
-
-//d: Setting item choice to select Todo view as Calendar default view
-//l:list_set_graphic_pane_t1
-//w:
-//r:3.0
-//
-#define qtn_cale_default_todo_view  "Todo view"
-
-
-//d: Options Submenu item to create new Todo note
-//l:list_single_popup_submenu_pane_t1
-//w:
-//r:3.0
-#define qtn_cale_note_todo  "Todo"
-
-//d: Confirmation note shown, when edited Todo note is saved
-//l:popup_note_window
-//w:
-//r:3.0
-#define qtn_cale_note_todo_saved  "Todo Note saved"
-
-//d: Options menu item to open Calendar day view from Todo view
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.0
-#define qtn_cale_opt_view_day  "Day view"
-
-//d: Options menu item to open Todo view from other Calendar views
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.0
-#define qtn_cale_opt_view_todo  "Todo view"
-
-//d: Title pane text for Calendar Todo view that shows all users Todo entries
-//l:title_pane_t2/opt9
-//w:
-//r:3.0
-#define qtn_cale_title_todos  "All Todos"
-
-//d:Snooze time setting header.
-//l:list_setting_pane_t1/opt1
-//w:
-//r:3.1
-#define qtn_cale_set_snooze_time  "Calendar Alarm Snooze Time"
-
-//d:Context-specific text for the current snooze time value in Calendar Settings.
-//l:setting_slider_pane_t2
-//w:
-//r:3.1
-#define qtn_sanim_time_out_slider_ykcur  "1 minute"
-
-//d:Context-specific text for the current snooze time value in Calendar Settings.
-//d:%U in minutes, plural.
-//l:list_set_graphic_pane_t1
-//w:
-//r:3.1
-#define qtn_cale_sanim_time_out_slider_cur  "%U minutes"
-
-//d:Context-specific text for the minimum snooze time value in Calendar Settings.
-//l:setting_slider_pane_t2
-//w:
-//r:3.1
-#define qtn_cale_sanim_time_out_slider_min  "1 min."
-
-//d:Context-specific text for the maximum snooze time value in Calendar Settings.
-//l:setting_slider_pane_t2
-//w:
-//r:3.1
-#define qtn_snooze_time_max  "60 min."
-
-
-//d: Format string for lunar calendar information in Calendar day, week and month views
-//d: Format string is used dynamically to display as much information as possible.
-//d: If all information doesn't fit some information and separators are dropped.  
-//d: Localization can affect order of information.
-//d: If data element is dropped, empty string is supplied for it.
-//d: and either for preceding (or following) separator (%0U) 
-//d: 
-//d: e.g. in Chinese, order should be somethinglike (201030405): "%2U%0U%1U%0U%3U%0U%4U%0U%5U"
-//d: e.g. in Vietnamese, (304050201): "%3U%0U%4U%0U%5U%0U%2U%0U%1U"
-//d: %0U separator between data elements,  qtn_cale_lunar_separator
-//d: %1U animal year format, qtn_cale_animal_year_in_extra_row
-//d: %2U lunar year, qtn_cale_lunar_year
-//d: %3U lunar date, either qtn_cale_lunar_date or qtn_cale_lunar_leap_date
-//d: %4U festival, qtn_chi_cale_festival_name_X
-//d: %5U solar term, qtn_chi_cale_solar_item_X
-//l: None
-//w:
-//r:3.2
-//
-#define qtn_cale_extra_row_lunar "%1U%0U%2U%0U%3U%0U%4U%0U%5U"
-
-
-//d: Separator between data elements in Lunar Calendar extra row.
-//d: E.g. in Chinese, " "
-//d: E.g. in Vietnamese, ", "  
-//l: (None)
-//w:
-//r:3.2
-//
-#define qtn_cale_lunar_separator ", "
-
-
-//d: Chinese lunar date with day, month and year.
-//d: %0U is lunar date. either qtn_cale_lunar_date or qtn_cale_lunar_leap_date
-//d: %1U lunar year.  qtn_cale_lunar_year
-//d: 
-//l: (None)  
-//w:
-//r:3.2
-//
-#define qtn_cale_lunar_full_date "%0U %1U"
-
-
-//d: Chinese lunar date for dates. Used for non-leap month dates. 
-//d: Localication can add language specific separator and extra symbols.
-//d: E.g. in Chinese, character for month should be used: "%0U·%1U"
-//d: E.g. in Vietnamese, order is different and separator is slash "%1U/%0U"
-//d: %0U is lunar month 
-//d: %1U lunar day 
-//l: (None)
-//w:
-//r:3.2
-//
-#define qtn_cale_lunar_date "%0U/%1U"
-
-
-//d: Chinese lunar date for dates that are on leap months. 
-//d: This should be similar to qtn_cale_lunar_date, 
-//d: but language specific leap month indicator should be added to correct place.
-//d: E.g. in Vietnamese:  "%1U/%0U N"
-//d: %0U is lunar month 
-//d: %1U lunar day 
-//l: (None)
-//w:
-//r:3.2
-//
-#define qtn_cale_lunar_leap_date "%0UL/%1U"
-
-
-//d: Chinese lunar year, combination of heavenly stem and terrestial branch 
-//d: %0U is heavenly stem (qtn_chi_cale_heav_stem_X)
-//d: %1U is terrestial branch (qtn_chi_cale_terr_branch_X)
-//d: Localization can add language specific separator between words  
-//d: and if words are written together, space can be removed (e.g. in Chinese).
-//d: E.g. in Chinese "%0U%1U·"
-//d: E.g. in Vietnamese "Nam %0U %1U"
-//l: (None)
-//w:
-//r:3.2
-//
-#define qtn_cale_lunar_year "%0U %1U"
-
-
-//d: Heading text for chinese festival 
-//d: in Lunar calendar information pop-up.
-//d: It's not shown for dates that do not have festival. 
-//l: list_single_pane_t1
-//w:
-//r:3.2
-//
-#define qtn_cale_lunar_info_festival "Festival:"
-
-
-//d: Heading text for chinese solar term
-//d: in Lunar calendar information pop-up.
-//d: It's not shown for dates that do not have solar term.
-//l: list_single_pane_t1
-//w:
-//r:3.2
-//
-#define qtn_cale_lunar_info_solar "Solar term:"
-
-
-//d: Heading text for chinese lunar calendar date
-//d: in Lunar calendar information pop-up.
-//d: Data for this header is qtn_cale_lunar_full_date.
-//l: list_single_pane_t1
-//w:
-//r:3.2
-//
-#define qtn_cale_info_lunar_date "Lunar date:"
-
-
-//d: Heading text for animal year
-//d: in Lunar calendar information pop-up.
-//d: Data for this header is qtn_chi_cale_animal_X
-//l: list_single_pane_t1
-//w:
-//r:3.2
-//
-#define qtn_cale_info_animal_year "Animal year:"
-
-
-//d: Heading text for Gregorian (normal) date 
-//d: in Lunar calendar information pop-up.
-//d: Data for this header is qtn_date_usual_with_zero
-//l: list_single_pane_t1
-//w:
-//r:3.2
-//
-#define qtn_cale_info_western_date "Gregorian date:"
-
-
-//d: Year of Cat. 
-//d: In Vietnamese Lunar Calendar, year of rabbit of Chinese Lunar Calendar is instead a year of cat. 
-//l: list_single_pane_t1_cp2
-//w:
-//r:3.2
-//
-#define qtn_chi_cale_animal_cat "Year of the Cat" 
-
-
-//d: Setting item header for Thai Buddhist year display. 
-//d: Values are On and Off. 
-//d: If setting is on, Buddhist year is shown on 
-//d: separate area in month, week and day views
-//l: list_set_graphic_pane_t1
-//w:
-//r:3.2
-//
-#define qtn_cale_sett_thai_year "Show Buddhist year"
-
-//d: Database conflict note: entry was deleted by other application
-//l: popup_note_window
-//r: 3.2/5.0
-#define qtn_cale_note_db_conflict "Calendar database conflict.  This entry has been deleted by another application."
-
-//d: Database conflict note: entry was modified by other application
-//l: popup_note_window
-//r: 3.2/5.0
-#define qtn_cale_note_db_modified "Calendar database conflict.  This entry has been modified by another application."
-
-//d: Menu item for grouping views. 
-//d: Values are month, week, day and todo. 
-//l: list_single_pane_t1_cp2
-//w:
-//r:4.0
-//
-#define qtn_cale_opt_change_view "Change view"
-
-//d: Menu item for changing to month view. 
-//d: Value is month.
-//l: list_single_popup_submenu_pane_t1
-//w:
-//r:4.0
-//
-#define qtn_cale_opt_change_month "Month"
-
-//d: Menu item for changing to week view. 
-//d: Value is week.
-//l: list_single_popup_submenu_pane_t1
-//w:
-//r:4.0
-//
-#define qtn_cale_opt_change_week "Week"
-
-//d: Menu item for changing to day view. 
-//d: Value is day.
-//l: list_single_popup_submenu_pane_t1
-//w:
-//r:4.0
-//
-#define qtn_cale_opt_change_day "Day"
-
-//d: Menu item for changing to todo view. 
-//d: Value is todo.
-//l: list_single_popup_submenu_pane_t1
-//w:
-//r:4.0
-//
-#define qtn_cale_opt_change_todo "To-Do"
-
-//d: Tooltip text for previous view button. 
-//l: popup_preview_text_window_t1
-//w:
-//r:3.2
-//
-#define qtn_cale_tooltip_prev_view "Previous view"
-
-//d: Tooltip text for month view button. 
-//l: popup_preview_text_window_t1
-//w:
-//r:3.2
-//
-#define qtn_cale_tooltip_month_view "Month view"
-
-//d: Tooltip text for week view button. 
-//l: popup_preview_text_window_t1
-//w:
-//r:3.2
-//
-#define qtn_cale_tooltip_week_view "Week view"
-
-//d: Tooltip text for day view button. 
-//l: popup_preview_text_window_t1
-//w:
-//r:3.2
-//
-#define qtn_cale_tooltip_day_view "Day view"
-
-//d: Tooltip text for todo view button. 
-//l: popup_preview_text_window_t1
-//w:
-//r:3.2
-//
-#define qtn_cale_tooltip_todo_view "ToDo view"
-
-//d: Tooltip text for next view button. 
-//l: popup_preview_text_window_t1
-//w:
-//r:3.2
-//
-#define qtn_cale_tooltip_next_view "Next view"
-
-//d: Tooltip text for new entry button. 
-//l: popup_preview_text_window_t1
-//w:
-//r:3.2
-//
-#define qtn_cale_tooltip_new_entry "New entry"
-
-//d: New note query heading, which shows up when MSK is pressed, when day view or to do view is empty
-//d: Value is New Entry
-//l: heading_pane_t1
-//w:
-//r:5.0
-//
-#define qtn_cale_lq_new_entry "New entry"
-
-//d: List item in new note query, which shows up when MSK is pressed when day view or to do view is empty
-//d: Value is meeting
-//l: list_single_pane_t1_cp2
-//w:
-//r:5.0
-//
-#define qtn_cale_lq_new_meeting "Meeting"
-
-//d: List item in new note query, which shows up when MSK is pressed when day view or to do view is empty
-//d: Value is mr
-//l: list_single_pane_t1_cp2
-//w:
-//r:5.0
-//
-#define qtn_cale_lq_new_mr "Meeting Request"
-
-//d: List item in new note query, which shows up when MSK is pressed when day view or to do view is empty
-//d: Value is memo
-//l: list_single_pane_t1_cp2
-//w:
-//r:5.0
-//
-#define qtn_cale_lq_new_memo "Memo"
-
-//d: List item in new note query, which shows up when MSK is pressed when day view or to do view is empty
-//d: Value is anniv
-//l: list_single_pane_t1_cp2
-//w:
-//r:5.0
-//
-#define qtn_cale_lq_new_anniversary "Anniversary"
-
-//d: List item in new note query, which shows up when MSK is pressed, when day view or to do view is empty
-//d: Value is todo
-//l: list_single_pane_t1_cp2
-//w:
-//r:5.0
-//
-#define qtn_cale_lq_new_todo "To-Do"
-
-//d: Edits a note
-//d: Value is Edit
-//l: list_single_pane_t1_cp2
-//r 3.2
-//
-#define qtn_cale_om_edit "Edit"
-
-//d: Calendar Go to date query prompt
-//l: popup_query_data_window_t3/opt2
-//
-#define qtn_cale_go_to_date  "Go to date:"
-
-//d: Msk label displayed in Todo/Day view when there are no events for a day
-//d: Value is New
-//l: control_pane_t3/opt7
-//r: 5.0
-//
-#define qtn_cale_msk_new_entry "New"
-
-//d: Tooltip text for Next View
-//l: popup_preview_text_window_t1
-//w:
-//r: 5.0
-//
-#define qtn_cale_tb_next_view "Next view"
-
-//d: Tooltip text for New Meeting 
-//l: popup_preview_text_window_t1
-//w:
-//r: 5.0
-//
-#define qtn_cale_tb_new_meeting "New meeting"
-
-//d: Tooltip text for New ToDo 
-//l: popup_preview_text_window_t1
-//w:
-//r: 5.0
-//
-#define qtn_cale_tb_new_todo "New to-do"
-
-//d:Long tap on day opens Long tap menu to create new Meeting note
-//l:list_single_pane_t1_cp2
-//w:
-//r: 5.0
-//
-#define qtn_cale_long_tap_meeting "New meeting"
-
-//d:Long tap on day opens Long tap menu to create new Anniversary Note
-//l:list_single_pane_t1_cp2
-//w:
-//r: 5.0
-//
-#define qtn_cale_long_tap_anniversary  "New anniversary"
-
-//dLong tap on day opens Long tap menu to create new  Day Note
-//l:list_single_pane_t1_cp2
-//w:
-//r: 5.0
-//
-#define qtn_cale_long_tap_memo  "New memo"
-
-//d: Long tap on day opens Long tap menu to create new Todo note
-//l:list_single_pane_t1_cp2
-//w:
-//r: 5.0
-//
-#define qtn_cale_long_tap_todo  "New todo"
-
-//d: Format string for data shown in preview pane
-//d: %0U is start time
-//d: %1U is hyphen or space
-//d: %2U is end time
-//d: %3U is subject
-//d: %4U is location
-//d: %5U is description
-//d: %6U is language specific separator
-//d: %7U is space
-//l: list_single_fp_cale_pane_t2/opt1
-//w:
-//r: 5.0
-//
-#define qtn_cale_pane_event_data "%0U%1U%2U%7U%3U%6U%4U%6U%5U"
-
-//d: Title for the preview pane
-//d: %0U is currently focused week day
-//d: %1U is currently focused date
-//l: popup_fixed_preview_cale_window_t1
-//w: 
-//r: 5.0
-//
-#define qtn_cale_pane_title "%0U %1U"
-
-//d: No events in preview pane
-//l: popup_fixed_preview_cale_window_t2/opt1 
-//w:
-//r: 5.0
-//
-#define qtn_cale_pane_no_events "(No events)"
-
-//d: Popup Event Separator
-//l: None
-//w:
-//r: 5.0
-//
-#define qtn_cale_popup_event_separator ","
-
-//d: Options menu item for clearing a missed alarm
-//l: list_single_pane_t1_cp2
-//w: 
-//r: 5.0 
-#define qtn_cale_mav_opt_clear  "Clear"
-
-//d: Options menu items for clearing all the missed alarms
-//l: list_single_pane_t1_cp2
-//w: 
-//r: 5.0 
-#define qtn_cale_mav_opt_clear_all  "Clear all"
-
-//d: Go to previous view from where Missed Alarms View is launched
-//l: list_single_pane_t1_cp2
-//w: 
-//r: 5.0 
-#define qtn_cale_mav_opt_goto_cale  "Go to Calendar"
-
-//d: Options menu item to open Calendar's Missed Alarms View 
-//l: list_single_pane_t1_cp2
-//w:
-//r: 5.0
-#define qtn_cale_opt_mav  "Missed alarms"
-
-//d: Title pane text for Calendar's Missed Alarms view that shows all the missed alarms
-//l: title_pane_t2/opt9
-//w:
-//r: 5.0
-#define qtn_cale_title_missed_alarms  "Missed Alarms"
-
-//d: Start date and time of the missed alarm event
-//l: list_double_graphic_pane_t2
-//w:
-//r: 5.0 
-#define qtn_cale_mav_start_time "%0U %1U"
-
-//d: Tooltip text for Clearing a Missed Alarm
-//l: popup_preview_text_window_t1
-//w:
-//r: 5.0
-//
-#define qtn_cale_mav_tb_clear "Clear"
-
-//d: Tooltip text for Clearing all the Missed Alarms 
-//l: popup_preview_text_window_t1
-//w:
-//r: 5.0
-//
-#define qtn_cale_mav_tb_clearall "Clear all"
-
-//d: Tooltip text for activating the previous view from where Missed Alarms View is launched
-//l: popup_preview_text_window_t1
-//w:
-//r: 5.0
-//
-#define qtn_cale_mav_tb_goto_cale "Go to Calendar"
-
-//d: Query for viewing the missed alarms view for one missed alarm
-//l: popup_note_window
-//w: 
-//r: 5.0
-//
-#define qtn_cale_query_view_missed  "One missed Calendar event.Do you want to view it?"
-
-//d: Query for viewing the missed alarms view for multiple missed alarms
-//l: popup_note_window
-//w: 
-//r: 5.0
-//
-#define qtn_cale_query_view_missed_n  "%N missed Calendar events.Do you want to view them?"
-
-//d: The subject text when the item subject is empty in Missed alarms view
-//l: list_double_large_graphic_pane_t1
-//w: 
-//r: 5.0
-//
-#define qtn_cale_mav_unnamed  "(Unnamed)"
-
-//d:Command in stylus popup menu.
-//d:Marked the To-Do item done in List View and Preview popup.
-//l:list_single_touch_menu_pane_t1
-//w: 
-//r: 5.0
-//
-#define qtn_cale_stylus_popup_cmd_task_completed  "Mark as done" 
-
-//d:Command in stylus popup menu.
-//d:Unmarked the To-Do item done in List View.
-//l:list_single_touch_menu_pane_t1
-//w: 
-//r: 5.0
-//
-#define qtn_cale_stylus_cmd_restore_task  "Mark as not done"
-
-//d:Command in stylus popup menu.
-//d:Delete the selected item.
-//l:list_single_touch_menu_pane_t1
-//w: 
-//r: 5.0
-//
-#define qtn_cale_stylus_popup_delete  "Delete"
-
-//d:Command in stylus popup menu.
-//d:Send the selected item.
-//l:list_single_touch_menu_pane_t1
-//w: 
-//r: 5.0
-//
-#define qtn_cale_stylus_popup_send  "Send"
-
-//d:Command in stylus popup menu.
-//d:Mark-operation. Marks selected item.
-//l:list_single_touch_menu_pane_t1
-//w: 
-//r: 5.0
-//
-#define qtn_cale_stylus_popup_mark  "Mark"
-
-//d:Command in stylus popup menu.
-//d:Unmark-operation. Unmarks selected marked item.
-//l:list_single_touch_menu_pane_t1
-//w: 
-//r: 5.0
-//
-#define qtn_cale_stylus_popup_unmark  "Unmark"
-
-//d: Tooltip text for editing current calendar note
-//l: popup_preview_text_window_t1
-//w:
-//r: 5.0
-//
-#define qtn_cale_tb_edit "Edit"
-
-//d: Tooltip text for deleting current calendar note
-//l: popup_preview_text_window_t1
-//w:
-//r: 5.0
-//
-#define qtn_cale_tb_delete "Delete"
-
-//d: Tooltip text for sending calendar note
-//l: popup_preview_text_window_t1
-//w:
-//r: 5.0
-//
-#define qtn_cale_tb_send "Send"
-
-//d: Default tone selection choice in alarm tone list for Calendar and Clock
-//l: list_single_graphic_pane_t1_cp2
-//w:
-//r: 5.0
-#define qtn_cale_tc_no_personal_tone "Default tone"
-
-//d: "Off" tone selection choice in alarm tone list for Calendar and Clock
-//l: list_single_graphic_pane_t1_cp2
-//w:
-//r: 5.0
-#define qtn_cale_tc_none  "Off"
-
-//d:Opens Maps application for choosing new location
-//l:list_single_pane_t1_cp2
-//w:
-//r: 5.1
-#define qtn_cale_om_assign_from_map  "Assign from map"
-
-//d: Msk label displayed in Editors when there is no map location
-//d: Value is From map
-//l: control_pane_t3/opt7
-//r: 5.1
-//
-#define text_softkey_from_map "From map"
-
-//d:Opens Maps application for choosing new location
-//l:list_single_pane_t1_cp2
-//w:
-//r: 5.1
-#define qtn_cale_om_find_on_map  "Find on map"
-
-//d:Opens Maps application fto show the location
-//l:list_single_pane_t1_cp2
-//w:
-//r: 5.1
-#define qtn_cale_om_show_on_map  "Show on map"
-
-//d:Shows Update location query
-//l:heading_pane_t1
-//w:
-//r: 5.1
-#define qtn_cale_update_location  "Update location:"
-
-//d:Adds selected address to existing location details
-//l:list_single_pane_t1_cp2
-//w:
-//r: 5.1
-#define qtn_cale_addto_existing_location  "Add to existing"
-
-//d:Replaces existing location details with selected address
-//l:list_single_pane_t1_cp2
-//w:
-//r: 5.1
-#define qtn_replace_existing_location  "Replace existing"
-
-//d:Confirmation query prompt.
-//d:Replace the exisitng map location with new one
-//d: %0U is the name of the location with which existing one is being replaced
-//l:popup_note_window
-//w:
-//r: 5.1
-#define qtn_cale_confirm_change_address  "Update Address to %U?"
-
-//d: Confirmation note shown, when address is replaced with new one
-//l:popup_note_window
-//w:
-//r:5.1
-#define qtn_cale_note_address_updated  "Address Updated"
-
-//d: Confirmation note shown, when address with coordinates is manually changed
-//l:popup_note_window
-//w:
-//r:5.1
-#define qtn_cale_confirm_keep_coordinates  "Address will be updated. Keep existing map location?"
-
-//d:Context-specific text for the current snooze time value in Calendar Settings.
-//l:list_set_graphic_pane_t1
-//w:
-//r:3.1
-#define qtn_cale_sanim_time_out_slider_ykcur  "1 minute"
-
-//d:Context-specific text for the current snooze time value in Calendar Settings.
-//d:%U in minutes, plural.
-//l:setting_slider_pane_t2 
-//w:
-//r:3.1
-#define qtn_set_cale_sanim_time_out_slider_cur  "%U minutes"
-// End of File
--- a/calendarui/regionalplugins/lunarVietnamese/src/calenlunarvietnameseplugin.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/regionalplugins/lunarVietnamese/src/calenlunarvietnameseplugin.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -73,6 +73,7 @@
 	{
 	TRACE_ENTRY_POINT;
 	iLabelControl = NULL;
+	setFlag(QGraphicsItem::ItemHasNoContents, false);
 	TRACE_EXIT_POINT;
 	}
 	
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/regionalplugins/lunarchinese/bwins/calenlunarchinesepluginu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,10 @@
+EXPORTS
+	?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &)
+	?AnimalYear@CCalenLunarLocalizedInfo@@QAEABVTDesC16@@XZ @ 2 NONAME ; class TDesC16 const & CCalenLunarLocalizedInfo::AnimalYear(void)
+	?SolarTerm@CCalenLunarLocalizedInfo@@QAEABVTDesC16@@XZ @ 3 NONAME ; class TDesC16 const & CCalenLunarLocalizedInfo::SolarTerm(void)
+	?GregorianDate@CCalenLunarLocalizedInfo@@QAEABVTDesC16@@XZ @ 4 NONAME ; class TDesC16 const & CCalenLunarLocalizedInfo::GregorianDate(void)
+	?LunarMonthAndDay@CCalenLunarLocalizedInfo@@QAEABVTDesC16@@XZ @ 5 NONAME ; class TDesC16 const & CCalenLunarLocalizedInfo::LunarMonthAndDay(void)
+	?Festival@CCalenLunarLocalizedInfo@@QAEABVTDesC16@@XZ @ 6 NONAME ; class TDesC16 const & CCalenLunarLocalizedInfo::Festival(void)
+	?FullLunarDate@CCalenLunarLocalizedInfo@@QAEABVTDesC16@@XZ @ 7 NONAME ; class TDesC16 const & CCalenLunarLocalizedInfo::FullLunarDate(void)
+	?LunarYear@CCalenLunarLocalizedInfo@@QAEABVTDesC16@@XZ @ 8 NONAME ; class TDesC16 const & CCalenLunarLocalizedInfo::LunarYear(void)
+
--- a/calendarui/regionalplugins/lunarchinese/data/2002EA3C.rss	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/regionalplugins/lunarchinese/data/2002EA3C.rss	Thu Jul 22 16:32:51 2010 +0100
@@ -19,7 +19,6 @@
 #define CALENLUNARPLUGINREG_H
 
 #include <ecom/registryinfov2.rh>
-#include "calendarregionalplugin.loc"
 
 #include "calenregionalpluginuids.h"
 
@@ -38,7 +37,7 @@
                     {
                     implementation_uid = CALENLUNARPLUGIN_CHINESE_IMPLEMENTATION_UID;
                     version_no = 1;
-                    display_name = qtn_chi_cale_sett_lunar_cale;
+                    //display_name = qtn_chi_cale_sett_lunar_cale;
                     // Supported languages can be inserted as follows:
                     // "language(1)||language(14)||language(151)
                     // Numbers can be Symbian language codes (TLanguage) 
--- a/calendarui/regionalplugins/lunarchinese/data/CalenLunarChinesePluginData.rss	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +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: This file contains all the resources for the Lunar plugin.
-*
-*/
-
-
-
-#include <eikon.rh>
-#include <avkon.hrh>
-#include <avkon.rh>
-#include <avkon.rsg>
-
-#include "calendarregionalplugin.loc"
-
-NAME CLU2
-
-RESOURCE RSS_SIGNATURE { }
-
-
-//----------------------------------------------------
-//----------------------------------------------------
-//
-RESOURCE DIALOG r_calen_lunar_details_dialog
-     {
-     flags = EGeneralQueryFlags;
-     buttons = R_AVKON_SOFTKEYS_OK_EMPTY;
-     items = 
-         {
-         DLG_LINE 
-             {
-             type = EAknCtPopupHeadingPane;
-             id = EAknMessageQueryHeaderId;
-             control = AVKON_HEADING
-                {
-                 label = qtn_chi_cale_lunar_calendar;
-                 headinglayout = R_AVKON_LIST_HEADING_PANE;
-                };
-             },
-         DLG_LINE
-             {
-             type = EAknCtMessageQuery;
-             id = EAknMessageQueryContentId;
-             control = AVKON_MESSAGE_QUERY
-                 {
-                 };
-             }
-         };
-     }
-
-
-//----------------------------------------------------
-// Menu item text "Show lunar details"
-//----------------------------------------------------
-//
-RESOURCE TBUF r_calendar_show_lunar_data
-    {
-    buf = qtn_chi_cale_lunar_data;
-    }
-
-
-//----------------------------------------------------
-// Details dialog item headers
-//----------------------------------------------------
-//
-RESOURCE TBUF r_calendar_lunar_info_festival
-    {
-    buf = qtn_cale_lunar_info_festival;
-    }
-
-RESOURCE TBUF r_calendar_lunar_info_solar
-    {
-    buf = qtn_cale_lunar_info_solar;
-    }
-
-RESOURCE TBUF r_calendar_lunar_info_date
-    {
-    buf = qtn_cale_info_lunar_date;
-    }
-
-RESOURCE TBUF r_calendar_lunar_info_animal_year
-    {
-    buf = qtn_cale_info_animal_year;
-    }
-
-RESOURCE TBUF r_calendar_lunar_info_western_date
-    {
-    buf = qtn_cale_info_western_date;
-    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/regionalplugins/lunarchinese/eabi/calenlunarchinesepluginu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,3 @@
+EXPORTS
+	_Z24ImplementationGroupProxyRi @ 1 NONAME
+
--- a/calendarui/regionalplugins/lunarchinese/inc/CalenLunarChinesePlugin.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/regionalplugins/lunarchinese/inc/CalenLunarChinesePlugin.h	Thu Jul 22 16:32:51 2010 +0100
@@ -34,7 +34,7 @@
 
 //FORWARD DECLARE
 class QString;
-
+class HbTranslator;
 class HbWidget;
 class HbMenu;
 
@@ -78,7 +78,7 @@
     private:
         void FormatExtraRowStringL();
         void UpdateLocalizerInfoL();
-        void ExecuteMessageDialogL( TDesC& aMsgText );
+       void ExecuteMessageDialogL( QString aMsgText );
        
     public:
         void ShowDetailsL();
@@ -112,7 +112,7 @@
 		HBufC* iInfoBarText;
 	    TInt iStart;
 	    TInt iEnd;
-	    TInt  iResourceFileOffset;
+	    HbTranslator* iTranslator;
 	};
 	
 #endif //__CALENLUNARCHINESEPLUGIN_H__
--- a/calendarui/regionalplugins/lunarchinese/lunarchinese.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/regionalplugins/lunarchinese/lunarchinese.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -50,13 +50,11 @@
 	    -laknicon \
 	    -legul \
 	    -lflogger \	 
-		-lavkon \
             -lcalenregionalutil
 
 symbian: {
 
-INCLUDEPATH += /epoc32/include/ecom \
-				../loc
+INCLUDEPATH += /epoc32/include/ecom 
 
 TARGET.UID2 = 0x10009D8D #SYMBIAN_ECOM_PLUGIN_UID 
 TARGET.UID3 = 0x2002EA3C #CALENLUNARCHINESEPLUGIN_DLL_UID 
@@ -82,12 +80,6 @@
 "LANGUAGE_IDS" \
 "END" \
 \
-"START RESOURCE  calenlunarchineseplugindata.rss" \
-"HEADER" \
-"TARGETPATH      RESOURCE_FILES_DIR" \
-"LANGUAGE_IDS" \
-"END"  \
-\
 "TARGETTYPE plugin"
 
 
@@ -96,6 +88,7 @@
 MMP_RULES -= "OPTION_REPLACE ARMCC --export_all_vtbl -D__QT_NOEFFECTMACRO_DONOTUSE"
 
 }
-
+# TODO: uncomment below line once ts file is released to platform
+#TRANSLATIONS += calenregional.ts
 
 # End of file	--Don't remove this.
\ No newline at end of file
--- a/calendarui/regionalplugins/lunarchinese/src/CalenLunarChinesePlugin.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/regionalplugins/lunarchinese/src/CalenLunarChinesePlugin.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -16,18 +16,18 @@
 */
 
 
-#include <eikenv.h>
-#include <StringLoader.h>
-#include <data_caging_path_literals.hrh>
-#include <bautils.h>
-#include <CalenLunarChinesePluginData.rsg>
-
 #include <QString>
+#include <QStringList>
 #include <HbAction>
 #include <HbView>
 #include <HbMenu>
 #include <HbMessageBox>
 #include <HbLabel>
+#include <HbTranslator>
+
+#include <eikenv.h>
+#include <data_caging_path_literals.hrh>
+#include <bautils.h>
 
 #include "calendarui_debug.h" 
 #include "CalenLunarChinesePlugin.h"
@@ -39,10 +39,8 @@
 #include "hb_calencommands.hrh"
 
 //CONSTANTS
-_LIT( KFieldSeparator, "\n" );
-_LIT( KHeaderSeparator, "\n  ");
-_LIT( KResourceChinesePluginFile, "calenlunarchineseplugindata.rsc" );
-#define KResourcePath KDC_RESOURCE_FILES_DIR
+static const QString fieldSeparator("\n");
+static const QString headerSeparator("\n  ");
 
 const TInt KFieldCount = 5;
 
@@ -57,8 +55,7 @@
 	:iLocalizer(NULL),
 	 iLocInfo(NULL),
 	 iServices(aServices),
-	 iInfoBarText(NULL),
-	 iResourceFileOffset( NULL )
+	 iInfoBarText(NULL)
 	{
 	TRACE_ENTRY_POINT;
 	
@@ -104,13 +101,17 @@
  	    }
         
 	delete iInfoProvider;
+	iInfoProvider = NULL;
 	delete iLocalizer;
+	iLocalizer = NULL;
 	delete iLocInfo;
+	iLocInfo = NULL;
 	
-	if( iResourceFileOffset )
-        {
-        CCoeEnv::Static()->DeleteResourceFile( iResourceFileOffset );
-        }
+	// Remove the translator for plugin
+	if (iTranslator) {
+		delete iTranslator;
+		iTranslator = 0;
+	}
 	TRACE_EXIT_POINT;
 	}
 	
@@ -121,29 +122,18 @@
 void CCalenLunarChinesePlugin::ConstructL()
 	{
 	TRACE_ENTRY_POINT;
-	
-	TFileName dllName;
-	// Get the complate path of the DLL from where it is currently loaded
-	Dll::FileName( dllName );
-	
-    TFileName resourceFilename;
-    resourceFilename.Append(dllName.Mid(0,2));
-    resourceFilename.Append(KResourcePath);
-    resourceFilename.Append(KResourceChinesePluginFile);
-    BaflUtils::NearestLanguageFile( CEikonEnv::Static()->FsSession(), 
-															resourceFilename );
-    // Add the resource file.
-    iResourceFileOffset = CEikonEnv::Static()->AddResourceFileL( 
-															resourceFilename );
-	
     iServices->RegisterForNotificationsL( this, ECalenNotifyContextChanged );
 	iServices->GetCommandRange( iStart, iEnd );
 	
+	// Install the translator before the CCalenLunarLocalizer is constructed
+	iTranslator = new HbTranslator("calenregional");
+	
 	iLocalizer = CCalenLunarLocalizer::NewL();
 	
 	iInfoProvider = CCalenLunarInfoProvider::NewL( 
 											CEikonEnv::Static()->FsSession() );
 	
+	
     TRACE_EXIT_POINT;	
 	}
 
@@ -274,7 +264,7 @@
 void CCalenLunarChinesePlugin::UpdateLocalizerInfoL()
 	{
 	TRACE_ENTRY_POINT;
-	QDateTime focusDateTime= iServices->Context().focusDateAndTimeL();
+	QDateTime focusDateTime= iServices->Context().focusDateAndTime();
 	TDateTime tempDateTime(
 					focusDateTime.date().year(),
 					static_cast<TMonth>(focusDateTime.date().month() - 1),
@@ -312,69 +302,52 @@
 // -----------------------------------------------------------------------------
 //	
 void CCalenLunarChinesePlugin::ShowDetailsL( )
-    {
-    TRACE_ENTRY_POINT;
-    HBufC* msgText = HBufC::NewLC( 1000 );
-    if ( iLocInfo )
-        {
-        TInt headerIds[KFieldCount] = {
-            R_CALENDAR_LUNAR_INFO_FESTIVAL,
-            R_CALENDAR_LUNAR_INFO_SOLAR,
-            R_CALENDAR_LUNAR_INFO_DATE,
-            R_CALENDAR_LUNAR_INFO_ANIMAL_YEAR,
-            R_CALENDAR_LUNAR_INFO_WESTERN_DATE
-            };
-        
-        RPointerArray<HBufC> headersArray;
-        
-        for ( TInt i=0; i < KFieldCount; i++) 
-            {
-            headersArray.Append( StringLoader::LoadL( headerIds[i] ) );
-            }
-        
-        CPtrCArray* fieldsArray = new (ELeave) CPtrCArray(5);
-        CleanupStack::PushL( fieldsArray );
-        fieldsArray->AppendL( iLocInfo->Festival() );
-        fieldsArray->AppendL( iLocInfo->SolarTerm() );
-        fieldsArray->AppendL( iLocInfo->FullLunarDate() );
-        fieldsArray->AppendL( iLocInfo->AnimalYear() );
-        fieldsArray->AppendL( iLocInfo->GregorianDate() );
-        
-        for (TInt i=0; i < KFieldCount; i++)
-            {
-            TPtrC fieldPtrC = fieldsArray->At(i);
-            if ( fieldPtrC != KNullDesC )
-                {
-                msgText->Des().Append( *(headersArray[i]) );
-                msgText->Des().Append( KHeaderSeparator );
-                msgText->Des().Append( fieldPtrC );
-                if ( i < KFieldCount - 1 ) // not last
-                    {
-                    msgText->Des().Append( KFieldSeparator );
-                    }
-                }
-            }
-        CleanupStack::PopAndDestroy( fieldsArray );
-        headersArray.ResetAndDestroy();
-        }
-    
-    
-    ExecuteMessageDialogL(*msgText);
-   
-    CleanupStack::PopAndDestroy( msgText );
-    
-    TRACE_EXIT_POINT;
-    }
+{
+	QString msgText;
+	if(iLocInfo) {
+		QStringList headerIds;
+		headerIds.append(hbTrId("txt_calendar_info_festival"));
+		headerIds.append(hbTrId("txt_calendar_solar_term"));
+		headerIds.append(hbTrId("txt_calendar_lunar_date"));
+		headerIds.append(hbTrId("txt_calendar_animal_year"));
+		headerIds.append(hbTrId("txt_calendar_gregorian_date"));
+
+		QStringList fieldInfo;
+		QString data;
+
+		data = QString::fromUtf16(iLocInfo->Festival().Ptr(),iLocInfo->Festival().Length());
+		fieldInfo.append(data);
+		data = QString::fromUtf16(iLocInfo->SolarTerm().Ptr(),iLocInfo->SolarTerm().Length());
+		fieldInfo.append(data);
+		data = QString::fromUtf16(iLocInfo->FullLunarDate().Ptr(),iLocInfo->FullLunarDate().Length());
+		fieldInfo.append(data);
+		data = QString::fromUtf16(iLocInfo->AnimalYear().Ptr(),iLocInfo->AnimalYear().Length());
+		fieldInfo.append(data);
+		data = QString::fromUtf16(iLocInfo->GregorianDate().Ptr(),iLocInfo->GregorianDate().Length());
+		fieldInfo.append(data);
+		// Append the data in the proper order
+		for (TInt i=0; i < KFieldCount; i++) {
+			if(!fieldInfo.at(i).isEmpty()) {
+				msgText.append(headerIds[i]);
+				msgText.append(headerSeparator);
+				msgText.append(fieldInfo[i]);
+				if ( i < KFieldCount - 1 ) { 
+					// not last item
+					msgText.append(fieldSeparator);
+				}
+			}
+		}
+	}
+	ExecuteMessageDialogL(msgText);
+}
 
 // -----------------------------------------------------------------------------
-// CCalenLunarChinesePlugin::ShowMessageDialogL
+// CCalenLunarChinesePlugin::ExecuteMessageDialogL
 // -----------------------------------------------------------------------------
-//    
-void CCalenLunarChinesePlugin::ExecuteMessageDialogL(TDesC& aMsgText)
+//
+void CCalenLunarChinesePlugin::ExecuteMessageDialogL(QString aMsgText)
 	{
 	TRACE_ENTRY_POINT;	
-	QString text = QString::fromUtf16(aMsgText.Ptr(),aMsgText.Length());
-	
 	// Instantiate a popup
 	HbMessageBox *popup = new HbMessageBox();
 	popup->setDismissPolicy(HbDialog::NoDismiss);
@@ -382,8 +355,8 @@
 	popup->setIconVisible(false);
 	popup->setAttribute( Qt::WA_DeleteOnClose, true );
 	
-	popup->setHeadingWidget(new HbLabel("Lunar Calendar"));
-	popup->setText(text);
+	popup->setHeadingWidget(new HbLabel(hbTrId("txt_calendar_title_lunar_calendar")));
+	popup->setText(aMsgText);
 	
 	// Remove the default actions
 	QList<QAction*> list = popup->actions();
@@ -392,13 +365,12 @@
 		popup->removeAction(list[i]);
 	}
 	// Sets the primary action
-	popup->addAction(new HbAction(hbTrId("txt_calendar_button_cancel"), popup));
+	popup->addAction(new HbAction(hbTrId("txt_calendar_button_close"), popup));
 
 	// Launch popup
 	popup->open();
    	TRACE_EXIT_POINT;
 	}
-
 //EOF
 
 
--- a/calendarui/regionalplugins/regionalplugins.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/regionalplugins/regionalplugins.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -14,8 +14,6 @@
 # Description:  Project definition file for calendar regional plugins
 #
 
-BLD_INF_RULES.prj_mmpfiles +=	"./calenregionalutil/group/calenregionalutil.mmp"
-
 BLD_INF_RULES.prj_exports += \
 "./calenregionalutil/inc/calenextrarowformatter.h			|./inc/calenextrarowformatter.h" \
 "./calenregionalutil/inc/calenlunarinfo.h					|./inc/calenlunarinfo.h" \
@@ -31,5 +29,6 @@
 "./lunarchinese/data/SolarItems								/epoc32/release/winscw/urel/z/private/10005901/solaritems"
 
 TEMPLATE = subdirs
-SUBDIRS += lunarchinese
+SUBDIRS += calenregionalutil \
+					 lunarchinese
 CONFIG += ordered
--- a/calendarui/rom/Calendar.iby	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/rom/Calendar.iby	Thu Jul 22 16:32:51 2010 +0100
@@ -30,12 +30,11 @@
 
 
 // Application registration file.
-data=DATAZ_\private\10003a3f\import\apps\CALENDAR_REG.RSC		\private\10003a3f\import\apps\CALENDAR_REG.RSC
-data=\epoc32\data\z\pluginstub\calengriditemstyleplugin.qtplugin   \private\10005901\calengriditemstyleplugin.qtplugin
+data=DATAZ_\private\10003a3f\import\apps\calendar_reg.rsc		\private\10003a3f\import\apps\calendar_reg.rsc
 data=\epoc32\data\z\resource\qt\plugins\calendar\agendaeventviewerplugin.qtplugin             resource\qt\plugins\calendar\agendaeventviewerplugin.qtplugin
 
 // Stub sis
-// data=DATAZ_\system\install\calendar_stub.sis             \System\Install\calendar_stub.sis
+data=DATAZ_\system\install\calendar_stub.sis             \System\Install\calendar_stub.sis
 
 file=ABI_DIR\BUILD_DIR\calencommonutils.dll SHARED_LIB_DIR\calencommonutils.dll
 file=ABI_DIR\BUILD_DIR\calenglobaldata.dll SHARED_LIB_DIR\calenglobaldata.dll
@@ -43,7 +42,6 @@
 file=ABI_DIR\BUILD_DIR\caleneditor.dll SHARED_LIB_DIR\caleneditor.dll
 file=ABI_DIR\BUILD_DIR\calenviews.dll SHARED_LIB_DIR\calenviews.dll
 file=ABI_DIR\BUILD_DIR\calensettings.dll SHARED_LIB_DIR\calensettings.dll
-file=ABI_DIR\BUILD_DIR\calengriditemstyleplugin.dll SHARED_LIB_DIR\calengriditemstyleplugin.dll
 file=ABI_DIR\BUILD_DIR\calencontroller.dll SHARED_LIB_DIR\calencontroller.dll
 file=ABI_DIR\BUILD_DIR\agendaeventviewer.dll SHARED_LIB_DIR\agendaeventviewer.dll
 file=ABI_DIR\BUILD_DIR\calenlauncher.dll SHARED_LIB_DIR\calenlauncher.dll
--- a/calendarui/rom/CalendarResources.iby	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/rom/CalendarResources.iby	Thu Jul 22 16:32:51 2010 +0100
@@ -11,7 +11,8 @@
 *
 * Contributors:
 *
-* Description:   IBY file for localizable elements of Calendar.app
+* Description:
+* The iby file for calendar resources
 *
 */
 
@@ -22,8 +23,8 @@
 #include <data_caging_paths_for_iby.hrh>
 
 // Application resource file.
-data=DATAZ_\resource\apps\CALENDAR.RSC		APP_RESOURCE_DIR\CALENDAR.RSC
-data=DATAZ_\QT_TRANSLATIONS_DIR\calendar.qm			QT_TRANSLATIONS_DIR\calendar.qm
+S60_APP_RESOURCE(calendar)
+data=DATAZ_/QT_TRANSLATIONS_DIR/calendar.qm			QT_TRANSLATIONS_DIR/calendar.qm
 
 #endif // CALENDARRESOURCE_IBY
 
--- a/calendarui/rom/calenlunarchinese_variant.iby	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/rom/calenlunarchinese_variant.iby	Thu Jul 22 16:32:51 2010 +0100
@@ -22,13 +22,6 @@
 
 #ifdef RD_CALENDAR_PLUGIN_FW
 ECOM_PLUGIN( calenlunarchineseplugin.dll , calenlunarchineseplugin.rsc )
-
-data=DATAZ_\RESOURCE_FILES_DIR\calenlunarchineseplugindata.rsc    	RESOURCE_FILES_DIR\calenlunarchineseplugindata.rsc
-
-//TODO: once we have USER_RESOURCE_FILES_LOCALIZED defined
-//#define USER_RESOURCE_FILES_LOCALIZED calenlunarchineseplugindata
-//#include <Variant/localized_resources.iby>
-
 #endif
 
 #endif // __SERIES60_LUNAR_CALENDAR
--- a/calendarui/rom/calenregionalutil.iby	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/rom/calenregionalutil.iby	Thu Jul 22 16:32:51 2010 +0100
@@ -19,7 +19,6 @@
 #define CALENREGIONALUTIL_IBY
 
 file=ABI_DIR\BUILD_DIR\calenregionalutil.dll				SHARED_LIB_DIR\calenregionalutil.dll
-data=DATAZ_\RESOURCE_FILES_DIR\calenregionalutil.rsc		RESOURCE_FILES_DIR\calenregionalutil.rsc
 data=DATAZ_\private\10005901\SolarItems						private\10005901\SolarItems
 
 #endif  // CALENREGIONALUTIL_IBY
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/rom/calenviewerservice.iby	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,33 @@
+/*
+* 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:   IBY file for non-localizable elements of calenviewerservice.exe
+*
+*/
+
+
+
+#ifndef CALEN_VIEWER_SERVICE_IBY
+#define CALEN_VIEWER_SERVICE_IBY
+
+
+S60_APP_EXE(calenviewerservice)
+S60_APP_RESOURCE(calenviewerservice)
+
+// Application registration file.
+data=DATAZ_\private\10003a3f\import\apps\calenviewerservice_reg.rsc		\private\10003a3f\import\apps\calenviewerservice_reg.rsc
+
+
+#endif // CALEN_VIEWER_SERVICE_IBY
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/settings/bwins/calensettingsu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,26 @@
+EXPORTS
+	?tr@CalenSettings@@SA?AVQString@@PBD0@Z @ 1 NONAME ; class QString CalenSettings::tr(char const *, char const *)
+	?removeRegionalInfoItem@CalenSettings@@AAEXXZ @ 2 NONAME ; void CalenSettings::removeRegionalInfoItem(void)
+	?createModel@CalenSettings@@QAEXXZ @ 3 NONAME ; void CalenSettings::createModel(void)
+	?trUtf8@CalenSettings@@SA?AVQString@@PBD0H@Z @ 4 NONAME ; class QString CalenSettings::trUtf8(char const *, char const *, int)
+	?isPluginEnabled@CalenSettings@@QAE_NXZ @ 5 NONAME ; bool CalenSettings::isPluginEnabled(void)
+	?getStaticMetaObject@CalenSettings@@SAABUQMetaObject@@XZ @ 6 NONAME ; struct QMetaObject const & CalenSettings::getStaticMetaObject(void)
+	?populateRegionalInfo@CalenSettings@@AAEXXZ @ 7 NONAME ; void CalenSettings::populateRegionalInfo(void)
+	?qt_metacall@CalenSettings@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 8 NONAME ; int CalenSettings::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?handleRegionalInfoChange@CalenSettings@@QAEXXZ @ 9 NONAME ; void CalenSettings::handleRegionalInfoChange(void)
+	?qt_metacast@CalenSettings@@UAEPAXPBD@Z @ 10 NONAME ; void * CalenSettings::qt_metacast(char const *)
+	?staticMetaObject@CalenSettings@@2UQMetaObject@@B @ 11 NONAME ; struct QMetaObject const CalenSettings::staticMetaObject
+	?tr@CalenSettings@@SA?AVQString@@PBD0H@Z @ 12 NONAME ; class QString CalenSettings::tr(char const *, char const *, int)
+	??0CalenSettings@@QAE@AAVMCalenServices@@PAVHbDataForm@@PAVQObject@@@Z @ 13 NONAME ; CalenSettings::CalenSettings(class MCalenServices &, class HbDataForm *, class QObject *)
+	?trUtf8@CalenSettings@@SA?AVQString@@PBD0@Z @ 14 NONAME ; class QString CalenSettings::trUtf8(char const *, char const *)
+	?setStartDayOfWeek@CalenSettings@@QAEXH@Z @ 15 NONAME ; void CalenSettings::setStartDayOfWeek(int)
+	?handleAlarmSnoozeTimeChange@CalenSettings@@QAEXH@Z @ 16 NONAME ; void CalenSettings::handleAlarmSnoozeTimeChange(int)
+	?addRegionalInfoItem@CalenSettings@@AAEXXZ @ 17 NONAME ; void CalenSettings::addRegionalInfoItem(void)
+	?metaObject@CalenSettings@@UBEPBUQMetaObject@@XZ @ 18 NONAME ; struct QMetaObject const * CalenSettings::metaObject(void) const
+	?updateShowWeekItem@CalenSettings@@AAEXXZ @ 19 NONAME ; void CalenSettings::updateShowWeekItem(void)
+	??1CalenSettings@@UAE@XZ @ 20 NONAME ; CalenSettings::~CalenSettings(void)
+	??_ECalenSettings@@UAE@I@Z @ 21 NONAME ; CalenSettings::~CalenSettings(unsigned int)
+	?handleWeekNumberChange@CalenSettings@@QAEXXZ @ 22 NONAME ; void CalenSettings::handleWeekNumberChange(void)
+	?addWeekNumberItem@CalenSettings@@QAEXXZ @ 23 NONAME ; void CalenSettings::addWeekNumberItem(void)
+	?populateSettingList@CalenSettings@@QAEXXZ @ 24 NONAME ; void CalenSettings::populateSettingList(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/settings/eabi/calensettingsu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,26 @@
+EXPORTS
+	_ZN13CalenSettings11createModelEv @ 1 NONAME
+	_ZN13CalenSettings11qt_metacallEN11QMetaObject4CallEiPPv @ 2 NONAME
+	_ZN13CalenSettings11qt_metacastEPKc @ 3 NONAME
+	_ZN13CalenSettings15isPluginEnabledEv @ 4 NONAME
+	_ZN13CalenSettings16staticMetaObjectE @ 5 NONAME DATA 16
+	_ZN13CalenSettings17addWeekNumberItemEv @ 6 NONAME
+	_ZN13CalenSettings17setStartDayOfWeekEi @ 7 NONAME
+	_ZN13CalenSettings18updateShowWeekItemEv @ 8 NONAME
+	_ZN13CalenSettings19addRegionalInfoItemEv @ 9 NONAME
+	_ZN13CalenSettings19getStaticMetaObjectEv @ 10 NONAME
+	_ZN13CalenSettings19populateSettingListEv @ 11 NONAME
+	_ZN13CalenSettings20populateRegionalInfoEv @ 12 NONAME
+	_ZN13CalenSettings22handleWeekNumberChangeEv @ 13 NONAME
+	_ZN13CalenSettings22removeRegionalInfoItemEv @ 14 NONAME
+	_ZN13CalenSettings24handleRegionalInfoChangeEv @ 15 NONAME
+	_ZN13CalenSettings27handleAlarmSnoozeTimeChangeEi @ 16 NONAME
+	_ZN13CalenSettingsC1ER14MCalenServicesP10HbDataFormP7QObject @ 17 NONAME
+	_ZN13CalenSettingsC2ER14MCalenServicesP10HbDataFormP7QObject @ 18 NONAME
+	_ZN13CalenSettingsD0Ev @ 19 NONAME
+	_ZN13CalenSettingsD1Ev @ 20 NONAME
+	_ZN13CalenSettingsD2Ev @ 21 NONAME
+	_ZNK13CalenSettings10metaObjectEv @ 22 NONAME
+	_ZTI13CalenSettings @ 23 NONAME
+	_ZTV13CalenSettings @ 24 NONAME
+
--- a/calendarui/settings/inc/calensettings.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/settings/inc/calensettings.h	Thu Jul 22 16:32:51 2010 +0100
@@ -19,6 +19,7 @@
 #define CALENSETTINGS_H
 
 #include <QObject>
+#include <QHash>
 
 class QPersistentModelIndex;
 class QModelIndex;
@@ -31,6 +32,8 @@
 class HbLineEdit;
 class XQSettingsManager;
 class XQSettingsKey;
+class MCalenServices;
+
 
 #ifdef  CALENSETTINGS_DLL
 #define CALENSETTINGS_EXPORT Q_DECL_EXPORT
@@ -43,31 +46,44 @@
 	Q_OBJECT
 
 public:
-    CalenSettings(HbDataForm *form, QObject *parent = 0);
+    CalenSettings(MCalenServices& services, HbDataForm *form, QObject *parent = 0);
     ~CalenSettings();
 
     void createModel();
     void populateSettingList();
+    void addWeekNumberItem();
+    bool isPluginEnabled();
+    
+private:
+    void updateShowWeekItem();
+    void addRegionalInfoItem();
+    void removeRegionalInfoItem();
+    void populateRegionalInfo();
 
 public slots:
     void handleAlarmSnoozeTimeChange(int index);
     void handleWeekNumberChange();
     void handleRegionalInfoChange();
+    //set the start day of the week to the locale 
+    void setStartDayOfWeek(const int index);
 
 private:
+    MCalenServices  &mServices;
 	HbDataForm *mSettingsForm;
 	HbDataFormModel *mSettingsModel;
 	HbDataFormModelItem *mAlarmSnoozeTimeItem;
 	HbDataFormModelItem* mShowWeekNumberItem;
 	HbDataFormModelItem* mShowRegionalInfoItem;
-		
+	HbDataFormModelItem* mShowWeekStartOnInfoItem;
+	HbComboBox* mStartOfWeekItem;
+	QHash<int, int> mAlarmSnoozeTimeHash;
 	XQSettingsManager *mSettingsManager;
 	XQSettingsKey *mAlarmSnoozeCenrepKey;
 	XQSettingsKey *mWeekNumberCenrepKey;
 	XQSettingsKey *mShowRegionalInfoKey;
-	uint mAlarmSnoozeTime;
-	uint mShowWeekNumber;
-	uint mShowRegionalInfo;
+	int mStartOfWeek;
+	bool mWeekNumberItemAdded;
+	bool mRegionalpluginActive;
 };
 
 #endif // CALENSETTINGS_H
--- a/calendarui/settings/settings.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/settings/settings.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -19,9 +19,10 @@
 CONFIG += hb
 DEPENDPATH += . \
               ../../inc
+			  
 INCLUDEPATH += . \
                ../../inc \
-               ../cenrep
+	       ../inc
 
 DEFINES += CALENSETTINGS_DLL
 
--- a/calendarui/settings/src/calensettings.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/settings/src/calensettings.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -23,42 +23,67 @@
 #include <hbabstractbutton.h>
 #include <xqsettingsmanager.h>
 #include <xqsettingskey.h>
+#include <HbExtendedLocale.h>
 
 #include "calensettings.h"
-#include <calendarinternalcrkeys.h>  // includes CalendarInternalCRKeys.h
+#include "calenservices.h"
+#include "calendarprivatecrkeys.h"
 
-CalenSettings::CalenSettings(HbDataForm *form, QObject *parent)
+// Constants
+const int KValueZero( 0 );
+const int KValueOne( 1 );
+
+
+CalenSettings::CalenSettings(MCalenServices& services, HbDataForm *form, QObject *parent)
 :QObject(parent),
+ mServices(services),
  mSettingsForm(form),
- mSettingsModel(0),
- mShowRegionalInfoItem(NULL)
+ mSettingsModel(NULL),
+ mAlarmSnoozeTimeItem(NULL),
+ mShowWeekNumberItem(NULL),		 
+ mShowRegionalInfoItem(NULL),
+ mShowWeekStartOnInfoItem(NULL),
+ mStartOfWeekItem(NULL),
+ mWeekNumberItemAdded(false),
+ mRegionalpluginActive(false)
 {   
-    mSettingsManager = new XQSettingsManager(this);
+	mSettingsManager = new XQSettingsManager(this);
 	mAlarmSnoozeCenrepKey = new XQSettingsKey(
-										XQSettingsKey::TargetCentralRepository, 
-										KCRUidCalendar, KCalendarSnoozeTime);
+			XQSettingsKey::TargetCentralRepository,
+			KCRUidCalendar, KCalendarSnoozeTime);
 	mWeekNumberCenrepKey = new XQSettingsKey(
-										XQSettingsKey::TargetCentralRepository, 
-										KCRUidCalendar, KCalendarWeekViewTitle);
-	mShowRegionalInfoKey = new XQSettingsKey(XQSettingsKey::TargetCentralRepository,
-	                                         KCRUidCalendar, KShowRegionalInformation);
-	
-	// Read the initial values from the cenrep
-	QVariant value = mSettingsManager->readItemValue(*mAlarmSnoozeCenrepKey);
-	mAlarmSnoozeTime = value.toUInt();
-	
-	value = mSettingsManager->readItemValue(*mWeekNumberCenrepKey);
-	mShowWeekNumber = value.toUInt();
-	
-	value = mSettingsManager->readItemValue(*mShowRegionalInfoKey);
-	mShowRegionalInfo = value.toUInt();
+			XQSettingsKey::TargetCentralRepository,
+			KCRUidCalendar, KCalendarShowWeekNum);
+	mShowRegionalInfoKey = new XQSettingsKey(
+			XQSettingsKey::TargetCentralRepository,
+			KCRUidCalendar, KCalendarShowRegionalInfo);
 }
 
+/*!
+	Destructor
+ */
 CalenSettings::~CalenSettings()
 {
-	// Nothing yet.
+	if (mSettingsManager) {
+		delete mSettingsManager;
+	}
+	// Delete the cenrep keys
+	delete mAlarmSnoozeCenrepKey;
+	delete mWeekNumberCenrepKey;
+	delete mShowRegionalInfoKey;
+	
+	if (mSettingsModel) {
+		delete mSettingsModel;		
+	}
+	if (mAlarmSnoozeTimeHash.count()) {
+		// Clear the contents
+		mAlarmSnoozeTimeHash.clear();
+	}
 }
 
+/*!
+	Creates the settings model
+ */
 void CalenSettings::createModel()
 {
 	// Remove the model.
@@ -69,193 +94,289 @@
 	}
 
 	// Create a model and set it.
-	mSettingsModel = new HbDataFormModel();
+	mSettingsModel = new HbDataFormModel(mSettingsForm);
 	
 	// Create the alarm snooze choices
 	QStringList alarmSnoozeChoices;
 	alarmSnoozeChoices << hbTrId(
-						"txt_calendar_setlabel_alarm_snooze_time_val_5_minu")
-				<< hbTrId("txt_calendar_setlabel_alarm_snooze_time_val_10_min")
-				<< hbTrId("txt_calendar_setlabel_alarm_snooze_time_val_15_min")
-				<< hbTrId("txt_calendar_setlabel_alarm_snooze_time_val_30_min");
+						"txt_calendar_setlabel_reminder_snooze_time_val_5_m")
+				<< hbTrId("txt_calendar_setlabel_reminder_snooze_time_val_10")
+				<< hbTrId("txt_calendar_setlabel_reminder_snooze_time_val_15")
+				<< hbTrId("txt_calendar_setlabel_reminder_snooze_time_val_30");
+	// Build the hash map for the alarm snooze time.
+	// The values are five, ten, fifteen and thirty minutes
+	mAlarmSnoozeTimeHash[0] = 5;
+	mAlarmSnoozeTimeHash[1] = 10;
+	mAlarmSnoozeTimeHash[2] = 15;
+	mAlarmSnoozeTimeHash[3] = 30;
 	
 	// Append Alarm Snooze Time Setting item
 	mAlarmSnoozeTimeItem = new HbDataFormModelItem();
 	mAlarmSnoozeTimeItem->setType(HbDataFormModelItem::ComboBoxItem);
 	mAlarmSnoozeTimeItem->setData(HbDataFormModelItem::LabelRole, 
-					QString(hbTrId("txt_calendar_setlabel_alarm_snooze_time")));
+					QString(hbTrId("txt_calendar_setlabel_reminder_snooze_time")));
 
 	mAlarmSnoozeTimeItem->setContentWidgetData(QString("items"), 
-															alarmSnoozeChoices);
+												alarmSnoozeChoices);
 	mAlarmSnoozeTimeItem->setContentWidgetData(QString("currentIndex"), 0);
 	mSettingsForm->addConnection(mAlarmSnoozeTimeItem, 
 								SIGNAL(currentIndexChanged(int)),
 								this, SLOT(handleAlarmSnoozeTimeChange(int)));
 	mSettingsModel->appendDataFormItem(mAlarmSnoozeTimeItem);
 	
-	// Append Show Week Number settings item
-	mShowWeekNumberItem = new HbDataFormModelItem();
-	mShowWeekNumberItem->setType(HbDataFormModelItem::ToggleValueItem);
-	QStringList values;
-	values << hbTrId("txt_calendar_button_no")
-            << hbTrId("txt_calendar_button_yes");
-	mShowWeekNumberItem->setData(HbDataFormModelItem::LabelRole, 
-								QString(hbTrId("txt_calendar_setlabel_show_week_numbers")));     
-	
+	// Create the weekday list based on start of week.
+	QStringList weekdaysList;
+	weekdaysList
+			<< hbTrId("txt_calendar_setlabel_week_starts_on_val_monday")
+			<< hbTrId("txt_calendar_setlabel_week_starts_on_val_tuesday")
+			<< hbTrId("txt_calendar_setlabel_week_starts_on_val_wednesday")
+			<< hbTrId("txt_calendar_setlabel_week_starts_on_val_thursday")
+			<< hbTrId("txt_calendar_setlabel_week_starts_on_val_friday")
+			<< hbTrId("txt_calendar_setlabel_week_starts_on_val_saturday")
+			<< hbTrId("txt_calendar_setlabel_week_starts_on_val_sunday");
+	// Start of week item.
+	mShowWeekStartOnInfoItem = mSettingsModel->appendDataFormItem(
+								HbDataFormModelItem::ComboBoxItem, 
+								hbTrId("txt_calendar_setlabel_week_starts_on"));
 	
-	// For HbPushButton type properties -- to be used for toggle value item
-	mShowWeekNumberItem->setContentWidgetData(QString("text"), 
-										QString(hbTrId("txt_calendar_button_no")));
-	mShowWeekNumberItem->setContentWidgetData(QString("additionalText"), 
-										QString(hbTrId("txt_calendar_button_yes")));
-	
-	mSettingsForm->addConnection(mShowWeekNumberItem, SIGNAL(clicked()), 
-	                             this, SLOT(handleWeekNumberChange()));
-	mSettingsModel->appendDataFormItem(mShowWeekNumberItem);
-	
-	// TODO: Append the regional information setting only if any regional plugins have been
-	// loaded by the customisation manager
+	// Get start of week from the locale.
+    HbExtendedLocale locale = HbExtendedLocale::system();
+    mStartOfWeek = locale.startOfWeek();
+	mShowWeekStartOnInfoItem->setContentWidgetData("items", weekdaysList);
+	mShowWeekStartOnInfoItem->setContentWidgetData("currentIndex", mStartOfWeek);
+	mSettingsForm->addConnection(mShowWeekStartOnInfoItem, 
+									SIGNAL(currentIndexChanged(int)),
+									this, SLOT(setStartDayOfWeek(int)));
+	// Add the show week number item in the model
+	addWeekNumberItem();
+
+	if (isPluginEnabled()) {
+		addRegionalInfoItem();
+	}
+}
+
+/*!
+	Adds the regional info item to the model
+ */
+void CalenSettings::addRegionalInfoItem()
+{
+	mRegionalpluginActive = true;
 	mShowRegionalInfoItem = new HbDataFormModelItem();
 	mShowRegionalInfoItem->setType(HbDataFormModelItem::ToggleValueItem);
 	mShowRegionalInfoItem->setData(HbDataFormModelItem::LabelRole, 
-	                               QString("Show regional info"));     
+				QString(hbTrId("txt_calendar_setlabel_show_lunar_calendar")));
 
 	// For HbPushButton type properties -- to be used for toggle value item
 	mShowRegionalInfoItem->setContentWidgetData(QString("text"), 
-	                                            QString(hbTrId("txt_calendar_button_no")));
+								QString(hbTrId("txt_calendar_button_no")));
 	mShowRegionalInfoItem->setContentWidgetData(QString("additionalText"), 
-	                                            QString(hbTrId("txt_calendar_button_yes")));
+								QString(hbTrId("txt_calendar_button_yes")));
 	mSettingsForm->addConnection(mShowRegionalInfoItem, SIGNAL(clicked()),
-	                             this, SLOT(handleRegionalInfoChange()));
+								this, SLOT(handleRegionalInfoChange()));
 	mSettingsModel->appendDataFormItem(mShowRegionalInfoItem);
 }
 
+/*!
+	Removes the regional info item from the model
+ */
+void CalenSettings::removeRegionalInfoItem()
+{
+	mSettingsForm->removeConnection(mShowRegionalInfoItem, SIGNAL(clicked()),
+									this, SLOT(handleRegionalInfoChange()));
+	mSettingsModel->removeItem(mShowRegionalInfoItem);
+	mRegionalpluginActive = false;
+}
+
+/*!
+	Handles the alarm snooze time change
+ */
 void CalenSettings::handleAlarmSnoozeTimeChange(int index)
 {
-switch(index)
-    {
-    case 0:
-        {
-        mSettingsManager->writeItemValue(*mAlarmSnoozeCenrepKey, 5);
-        }
-        break;
-    case 1:
-        {
-        mSettingsManager->writeItemValue(*mAlarmSnoozeCenrepKey, 10);
-        }
-        break;
-    case 2:
-        {
-        mSettingsManager->writeItemValue(*mAlarmSnoozeCenrepKey, 15);
-        }
-        break;
-    case 3:
-        {
-        mSettingsManager->writeItemValue(*mAlarmSnoozeCenrepKey, 30);
-        }
-        break;
-    default:
-        break;
-    }
-QVariant value = mSettingsManager->readItemValue(*mAlarmSnoozeCenrepKey);
-    uint time = value.toUInt();
+	if(mAlarmSnoozeTimeHash.value(index) > KValueZero) {
+		mSettingsManager->writeItemValue(*mAlarmSnoozeCenrepKey, mAlarmSnoozeTimeHash[index]);
+	}
 }
 
+/*!
+	Handles the week number change
+ */
 void CalenSettings::handleWeekNumberChange()
 {
 	QVariant data = mShowWeekNumberItem->contentWidgetData(QString("text"));
 	QString value = data.toString();
-	if(!value.compare(hbTrId("txt_calendar_button_no")))
-	{    
+	if (!value.compare(hbTrId("txt_calendar_button_no"))) {
 		// User has made it OFF.
-		mShowWeekNumber = 0;
-		mSettingsManager->writeItemValue(*mWeekNumberCenrepKey, 0);
+		mSettingsManager->writeItemValue(*mWeekNumberCenrepKey, KValueZero);
+	} else if (!value.compare(hbTrId("txt_calendar_button_yes"))) {
+		// User has made it ON.
+		mSettingsManager->writeItemValue(*mWeekNumberCenrepKey, KValueOne);
 	}
-	else if(!value.compare(hbTrId("txt_calendar_button_yes")))
-	{
+}
+
+/*!
+	Handles the regional info option change
+ */
+void CalenSettings::handleRegionalInfoChange()
+{
+	QVariant data = mShowRegionalInfoItem->contentWidgetData(QString("text"));
+	QString value = data.toString();
+	if (!value.compare(hbTrId("txt_calendar_button_no"))) {
+		// User has made it OFF
+		mSettingsManager->writeItemValue(*mShowRegionalInfoKey, KValueZero);
+	} else if (!value.compare(hbTrId("txt_calendar_button_yes"))) {
 		// User has made it ON.
-		mShowWeekNumber = 1;
-		mSettingsManager->writeItemValue(*mWeekNumberCenrepKey, 1);
+		mSettingsManager->writeItemValue(*mShowRegionalInfoKey, KValueOne);
 	}
 }
 
-void CalenSettings::handleRegionalInfoChange()
-{
-    QVariant data = mShowRegionalInfoItem->contentWidgetData(QString("text"));
-    QString value = data.toString();
-    if(!value.compare(hbTrId("txt_calendar_button_no"))) {    
-        // User has made it OFF
-        mShowRegionalInfo = 0;
-        mSettingsManager->writeItemValue(*mShowRegionalInfoKey, 0);
-    } else if(!value.compare(hbTrId("txt_calendar_button_yes"))) {
-        // User has made it ON.
-        mShowRegionalInfo = 1;
-        mSettingsManager->writeItemValue(*mShowRegionalInfoKey, 1);
-    }
-}
-
+/*!
+	Populates the settings model
+ */
 void CalenSettings::populateSettingList()
 {   
-    // Read the values from cenrep
-    // Read the initial values from the cenrep
-    QVariant value = mSettingsManager->readItemValue(*mAlarmSnoozeCenrepKey);
-    mAlarmSnoozeTime = value.toUInt();
-    
-    value = mSettingsManager->readItemValue(*mWeekNumberCenrepKey);
-    mShowWeekNumber = value.toUInt();
-    
-    // set the value to the form
-    int choiceIndex = 0;
-    switch(mAlarmSnoozeTime)
-        {
-        case 5:
-            choiceIndex = 0;
-            break;
-        case 10:
-            choiceIndex = 1;
-            break;
-        case 15:
-            choiceIndex = 2;
-            break;
-        case 30:
-            choiceIndex = 3;
-            break;
-        default:
-            choiceIndex = 0;
-            break;
-        }
-    mAlarmSnoozeTimeItem->setContentWidgetData(QString("currentIndex"), 
-												choiceIndex);
-    if(mShowWeekNumber)
-        {
-        mShowWeekNumberItem->setContentWidgetData(QString("text"), 
-												QString(hbTrId("txt_calendar_button_yes")));
-        mShowWeekNumberItem->setContentWidgetData(QString("additionalText"), 
-												QString(hbTrId("txt_calendar_button_no")));
-        }
-    else
-        {
-        mShowWeekNumberItem->setContentWidgetData(QString("text"), 
-												QString(hbTrId("txt_calendar_button_no")));
-        mShowWeekNumberItem->setContentWidgetData(QString("additionalText"), 
-												QString(hbTrId("txt_calendar_button_yes")));
-        }
-    
-    value = mSettingsManager->readItemValue(*mShowRegionalInfoKey);
-    mShowRegionalInfo = value.toUInt();
-    
-    if (mShowRegionalInfo) {
-        mShowRegionalInfoItem->setContentWidgetData(QString("text"), 
-                                                    QString(hbTrId("txt_calendar_button_yes")));
-        mShowRegionalInfoItem->setContentWidgetData(QString("additionalText"), 
-                                                  QString(hbTrId("txt_calendar_button_no")));
-    } else {
-        mShowRegionalInfoItem->setContentWidgetData(QString("text"), 
-                                                    QString(hbTrId("txt_calendar_button_no")));
-        mShowRegionalInfoItem->setContentWidgetData(QString("additionalText"), 
-                                                    QString(hbTrId("txt_calendar_button_yes")));
-    }
-    
-    mSettingsForm->setModel(mSettingsModel);
+	// Read the values from cenrep
+	// Read the initial values from the cenrep
+	QVariant value = mSettingsManager->readItemValue(*mAlarmSnoozeCenrepKey);
+	uint alarmSnoozeTime = value.toUInt();
+
+	// Get the value from the hash and set the value to the form
+	int choiceIndex = mAlarmSnoozeTimeHash.key(alarmSnoozeTime);
+	mAlarmSnoozeTimeItem->setContentWidgetData(QString("currentIndex"), 
+														choiceIndex);
+	// Get start of week from the locale.
+	HbExtendedLocale locale = HbExtendedLocale::system();
+	mStartOfWeek = locale.startOfWeek();
+
+	mShowWeekStartOnInfoItem->setContentWidgetData("currentIndex", mStartOfWeek);
+	//update the show week number option
+	updateShowWeekItem();
+	// Check the the regional info plugin is loaded now or not
+	if (isPluginEnabled()) {
+		// If the plugin was already there just populate the item
+		// else add the regional info item and then populate
+		if (mRegionalpluginActive) {
+			populateRegionalInfo();
+		}else {
+			addRegionalInfoItem();
+			populateRegionalInfo();
+		}
+	}else {
+		// If the plugin is removed now and if it was loaded before
+		// remove the item
+		if (mRegionalpluginActive) {
+			removeRegionalInfoItem();
+		}
+	}
+	mSettingsForm->setModel(mSettingsModel);
+}
+
+/*!
+	Populates the regional info item
+ */
+void CalenSettings::populateRegionalInfo()
+{
+	QVariant value  = mSettingsManager->readItemValue(*mShowRegionalInfoKey);
+	uint showRegionalInfo = value.toUInt();
+
+	if (showRegionalInfo) {
+		mShowRegionalInfoItem->setContentWidgetData(
+				QString("text"), QString(hbTrId("txt_calendar_button_yes")));
+		mShowRegionalInfoItem->setContentWidgetData(
+				QString("additionalText"), QString(
+						hbTrId("txt_calendar_button_no")));
+	} else {
+		mShowRegionalInfoItem->setContentWidgetData(
+				QString("text"), QString(hbTrId("txt_calendar_button_no")));
+		mShowRegionalInfoItem->setContentWidgetData(
+				QString("additionalText"), QString(
+						hbTrId("txt_calendar_button_yes")));
+	}
+}
+
+/*!
+	Adds the week number item in the model
+ */
+void CalenSettings::addWeekNumberItem()
+{
+	mWeekNumberItemAdded = true;
+	// Append Show Week Number settings item
+	mShowWeekNumberItem = new HbDataFormModelItem();
+	mShowWeekNumberItem->setType(HbDataFormModelItem::ToggleValueItem);
+
+	QStringList values;
+	values << hbTrId("txt_calendar_button_no")
+			<< hbTrId("txt_calendar_button_yes");
+	mShowWeekNumberItem->setData(HbDataFormModelItem::LabelRole, 
+					QString(hbTrId("txt_calendar_setlabel_show_week_numbers")));
+
+	mSettingsModel->appendDataFormItem(mShowWeekNumberItem);
+	mSettingsForm->addConnection(mShowWeekNumberItem, SIGNAL(clicked()), 
+									this, SLOT(handleWeekNumberChange()));
+}
+
+/*!
+	Returns true if the regional plugin is loaded
+ */
+bool CalenSettings::isPluginEnabled()
+{
+	QString *pluginInfo = mServices.InfobarTextL();
+	if (!pluginInfo) {
+		return false;
+	} else {
+		return true;
+	}
+}
+
+/*!
+	Sets the start day of the week to the locale
+	Is called when user selects week day
+ */
+void CalenSettings::setStartDayOfWeek(const int index)
+{
+	TLocale locale;
+	TDay day = (TDay)index;
+	//set the start day of the week to locale
+	locale.SetStartOfWeek(day);
+	locale.Set();
+	updateShowWeekItem();
+}
+
+/*!
+	Updates the show  week number option
+ */
+void CalenSettings::updateShowWeekItem()
+{
+	// Get start of week from the locale.
+	HbExtendedLocale locale = HbExtendedLocale::system();
+	mStartOfWeek = locale.startOfWeek();
+	mShowWeekStartOnInfoItem->setContentWidgetData("currentIndex", mStartOfWeek);
+
+	// Read the value form cenrep
+	QVariant value = mSettingsManager->readItemValue(*mWeekNumberCenrepKey);
+	uint showWeekNumber = value.toUInt();
+
+	//if start day is not Monday
+	//set the show week number option dimmed ,
+	//else set to proper status
+	if(mStartOfWeek != HbExtendedLocale::Monday) {
+		mShowWeekNumberItem->setContentWidgetData(QString("text"), 
+									QString(hbTrId("txt_calendar_button_no")));
+		mShowWeekNumberItem->setContentWidgetData(QString("additionalText"), 
+									QString(hbTrId("txt_calendar_button_yes")));
+		mShowWeekNumberItem->setEnabled(false);
+	} else {
+		if(showWeekNumber) {
+			mShowWeekNumberItem->setContentWidgetData(QString("text"), 
+									QString(hbTrId("txt_calendar_button_yes")));
+			mShowWeekNumberItem->setContentWidgetData(QString("additionalText"), 
+									QString(hbTrId("txt_calendar_button_no")));
+		} else {
+			mShowWeekNumberItem->setContentWidgetData(QString("text"), 
+									QString(hbTrId("txt_calendar_button_no")));
+			mShowWeekNumberItem->setContentWidgetData(QString("additionalText"),
+									QString(hbTrId("txt_calendar_button_yes")));
+		}
+		mShowWeekNumberItem->setEnabled(true);
+	}
 }
 // End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/sis/calendar.pkg	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,70 @@
+;
+; 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: pkg file  of Calendar Application for IAD.
+;
+
+; Language
+&EN
+
+; standard SIS file header
+#{"Calendar"}, (0x10005901), 1, 0, 0, TYPE=SA, RU
+
+; Localised vendor name
+%{"Nokia"}
+
+; Unique vendor name
+:"Nokia"
+
+;Calendar engine part
+"/epoc32/release/armv5/urel/AgnVersit2.dll"                             - "!:/sys/bin/AgnVersit2.dll"
+"/epoc32/release/armv5/urel/CalenImp.dll"		                        - "!:/sys/bin/CalenImp.dll"
+"/epoc32/release/armv5/urel/CalenInterimUtils2.dll" 					- "!:/sys/bin/CalenInterimUtils2.dll"
+"/epoc32/release/armv5/urel/Versit2.dll"							    - "!:/sys/bin/Versit2.dll"
+"/epoc32/data/z/resource/agnversit2strings.rsc"							- "!:/resource/agnversit2strings.rsc"
+"/epoc32/data/z/resource/plugins/AGNVERSIT2.rsc"						- "!:/resource/plugins/AGNVERSIT2.rsc"
+
+;Agenda Interface file to be installed
+"/epoc32/release/armv5/urel/agendainterface.dll"						- "!:/sys/bin/agendainterface.dll"
+
+; Calendar executable and default resource files
+
+"/epoc32/release/armv5/urel/calendar.exe"							- "!:/sys/bin/calendar.exe"
+"/epoc32/data/Z/private/10003a3f/import/apps/calendar_reg.rsc"		- "!:/private/10003a3f/import/apps/calendar_reg.rsc"
+"/epoc32/data/z/resource/apps/calendar.r01"                         - "!:/resource/apps/calendar.rsc"
+"/epoc32/data/z/resource/qt/translations/calendar_en.qm"            - "!:/resource/qt/translations/calendar.qm"
+
+"/epoc32/release/armv5/urel/calenviewerservice.exe"							- "!:/sys/bin/calenviewerservice.exe"
+"/epoc32/data/Z/private/10003a3f/import/apps/calenviewerservice_reg.rsc"		- "!:/private/10003a3f/import/apps/calenviewerservice_reg.rsc"
+"/epoc32/data/z/resource/apps/calenviewerservice.rsc"                         - "!:/resource/apps/calenviewerservice.rsc"
+
+"/epoc32/release/armv5/urel/calenviews.dll"					        - "!:/sys/bin/calenviews.dll"
+"/epoc32/release/armv5/urel/calensettings.dll"      				- "!:/sys/bin/calensettings.dll"
+"/epoc32/release/armv5/urel/calenglobaldata.dll"					- "!:/sys/bin/calenglobaldata.dll"
+"/epoc32/release/armv5/urel/calencustomisationmanager.dll"			- "!:/sys/bin/calencustomisationmanager.dll"
+"/epoc32/release/armv5/urel/calencontroller.dll"					- "!:/sys/bin/calencontroller.dll"
+"/epoc32/release/armv5/urel/calencommonutils.dll"					- "!:/sys/bin/calencommonutils.dll"
+"/epoc32/release/armv5/urel/calenlauncher.dll"						- "!:/sys/bin/calenlauncher.dll"
+"/epoc32/release/armv5/urel/caleneditor.dll"						- "!:/sys/bin/caleneditor.dll"
+"/epoc32/release/armv5/urel/agendaeventviewer.dll"					- "!:/sys/bin/agendaeventviewer.dll"
+"/epoc32/release/armv5/urel/calenregionalutil.dll"					- "!:/sys/bin/calenregionalutil.dll"
+
+;ECom files to be installed
+"/epoc32/release/armv5/urel/calenlunarchineseplugin.dll"			- "!:/sys/bin/calenlunarchineseplugin.dll"
+"/epoc32/data/z/resource/plugins/calenlunarchineseplugin.rsc"				- "!:/resource/plugins/calenlunarchineseplugin.rsc"
+
+;Qt plugin files to be installed
+"/epoc32/release/armv5/urel/agendaeventviewerplugin.dll"			- "!:/sys/bin/agendaeventviewerplugin.dll"
+"/epoc32/data/z/resource/qt/plugins/calendar/agendaeventviewerplugin.qtplugin"				- "!:/resource/qt/plugins/calendar/agendaeventviewerplugin.qtplugin"
+
+;END OF FILE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/sis/createandsign.bat	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,22 @@
+rem
+rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+rem All rights reserved.
+rem This component and the accompanying materials are made available
+rem under the terms of "Eclipse Public License v1.0"
+rem which accompanies this distribution, and is available
+rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+rem
+rem Initial Contributors:
+rem Nokia Corporation - initial contribution.
+rem
+rem Contributors:
+rem
+rem Description: Bat file to create Calendar Application's sisx.
+rem
+
+@echo -------- Create sis packages ---------
+makesis calendar.pkg
+
+@echo -------- Sign and rename sis packages -----------
+signsis calendar.sis calendar.sisx Nokia_RnDCert_02.der Nokia_RnDCert_02.key
+	
Binary file calendarui/sis/nokia_rndcert_02.der has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/sis/nokia_rndcert_02.key	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXQIBAAKBgQC/TDP7KKIaf5+uW4OD2iVZuUMC2a+SeQTjf6srlKcOm+CpPNXn
+uLNm/8fdEnyOIuRXPRKmqhs1n0JkxEGHynELWMTuKXbQx9SRAGUXzyneGn+IJNnO
+vOKHWgKCouX2hfI8rtkdqJpqmO460gGsMgw+lsbeyWyW9lnfLxq+ZC7sqQIDAQAB
+AoGBALmUWZE8GBaQ3P4u9WUCSd3DJkkrmXIFSULSZeH/chlwCwDjbbhArHothVzo
+REE3hEFFlERvHbplZ+mNouzy7boduvgUzbksGrbGMLJ2qO1GzWWVwV+GzOWKd3ss
+/98Gwoy5R8pjnkqUE2wP1iJFw0FjvUTKcYv/z6t3LLJ0CsoBAkEA+c7ixvsviQ3J
+s0INytCKU2bf8fqFQJi1VI82ukxNsujGTQ9upVSjuvqPvWyDvvTdrUBHqO+3qPut
+sEh01Q8aiQJBAMQKDJPVRu4ud3mwUfEavzL5EjqwG1k9VCNGYsT4FwtrHcxu1oP/
+pk6M3rIZukqomoEEnHWPMwhrK3fhBqi0OSECQQDr40VXege4FnH5OI2Hj4afHMyp
+VdQQXGMWFyopnzXblFz0lXb43cTCIiorR9XcMqNFHybLypkWE5o+lRzlt55pAkBQ
+P/zeF5Sts//cpL0mgdh7OVKpC6ZmZaCnwAx2rUhhuDu+kDDoYCLoTOps5fNI1LRK
+1GRoC3LMo3Jr5IYhUYWBAkBpCpN6k4JU/mszq98EojHerQNxk8sPqvQKUzTutohT
+1gLX9yepGayB/TtT2EEJDkWOlnTy/dvN6W3vzbJYz97x
+-----END RSA PRIVATE KEY-----
--- a/calendarui/sisx/calendarui_armv5_urel.pkg	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-; calendarui_armv5_urel.pkg generated by qmake at Wed Feb 25 16:36:32 2009
-; This file is generated by qmake and should not be modified by the user
-;
-
-; Language
-&EN
-
-; SIS header: name, uid, version
-#{"calendarui"},(0xE4be93e0),1,0,0
-
-; Localised Vendor name
-%{"Nokia, Qt Software"}
-
-; Unique Vendor name
-:"Nokia, Qt Software"
-
-; Dependencies
-[0x101F7961],0,0,0,{"S60ProductID"}
-[0x102032BE],0,0,0,{"S60ProductID"}
-[0x102752AE],0,0,0,{"S60ProductID"}
-[0x1028315F],0,0,0,{"S60ProductID"}
-(0x2001E61C), 4, 5, 0, {"QtLibs pre-release"}
-
-; Executable and default resource files
-"\epoc32\release\armv5\urel\agendainterface.dll"    - "!:\sys\bin\agendainterface.dll"
-"\epoc32\release\armv5\urel\hb_calencommonutils.dll"    - "!:\sys\bin\hb_calencommonutils.dll"
-"\epoc32\release\armv5\urel\hb_calenglobaldata.dll"   - "!:\sys\bin\hb_calenglobaldata.dll"
-"\epoc32\release\armv5\urel\calensettings.dll"    - "!:\sys\bin\calensettings.dll"
-"\epoc32\release\armv5\urel\hb_calencustomisationmanager.dll"   - "!:\sys\bin\hb_calencustomisationmanager.dll"
-;"\epoc32\release\armv5\urel\hb_CalenEditorPlugin.dll"   - "!:\sys\bin\hb_CalenEditorPlugin.dll"
-"\epoc32\release\armv5\urel\caleneditor.dll"   - "!:\sys\bin\caleneditor.dll"
-"\epoc32\release\armv5\urel\hb_calenviews.dll"    - "!:\sys\bin\hb_calenviews.dll"
-"\epoc32\release\armv5\urel\hb_calencontroller.dll"    - "!:\sys\bin\hb_calencontroller.dll"
-;"\epoc32\data\z\resource\plugins\hb_CalenEditorPlugin.rsc"				- "!:\resource\plugins\hb_CalenEditorPlugin.rsc"
-"\epoc32\release\armv5\urel\calendarapp.exe"    - "!:\sys\bin\calendarapp.exe"
-"\epoc32\data\z\resource\apps\calendarapp.rsc"    - "!:\resource\apps\calendarapp.rsc"
-"\epoc32\data\Z\private\10003a3f\import\Apps\calendarapp_reg.rsc"    - "!:\private\10003a3f\import\apps\calendarapp_reg.rsc"
-;"\epoc32\release\armv5\urel\calenregionalutil.dll"			 - "!:\sys\bin\calenregionalutil.dll"
-;"\epoc32\data\z\resource\calenregionalutil.rsc"		 - "!:\resource\calenregionalutil.rsc"
-;"\epoc32\data\z\resource\calenlunarchineseplugindata.rsc"		 - "!:\resource\calenlunarchineseplugindata.rsc"
-;"\epoc32\data\z\resource\plugins\hb_calenlunarchineseplugin.rsc"				- "!:\resource\plugins\hb_calenlunarchineseplugin.rsc"
-;"\epoc32\release\armv5\urel\hb_calenlunarchineseplugin.dll"		- "!:\sys\bin\hb_calenlunarchineseplugin.dll"
-;"\epoc32\data\z\resource\plugins\hb_calenthaiplugin.rsc"				- "!:\resource\plugins\hb_calenthaiplugin.rsc"
-;"\epoc32\release\armv5\urel\hb_calenthaiplugin.dll"		- "!:\sys\bin\hb_calenthaiplugin.dll"
-
-
-
Binary file calendarui/sisx/calendarui_armv5_urel.sis has changed
--- a/calendarui/sisx/createandsign.bat	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-@rem
-@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-@rem All rights reserved.
-@rem This component and the accompanying materials are made available
-@rem under the terms of "Eclipse Public License v1.0"
-@rem which accompanies this distribution, and is available
-@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-@rem
-@rem Initial Contributors:
-@rem Nokia Corporation - initial contribution.
-@rem
-@rem Contributors:
-@rem
-@rem Description:
-@rem
-
-@echo -------- Create sis packages ---------
-makesis calendarui_armv5_urel.pkg
-
-@echo -------- Sign and rename sis packages -----------
-signsis calendarui_armv5_urel.sis hb_calendarui.sisx Nokia_RnDCert_02.der Nokia_RnDCert_02.key
-	
Binary file calendarui/sisx/hb_calendarui.sisx has changed
Binary file calendarui/sisx/nokia_rndcert_02.der has changed
--- a/calendarui/sisx/nokia_rndcert_02.key	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIICXQIBAAKBgQC/TDP7KKIaf5+uW4OD2iVZuUMC2a+SeQTjf6srlKcOm+CpPNXn
-uLNm/8fdEnyOIuRXPRKmqhs1n0JkxEGHynELWMTuKXbQx9SRAGUXzyneGn+IJNnO
-vOKHWgKCouX2hfI8rtkdqJpqmO460gGsMgw+lsbeyWyW9lnfLxq+ZC7sqQIDAQAB
-AoGBALmUWZE8GBaQ3P4u9WUCSd3DJkkrmXIFSULSZeH/chlwCwDjbbhArHothVzo
-REE3hEFFlERvHbplZ+mNouzy7boduvgUzbksGrbGMLJ2qO1GzWWVwV+GzOWKd3ss
-/98Gwoy5R8pjnkqUE2wP1iJFw0FjvUTKcYv/z6t3LLJ0CsoBAkEA+c7ixvsviQ3J
-s0INytCKU2bf8fqFQJi1VI82ukxNsujGTQ9upVSjuvqPvWyDvvTdrUBHqO+3qPut
-sEh01Q8aiQJBAMQKDJPVRu4ud3mwUfEavzL5EjqwG1k9VCNGYsT4FwtrHcxu1oP/
-pk6M3rIZukqomoEEnHWPMwhrK3fhBqi0OSECQQDr40VXege4FnH5OI2Hj4afHMyp
-VdQQXGMWFyopnzXblFz0lXb43cTCIiorR9XcMqNFHybLypkWE5o+lRzlt55pAkBQ
-P/zeF5Sts//cpL0mgdh7OVKpC6ZmZaCnwAx2rUhhuDu+kDDoYCLoTOps5fNI1LRK
-1GRoC3LMo3Jr5IYhUYWBAkBpCpN6k4JU/mszq98EojHerQNxk8sPqvQKUzTutohT
-1gLX9yepGayB/TtT2EEJDkWOlnTy/dvN6W3vzbJYz97x
------END RSA PRIVATE KEY-----
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/stubsis/calendar_stub.pkg	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,27 @@
+;
+; 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: pkg file  of Calendar Application for IAD.
+;
+
+; Language
+&EN
+
+; Header
+#{"Calendar"}, (0x10005901), 1, 0, 0, TYPE=SA
+
+; Localised vendor name
+%{"Nokia"}
+
+; Unique vendor name
+:"Nokia"
\ No newline at end of file
Binary file calendarui/stubsis/calendar_stub.sis has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/tsrc/tsrc.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,27 @@
+#  
+# 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:
+# This is the project specification file for calendarui test code
+#
+
+# include test components here
+
+TEMPLATE = subdirs
+SUBDIRS += unittest_calenviewerservice \
+			unittest_calencommonutils \
+			../views/dayview/tsrc \
+			
+CONFIG += ordered
+
+# End of file	--Don't remove this
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/tsrc/unittest_calencommonutils/inc/test_calenagendautils.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,42 @@
+/*
+* 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:
+*
+*/
+
+#ifndef __TEST_CALENAGENDAUTILS_H__
+#define __TEST_CALENAGENDAUTILS_H__
+
+#include <QObject>
+
+class TestCalenAgendaUtils : public QObject
+{
+	Q_OBJECT
+public:
+    TestCalenAgendaUtils();
+    ~TestCalenAgendaUtils();
+    
+private slots:
+    void init();
+    void cleanup();
+    
+    void test_endsAtStartOfDay();
+ 
+private:
+    
+};
+
+#endif      // __TEST_CALENAGENDAUTILS_H__
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/tsrc/unittest_calencommonutils/inc/test_calendateutils.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,55 @@
+/*
+* 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:
+*
+*/
+
+#ifndef __TEST_CALENDATEUTILS_H__
+#define __TEST_CALENDATEUTILS_H__
+
+#include <QObject>
+
+class TestCalenDateUtils : public QObject
+{
+	Q_OBJECT
+public:
+    TestCalenDateUtils();
+    ~TestCalenDateUtils();
+    
+private slots:
+    void init();
+    void cleanup();
+    
+    void test_onSameDay();
+    void test_onSameMonth();
+    void test_beginningOfDay();
+    void test_displayTimeOnDay();
+    void test_timeRangesIntersect();
+    void test_isValidDay();
+    void test_limitToValidTime();
+    void test_maxTime();
+    void test_minTime();
+    void test_timeOfDay();
+    void test_roundToPreviousHour();
+    void test_roundToPreviousHourFromMinutes();
+    void test_now();
+    void test_today();
+    void test_isOnToday();
+    void test_defaultTime();
+    void test_futureOf();
+};
+
+#endif      // __TEST_CALENDATEUTILS_H__
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/tsrc/unittest_calencommonutils/rom/unittest_calencommonutils.iby	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2006-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:   Image description file for test project
+*
+*/
+
+#ifndef UNITTEST_CALENCOMMONUTILS_IBY
+#define UNITTEST_CALENCOMMONUTILS_IBY
+
+S60_APP_EXE(utcalencommonutils)
+S60_APP_RESOURCE(utcalencommonutils)
+
+// Application registration file.
+data=DATAZ_\private\10003a3f\import\apps\utcalencommonutils_reg.rsc		\private\10003a3f\import\apps\utcalencommonutils_reg.rsc
+
+
+#endif		// UNITTEST_CALENCOMMONUTILS_IBY
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/tsrc/unittest_calencommonutils/src/main.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,55 @@
+/*
+* 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:
+*
+*/
+
+// System includes
+#include <QTest>
+#include <hbapplication.h>
+
+// User includes
+#include "test_calenagendautils.h"
+#include "test_calendateutils.h"
+
+int main(int argc, char *argv[])
+{
+	HbApplication app(argc, argv);
+	
+	TestCalenDateUtils testDateUtils;
+	
+	 char *args[3];	
+	 args[0] = argv[0];
+	 args[1] = "-o";	
+	 args[2] = "c:\\data\\TestCalenDateUtils.txt";
+ 
+	int retDateUtils = QTest::qExec(&testDateUtils, 3, args);
+	
+	
+	TestCalenAgendaUtils testAgendaUtils;
+	
+	args[2] = "c:\\data\\TestCalenAgendaUtils.txt";
+	
+	int retAgendaUtils = QTest::qExec(&testAgendaUtils, 3, args);
+	
+	// Core dump if HbIconLoader instance is not destroyed before the
+	// application instance. HbIconLoader uses QCoreApplication::aboutToQuit()
+	// signal to destroy itself. app.exec() where the signal is normally emitted
+	// is not called here. So, invoking the signal explicitly.
+	QMetaObject::invokeMethod(&app, "aboutToQuit", Qt::DirectConnection);
+	
+	return (retDateUtils && retAgendaUtils);
+}
+
+// End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/tsrc/unittest_calencommonutils/src/test_calenagendautils.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,92 @@
+/*
+* 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:
+*
+*/
+
+#include <QtTest/QtTest>
+#include <agendaentry.h>
+
+#include "calenagendautils.h"
+#include "test_calenagendautils.h"
+
+/*!
+	\class TestCalenAgendaUtils
+
+	This is unittest class for CalenAgendaUtils apis.
+ */
+ 
+TestCalenAgendaUtils::TestCalenAgendaUtils()
+{
+    // No implementation yet
+}
+
+TestCalenAgendaUtils::~TestCalenAgendaUtils()
+{
+    // No implementation yet
+}
+
+/*!
+	This function is called to before every testcase.
+ */
+void TestCalenAgendaUtils::init()
+{
+    // No implementation yet
+}
+
+/*!
+	This function is called after every testcase.
+ */
+void TestCalenAgendaUtils::cleanup()
+{
+    // No implementation yet
+}
+
+/*!
+    This function is to test the api of CalenDateUtils::endsAtStartOfDayL.
+ */
+void TestCalenAgendaUtils::test_endsAtStartOfDay()
+{
+	AgendaEntry entry;
+	entry.setSummary("summary");
+	entry.setStartAndEndTime(QDateTime(QDate(2010, 5, 1), QTime(12, 30)),
+	                         QDateTime(QDate(2010, 5, 6), QTime(2, 59)));
+	bool outPut = CalenAgendaUtils::endsAtStartOfDay(
+												entry, 
+												QDateTime(QDate(2010, 5, 6)));
+	QVERIFY(!outPut);
+
+	entry.setStartAndEndTime(QDateTime(QDate(2010, 5, 1), QTime(1, 35)),
+	                         QDateTime(QDate(2010, 5, 6), QTime(23, 59)));
+	outPut = CalenAgendaUtils::endsAtStartOfDay(
+												entry, 
+												QDateTime(QDate(2010, 5, 6)));
+	QVERIFY(!outPut);
+	
+	entry.setStartAndEndTime(QDateTime(QDate(2010, 5, 1), QTime(2, 30)),
+		                         QDateTime(QDate(2010, 5, 5), QTime(23, 59, 59, 999)));
+	outPut = CalenAgendaUtils::endsAtStartOfDay(
+													entry, 
+													QDateTime(QDate(2010, 5, 6)));
+	QVERIFY(!outPut);
+	
+	entry.setStartAndEndTime(QDateTime(QDate(2010, 5, 1), QTime(1, 35)),
+	                         QDateTime(QDate(2010, 5, 6)));
+	outPut = CalenAgendaUtils::endsAtStartOfDay(
+												entry, 
+												QDateTime(QDate(2010, 5, 6)));
+	QVERIFY(outPut);
+
+}
+// End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/tsrc/unittest_calencommonutils/src/test_calendateutils.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,393 @@
+/*
+* 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:
+*
+*/
+
+#include <QtTest/QtTest>
+#include <QDateTime>
+
+#include "calendateutils.h"
+#include "test_calendateutils.h"
+
+/*!
+	\class TestCalenDateUtils
+
+	This is unittest class for CalenDateUtils apis.
+ */
+ 
+TestCalenDateUtils::TestCalenDateUtils()
+{
+    // No implementation yet
+}
+
+TestCalenDateUtils::~TestCalenDateUtils()
+{
+    // No implementation yet
+}
+
+/*!
+	This function is called to before every testcase.
+ */
+void TestCalenDateUtils::init()
+{
+    // No implementation yet
+}
+
+/*!
+	This function is called after every testcase.
+ */
+void TestCalenDateUtils::cleanup()
+{
+    // No implementation yet
+}
+
+/*!
+    This function is to test the api of CalenDateUtils::onSameDay.
+ */
+void TestCalenDateUtils::test_onSameDay()
+{
+	QDateTime firstParam(QDate(2010, 10, 9));
+	QDateTime secondParam(QDate(2009, 22, 9));
+	QCOMPARE(CalenDateUtils::onSameDay(firstParam, secondParam), false);
+
+	firstParam = QDateTime(QDate(2010, 2, 30));
+	secondParam = QDateTime::currentDateTime();
+	QCOMPARE(CalenDateUtils::onSameDay(firstParam, secondParam), false);
+
+	firstParam = QDateTime(QDate(2010, 12, 5), QTime(6, 44));
+	secondParam = QDateTime(QDate(2010, 12, 5), QTime(9, 33));
+	QCOMPARE(CalenDateUtils::onSameDay(firstParam, secondParam), true);
+
+	firstParam = QDateTime(QDate(-1756, 12, 5));
+	secondParam = QDateTime(QDate(1900, 5, 9));
+	QCOMPARE(CalenDateUtils::onSameDay(firstParam, secondParam), false);
+
+}
+
+/*!
+    This function is to test the api of CalenDateUtils::onSameMonth.
+ */
+void TestCalenDateUtils::test_onSameMonth()
+{
+	QDateTime firstParam(QDate(2010, 10, 9));
+	QDateTime secondParam(QDate(2010, 22, 9));
+	QCOMPARE(CalenDateUtils::onSameMonth(firstParam, secondParam), false);
+
+	firstParam = QDateTime(QDate(2010, 2, 13));
+	secondParam = QDateTime(QDate(2009, 2, 3));
+	QCOMPARE(CalenDateUtils::onSameMonth(firstParam, secondParam), false);
+
+	firstParam = QDateTime(QDate(2010, 12, 5));
+	secondParam = QDateTime(QDate(2010, 12, 6));
+	QCOMPARE(CalenDateUtils::onSameMonth(firstParam, secondParam), true);
+
+	firstParam = QDateTime(QDate(2010, 13, 5));
+	secondParam = QDateTime(QDate(2010, 12, 9));
+	QCOMPARE(CalenDateUtils::onSameMonth(firstParam, secondParam), false);
+}
+
+/*!
+    This function is to test the api of CalenDateUtils::beginningOfDay.
+ */
+void TestCalenDateUtils::test_beginningOfDay()
+{
+	QDateTime expectedDate(QDate(2010, 5, 4), QTime(0, 0));
+	QDateTime param(QDate(2010, 5, 4), QTime(15, 44));
+	QCOMPARE(CalenDateUtils::beginningOfDay(param), expectedDate);
+
+	expectedDate = QDateTime(QDate(2010, 3, 3), QTime(0, 0));
+	param = QDateTime(QDate(2010, 3, 3), QTime(2, 33));
+	QCOMPARE(CalenDateUtils::beginningOfDay(param), expectedDate);
+
+	expectedDate = QDateTime(QDate(2010, 3, 5));
+	param = QDateTime(QDate(2010, 3, 5), QTime(23, 59, 59, 999));
+	QCOMPARE(CalenDateUtils::beginningOfDay(param), expectedDate);
+
+	expectedDate = QDateTime(QDate(2010, 12, 15), QTime(0, 0));
+	param = QDateTime(QDate(2010, 12, 15), QTime(24, 59));
+	QCOMPARE(CalenDateUtils::beginningOfDay(param), expectedDate);
+}
+
+/*!
+    This function is to test the api of CalenDateUtils::displayTimeOnDay.
+ */
+void TestCalenDateUtils::test_displayTimeOnDay()
+{
+	QDateTime firstParam(QDate(2010, 10, 9), QTime(12, 45));
+	QDateTime secondParam(QDate(2010, 10, 9));
+	QDateTime actualOutput;
+	QDateTime expectedOutput = firstParam;
+	
+	actualOutput = CalenDateUtils::displayTimeOnDay(firstParam, secondParam);
+	QCOMPARE(actualOutput, expectedOutput);
+
+	firstParam = QDateTime(QDate(2010, 2, 13));
+	secondParam = QDateTime(QDate(2009, 2, 3), QTime(23, 59));
+	actualOutput = QDateTime();
+	expectedOutput = CalenDateUtils::beginningOfDay(secondParam);
+	
+	actualOutput = CalenDateUtils::displayTimeOnDay(firstParam, secondParam);
+	QCOMPARE(actualOutput, expectedOutput);
+
+	firstParam = QDateTime(QDate(2010, 1, 5));
+	secondParam = QDateTime(QDate(2010, 13, 6));
+	actualOutput = QDateTime();
+	
+	actualOutput = CalenDateUtils::displayTimeOnDay(firstParam, secondParam);
+	QVERIFY(!actualOutput.isValid());
+
+}
+
+/*!
+    This function is to test the api of CalenDateUtils::displayTimeOnDay.
+ */
+void TestCalenDateUtils::test_timeRangesIntersect()
+{
+	QDateTime firstStartTime(QDate(2010, 10, 9), QTime(12, 45));
+	QDateTime firstEndTime(QDate(2010, 10, 10));
+	QDateTime secondStartTime(QDate(2010, 6, 5));
+	QDateTime secondEndTime(QDate(2010, 10, 9));
+
+	bool actualOutput = CalenDateUtils::timeRangesIntersect(firstStartTime,
+	                                                        firstEndTime,
+	                                                        secondStartTime,
+	                                                        secondEndTime);
+	QCOMPARE(actualOutput, false);
+
+	firstStartTime = QDateTime(QDate(2009, 5, 7));
+	firstEndTime = QDateTime(QDate(2009, 5, 6));
+	secondStartTime = QDateTime(QDate(2009, 5, 6));
+	secondEndTime = QDateTime(QDate(2009, 5, 6));
+	actualOutput = true;
+
+	actualOutput = CalenDateUtils::timeRangesIntersect(firstStartTime,
+	                                                   firstEndTime,
+	                                                   secondStartTime,
+	                                                   secondEndTime);
+	QCOMPARE(actualOutput, false);
+
+	firstStartTime = QDateTime(QDate(2009, 5, 7));
+	firstEndTime = QDateTime(QDate(2009, 6, 11));
+	secondStartTime = QDateTime(QDate(2009, 5, 7), QTime(2,0));
+	secondEndTime = QDateTime(QDate(2009, 5, 8));
+	actualOutput = false;
+
+	actualOutput = CalenDateUtils::timeRangesIntersect(firstStartTime,
+	                                                   firstEndTime,
+	                                                   secondStartTime,
+	                                                   secondEndTime);
+	QCOMPARE(actualOutput, true);
+
+}
+
+/*!
+    This function is to test the api of CalenDateUtils::isValidDay.
+ */
+void TestCalenDateUtils::test_isValidDay()
+{
+	QVERIFY(!CalenDateUtils::isValidDay(QDateTime(QDate(1899,12,28))));
+	
+	QVERIFY(CalenDateUtils::isValidDay(QDateTime(QDate(2100,12,31))));
+	
+	QVERIFY(CalenDateUtils::isValidDay(QDateTime(QDate(2100,12,30))));
+	
+	QVERIFY(!CalenDateUtils::isValidDay(QDateTime(QDate(2100,2,31))));
+
+}
+
+/*!
+    This function is to test the api of CalenDateUtils::limitToValidTime.
+ */
+void TestCalenDateUtils::test_limitToValidTime()
+{
+	QDateTime dateTime(QDate(1899, 12, 28));
+
+	QDateTime actualOutput = CalenDateUtils::limitToValidTime(dateTime);
+	QCOMPARE(actualOutput , QDateTime(QDate(1900,1,1)));
+
+	dateTime = QDateTime(QDate(2010, 10, 20));
+	actualOutput = CalenDateUtils::limitToValidTime(dateTime);
+	QCOMPARE(actualOutput, QDateTime(QDate(2010,10,20)));
+
+	dateTime = QDateTime();
+	actualOutput = CalenDateUtils::limitToValidTime(dateTime);
+	QCOMPARE(actualOutput, QDateTime(QDate(1900,1,1)));
+
+	dateTime = QDateTime(QDate(2101, 1, 1));
+	actualOutput = CalenDateUtils::limitToValidTime(dateTime);
+	QCOMPARE(actualOutput, QDateTime(QDate(2100,12,31)));
+
+	dateTime = QDateTime(QDate(2100, 12, 31), QTime(12,55));
+	actualOutput = CalenDateUtils::limitToValidTime(dateTime);
+	QCOMPARE(actualOutput, QDateTime(QDate(2100,12,31)));
+	
+	dateTime = QDateTime(QDate(2010,2,31));
+	actualOutput = CalenDateUtils::limitToValidTime(dateTime);
+	QCOMPARE(actualOutput, QDateTime(QDate(1900,1,1)));
+
+}
+
+/*!
+    This function is to test the api of CalenDateUtils::maxTime.
+ */
+void TestCalenDateUtils::test_maxTime()
+{
+	QCOMPARE(CalenDateUtils::maxTime() , QDateTime(QDate(2100,12,31)));
+}
+
+/*!
+    This function is to test the api of CalenDateUtils::minTime.
+ */
+void TestCalenDateUtils::test_minTime()
+{
+	QCOMPARE(CalenDateUtils::minTime() , QDateTime(QDate(1900,1,1)));
+}
+
+/*!
+    This function is to test the api of CalenDateUtils::timeOfDay.
+ */
+void TestCalenDateUtils::test_timeOfDay()
+{
+	QDateTime dateTime = QDateTime(QDate(1900, 1, 1));
+	int actulOutput = CalenDateUtils::timeOfDay(dateTime);
+	int expectedOutput = 0;
+	QCOMPARE(actulOutput, expectedOutput);
+
+	dateTime = QDateTime(QDate(2010, 12, 8), QTime(12, 30));
+	expectedOutput = 750;
+	actulOutput = CalenDateUtils::timeOfDay(dateTime);
+	QCOMPARE(actulOutput, expectedOutput);
+
+	dateTime = QDateTime(QDate(2010, 12, 8), QTime(6, 59, 59, 999));
+	expectedOutput = 420;
+	actulOutput = CalenDateUtils::timeOfDay(dateTime);
+	QCOMPARE(actulOutput, expectedOutput);
+
+	dateTime = QDateTime(QDate(2010, 4, 31), QTime(7, 0));
+	expectedOutput = 420;
+	actulOutput = CalenDateUtils::timeOfDay(dateTime);
+	QCOMPARE(actulOutput, expectedOutput);
+
+	dateTime = QDateTime(QDate(2010, 4, 7), QTime(6, 59, 59));
+	expectedOutput = 419;
+	actulOutput = CalenDateUtils::timeOfDay(dateTime);
+	QCOMPARE(actulOutput, expectedOutput);
+
+	dateTime = QDateTime(QDate(2010, 4, 7), QTime(12, 60, 60));
+	expectedOutput = 0;
+	actulOutput = CalenDateUtils::timeOfDay(dateTime);
+	QCOMPARE(actulOutput, expectedOutput);
+}
+
+/*!
+    This function is to test the api of CalenDateUtils::roundToPreviousHour.
+ */
+void TestCalenDateUtils::test_roundToPreviousHour()
+{
+	QDateTime dateTime = QDateTime(QDate(1900, 1, 1), QTime(23, 59, 59));
+	QDateTime actulOutput = CalenDateUtils::roundToPreviousHour(dateTime);
+	QDateTime expectedOutput(QDate(1900, 1, 1), QTime(23, 0));
+	QCOMPARE(actulOutput, expectedOutput);
+
+	dateTime = QDateTime(QDate(2010, 12, 8), QTime(12, 30));
+	expectedOutput = QDateTime(QDate(2010, 12, 8), QTime(12, 0));
+	actulOutput = CalenDateUtils::roundToPreviousHour(dateTime);
+	QCOMPARE(actulOutput, expectedOutput);
+
+	dateTime = QDateTime(QDate(2010, 12, 8), QTime(6, 59, 59, 999));
+	expectedOutput = QDateTime(QDate(2010, 12, 8), QTime(6, 0));
+	actulOutput = CalenDateUtils::roundToPreviousHour(dateTime);
+	QCOMPARE(actulOutput, expectedOutput);
+
+	dateTime = QDateTime(QDate(2010, 4, 3), QTime(12, 60, 60));
+	expectedOutput = QDateTime(QDate(2010, 4, 3));
+	actulOutput = CalenDateUtils::roundToPreviousHour(dateTime);
+	QCOMPARE(actulOutput, expectedOutput);
+}
+
+/*!
+    This function is to test the api of CalenDateUtils::roundToPreviousHour.
+ */
+void TestCalenDateUtils::test_roundToPreviousHourFromMinutes()
+{
+	int minutes = 145;
+	int actulOutput = CalenDateUtils::roundToPreviousHour(minutes);
+	int expectedOutput = 120;
+	QCOMPARE(actulOutput, expectedOutput);
+
+	minutes = -255;
+	expectedOutput = -240;
+	actulOutput = CalenDateUtils::roundToPreviousHour(minutes);
+	QCOMPARE(actulOutput, expectedOutput);
+
+	minutes = 606;
+	expectedOutput = 600;
+	actulOutput = CalenDateUtils::roundToPreviousHour(minutes);
+	QCOMPARE(actulOutput, expectedOutput);
+}
+
+/*!
+    This function is to test the api of CalenDateUtils::now.
+ */
+void TestCalenDateUtils::test_now()
+{
+	QCOMPARE(CalenDateUtils::now() , QDateTime::currentDateTime());
+}
+
+/*!
+    This function is to test the api of CalenDateUtils::today.
+ */
+void TestCalenDateUtils::test_today()
+{
+	QDateTime expectedTime = QDateTime::currentDateTime();
+	expectedTime.setTime(QTime(0,0));
+	QCOMPARE(CalenDateUtils::today() , expectedTime );
+}
+
+/*!
+    This function is to test the api of CalenDateUtils::isOnToday.
+ */
+void TestCalenDateUtils::test_isOnToday()
+{
+	QVERIFY(CalenDateUtils::isOnToday(QDateTime::currentDateTime()));
+	QDateTime dateTime = QDateTime::currentDateTime().addDays(1);
+	QVERIFY(!CalenDateUtils::isOnToday(dateTime));
+}
+
+/*!
+    This function is to test the api of CalenDateUtils::defaultTime.
+ */
+void TestCalenDateUtils::test_defaultTime()
+{
+	QDateTime dateTime = QDateTime(QDate(2010, 3, 2));
+	QDateTime expectedOutput = dateTime;
+	// 8:00 am is default time for Calendar Editor
+	expectedOutput.setTime(QTime(8, 0));
+	QDateTime actualOutput = CalenDateUtils::defaultTime(dateTime);
+	QCOMPARE(actualOutput, expectedOutput);
+}
+
+/*!
+    This function is to test the api of CalenDateUtils::futureOf.
+ */
+void TestCalenDateUtils::test_futureOf()
+{
+	QDateTime dateTime = QDateTime(QDate(2009, 10, 30));
+	QDateTime expectedOutput = QDateTime(QDate(2009, 11, 26));
+	QDateTime actualOutput = CalenDateUtils::futureOf(dateTime, 27);
+	QCOMPARE(actualOutput, expectedOutput);
+}
+
+// End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/tsrc/unittest_calencommonutils/unittest_calencommonutils.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,50 @@
+#
+#  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: This is the project specification file for the calencommonutils.
+#
+
+TEMPLATE = app
+TARGET = utcalencommonutils
+CONFIG += qtestlib
+CONFIG += symbian_test
+CONFIG += hb
+DEPENDPATH += . \
+				./inc \
+				./src
+				
+INCLUDEPATH += . \
+				../../inc
+
+
+# Input
+HEADERS += test_calendateutils.h \
+			test_calenagendautils.h
+			
+SOURCES += main.cpp \
+			test_calendateutils.cpp \
+			test_calenagendautils.cpp
+
+symbian : {
+
+	TARGET.CAPABILITY = ALL -TCB
+	TARGET.UID3 = 0x200315AE
+	INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+	
+	LIBS += -lcalencommonutils \
+			-lagendainterface	
+	BLD_INF_RULES.prj_testexports += \
+		"./rom/unittest_calencommonutils.iby		CORE_APP_LAYER_IBY_EXPORT_PATH(unittest_calencommonutils.iby)" 		
+}
+
+# End of file	--Don't remove this.
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/tsrc/unittest_calenviewerservice/data/meeting.ics	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,19201 @@
+BEGIN:VCALENDAR
+PRODID:-//Microsoft Corporation//Outlook 12.0 MIMEDIR//EN
+VERSION:2.0
+METHOD:REQUEST
+X-MS-OLK-FORCEINSPECTOROPEN:TRUE
+BEGIN:VEVENT
+ATTACH;ENCODING=BASE64;VALUE=BINARY;X-FILENAME=EPIC_10.2_Day_View_X0.ppt:0M
+	8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAARAAAADwgAAAAAAAAA
+	EAAA/v///wAAAAD+////AAAAAP4HAAD/BwAAAAgAAAEIAAACCAAAAwgAAAQIAAAFCAAABggAAA
+	cIAAAICAAACQgAAAoIAAALCAAADAgAAA0IAAAOCAAA////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////9gIRvwuQQAAFpSSf52ugV0Qw2h4sySG6vyDgAAAAAAAAAAAABgAAAASwAAAO
+	DzDQAA5goAhwQAAAD+eNrNlz9oG1ccx5/k1qntQAzp4CFQBUqJBwVdnRarSxy5MUihKRaBUOGh
+	4pCJkGphnyE2orSDEB2E6CA8CS1F2qRNt1lTsTYbOsjbZbzxhhJuaOD6ffe7e3f6a4UO6fP3Se
+	+k8+f33u/3ez/dC7AlxhZObzEWYPcXGdpH6AuBT9jHeF8J8k/46HbwGfvRHi2JzwJBy7JYE6Mn
+	KxfsNxbCH2/0HmIP7FfGtvi9+LOb8zbaOOlDN8zBeocZvk//9f36Avot9Dvon6E/BuOXd2Ta4v
+	5/srLD9qd6MmQ7cI2me5v9D9p5q1Y5TCnpRG43Ksel/6JpfMvQtKsLrd/Vem2t19TVmq5W/DI6
+	JU+tImS2FK5GzmzIpJl83SdtSLrQYFiX1htPM/n1Yf4UWzOtzMPX1Bo06EAVoW41N0OOCR383C
+	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
+	AUgAJQAApAASgABaAAFIACUAAKQAEoAAWgABSAAlAACkABKAAFoAAUgAJQAApAASgABaAAFIAC
+	UAAKQAEoAAWgABSAAlAACkABKAAFoAAUgAJQAApAASgABaAAFIACUAAKQAEoAAWgABSAAlAACk
+	ABKAAFoAAUgAJQAApAASgABaAAFIACUAAKQAEoAAWgABSAAlAACkABKAAFoAAUgAJQAApAASgA
+	BaAAFIACUAAKQAEoAAWgABSAAlAACkABKAAFoAAUgAJQAApAASgABaAAFIACUAAKQAEoAAWgAB
+	SAAlAACkABKAAFoAAUgAJQAApAASgABaAAFIACUAAKQAEoAAWgABSAAlAACkABKAAFoAAUgAJQ
+	AApAASgABaAAFIACUAAKQAEoAAWgABSAAlAACkABKAAFoEDlFPj/HtMbsKDIy20AAAAASUVORK
+	5CYIIAbh7wlCMAANeTI5S4Hbcl6S2ovIyNfJX/iVBORw0KGgoAAAANSUhEUgAABgsAAAA8CAYA
+	AABYZopwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AA
+	AAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAXEQAAFxEByibzPwAAIuxJREFUeF7t
+	nevvZldVx+cPMCG+IPGFCdGQGGi5Sjvt9DaUNqWhpXQGJ16xGMFQ7YUSGkjREi6lnekAb0yMb/
+	CFJiioUV9Ap1MUghRpAY2oTdRgiPY2tIxtwzh17PjseWb3d357zt57rX05ez3Mp8nJ9Pf89tn7
+	uz9rre9e5zkM3bGDfyAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgA
+	AEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAA
+	BCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAA
+	QgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAE
+	IAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABC
+	AAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQg
+	AAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIA
+	ABCEAAAhCAAAQgAAEIQAACEIDAjh0XryB8+5xzfvqkv1772p85uWvXq4dcr3jFT518yUt+7OTL
+	XvYTQ9YP921JjyUtjpMlPZa0wCbuHcSpna9aY6k5M6xpt6THkha8LF2vlmKFlnHnTk/2Peemvq
+	lvzbntx/bOSa0mS3osaRld39ZY8Hwvf/6wFDu0jOttNF5sKU6jvc+y1/RmQx6Mqdc3vOGVp77H
+	d9/pT653tHrR8a7VRG7yF6/du9/wwuc/f+D/Rlw33vhzLzgtIzVM921JjyUtjpElPZa0wCbuHc
+	Spna9aY6k5L6xpt6THkha8LF2vlmKFlnHnTk/2Peemvqlvzbntx/bOSa0mS3osaRld39ZYhHll
+	SZ8lLaPzhjjJnxMt5Y0lLeTwuN6GPBjzLOK5B9/p/1GrlwU3hC8L9u274sQTTxz6nxHXpz992/
+	86PSM1TPdtSY8lLY6RJT2WtMAm7h3EqZ2vWmOpOS+sabekx5IWvCxdr5ZihZZx505P9j3npr6p
+	b8257cf2zkmtJkt6LGkZXd/WWIR5ZUmfJS2j84Y4yZ8TLeWNJS3k8LjehjwY8yziuQff6X+m28
+	uCvXuveP6xxw49s/T16KOHnjl48JZjbqN79lzxvPt5aQ1+Pbd2qMeSFtisc2MuTrCxy8ZKffta
+	Pnjw1lN+4zzv8cfH+Y3GW5xOdx08+N5T2t/+9s3RPsdds/fWY/H5dM5bPwNHeT15E8+bEX2cj0
+	fsz+m5U+IhmvljY1PrpuYPz8yS+efWjvVOrebXcKaPS9fTiJqKxc+aFutnlKYOWowN67fW+2o0
+	+f7aP897bTVztrg39JtR33nwDJvvP635jaVnWCve5/N4rldpUa/aOejPt74b69UTW+8pY96qzS
+	XteO2zgnb+1Hh/3i72smDPnsuPPfnkfUeWv7545MCBW591G73+eqfhiwM0+H27tUM9I5i4Nee0
+	wGadn7CJ16k9Nnbqe13L99679pu15x0a6Dcab3E6Dx1ZHQyntO/du0na57hr9t56LD6fPuetn4
+	GjzkHyJnXuLO/z63jEru16SjxEM39sbGpdqfaUDu2+Yv1BiX7t2uF4e70K/X8spjynzXuflRze
+	Xr/13lde276/3nqe99rK52zzvcT2WI37zoNn2Fz/eaYPj+r51rFavrdJ9w0j63t77ObYjIoV/X
+	mqH+7X21jqKWPe2vvs0T4rtNPjz9vFXhZcf/3u55544vD3Rlx3333TU+uXBZcN0zDdtyU9lrQ4
+	Rpb0WNICm7h3WIvTPffcfNpvdj/35JNjPE/rs06nu/bvv+W09jdujHa/1yl37f57jLeUl5a04G
+	VpT7AUK7SMO3d6su85N/VNfZecp71zUqvJkh5LWkbX91afZ+N5PsyrrViN+87DayJvxp3fGr8h
+	TpsRp9HeF/caG17YM497zq2pVYve2pONP28Xe1nw1rdeevT737//keWvQ4984hM3PeY2eu21l6
+	w0HBqgwe/brR3qGcHErTmnBTbr/IRNvE7tsbFT3+taXhn3Kb9Ze97hgX6j8Ran8/Aj99yz1n7d
+	dZdtkPY57pq9tx6Lz6fPeetn4KhzkLxJnTvL+/w6HrFru54SD9HMHxubWleqPaVDu69Yf1CiX7
+	t2ON5er0L/H4spz2nz3mclh7fXb733lde276+3nue9tvI523wvsT1W477z4Bk213+e6cOjer51
+	rJbvbdJ9w8j63h67OTajYkV/nuqH+/U2lnrKmLf2Pnu0zwrt9PjzdrGXBddee9GRp546/NCI62
+	Mf+83vrl8W7BqmYbpvS3osaXGMLOmxpAU2ce+wFqePf9z7jfO8B4Z4nt5nnc4HHrrrLq/94g3S
+	vs6N7dzHnDX4vIy7pZq1pAWf3xyf7503PefvOTc5nPbA3uw1Zz9aNsNvLMVpdH1v9Xk2nufDet
+	uK1bjvPLwm8ob61pwHFvOGHN6MHO59LpAHY/LAn7eLvSx485t3PfbUU1/60ojrox+98Z/dRq+6
+	apyG6b4t6bGkxTGypMeSFtjEvcNqnJznPf30GM/T+qzT6S7P8uqrN0e736vXPvKswedl+W6pZi
+	1pwec3z+d79ZU987Ln3ORw2gN7s9ec/WjZDL+xFKfR9W2NRVhvlvpQa6ws6UEL3qc5K8PnzF59
+	n0aTpRzufS6cTXvV5MBS3Bd7WXDVVRd87+jRL//FiOvOO9/1rfXLgnEapvu2pMeSFsfIkh5LWm
+	AT9w57cXq3Kb/ReO6HP/wbG6v9zjttcbeUl5a04GXpPshSrNAy7tzpyb7n3NQ39a3pOfzY3jmp
+	1WRJjyUto+vbWp8X5pWlWFnSMjpviJP8+zdLeWNJCzk8rrchD8Y8i/jzdrGXBVdccf6/P/PMV/
+	5wxHXHHb/+NbfRkRqm+7akx5IWx8iSHktaYBP3DuLUzlc/9CFbXqk5L8gDakSTL34sebMZeXO2
+	xannfnvOTa+SPo97s9d4IFrwPk2+WDgzLeXsHDtL+ixp4VzYDK8hTpzfJWdC77zBy8b4h+e+2M
+	uCyy57/SPPPvvV3xtxfeAD7/xrt9FLL33dMA3TfVvSY0mLY2RJjyUtsIl7h9U4Oc977rkxnqf1
+	WafTXZ7l7t0/uzHa/V699pFnDT4vy3dLNWtJCz6/eT7fq6/smZc95yaH0x7Ym73m7EfLZviNpT
+	iNrm9rLMJ6s9SHWmNlSQ9a8D7NWRk+Z/bq+zSaLOVw73PhbNqrJgeW4r7Yy4JVYX3n2LG//WTs
+	CoScrB03vf/223/1vtMvC5Iapvd4PS00h3No9Ui0uDWk43qzCWPpfk5xrNGT2/OSWkpikNPfi8
+	0cl+lnuXj1zuGeXHJxWppNzut6eFBsTm1cJdokYzTxbqFd4wvSs6nU5zVacrm7JBut7lIvk64j
+	HVcapyl7jVdqYyatQcl+l/QyiZ65Hkta+1Iu0jj1YKNhkPOVcL8955Yy8/HTas+dcdJ6kuaKVa
+	9xuqR5LI23dNxcDFprCdfQxEuqRZqrPep7jqGWf652auJkhY2GiZaHJk9S541bV+pLueehUr+Z
+	0yfJMameUlaSnkVT215vqZ7YWpo8q+n7JHEaoUUSp/DMluROaZxiemq8uLWWmh5Uc35LzsIaLj
+	Vacnmj9WRpfac8I7emNA+0THPrxupFokerJRcXqRbNujnf8vsMxn1m9XOTf24IBeza9Zp/OH78
+	wY/PXX6s/134c+zz2Lhwjfe975f/yo1NaQjXyM0t1Ty3X6mekGGOX05zjRZ3r0TPnAaNrpZslt
+	IiZRPyn/KMxXb6eW82Eg1+TEstubrP6ZJqKY2TVp9GT8oPc3VT40Expl77RRfF/ToXD4lPTGOh
+	5ZvTnvN5jS/UMJbkQYmWXF7U+LxUj3TcUrGq0SOJ01y+xj5bwuel+y3JlZozZ3pvau0SXb3jpP
+	WhUI80JlLvm87fc25tbks8URKrkj1ZyBuN7lIvlq4hHVfjw6Vr9O5vc15Tkita79OyKdUkqSdt
+	Had6z1yPl9KjYSLxklCLlEVpfpRo0uaNpkeo0VPCKnxOSml12nK50ouNJs9KfVgapxFacnGay3
+	9pvFrnTanvuT201qLt81r6j5S/lFcPNr38JtUPSNaU7lXKTtqHt+6dYvNN+UjzxM8leRaRnvch
+	Pz93oK/ny4Jzv/X881//nfDyAnKfS8fNrXHrrb/45+7+XbvmNfh73Jjpv09/ns5bo8XNI9Gj0S
+	LRPMdFqsWNk+qJrRNjFo5vyWYJLaVsPE8pF2mspHHSrFtaU1ItnmGs3mJx9J9LcqY0TiW1JdUT
+	80PJmrUelPeDV836dS4W0pj30F/DfS4HazXW6AnXlnLNxzV9BtZ6ptRXatho/EKip6eWXj4vjZ
+	Nk/6ma7sGmVFMPLbm+swWbuVqeO+vCcZL99py7xhMl2jU5LDkTzwbvk9aOdFzLOE35L+17mlzN
+	9TDavjLWx4U1Lo1Jab+d2pdkbcmYGjalXhXuqyZnc35f2/O5+bX6UrVSq0erZfqcNLf20n1oiY
+	9I81jLxpKWXJxGeHFJHku8WBsnCRtpjrTwYm3eaLS1ZtPLb0pyo6QfbvFsKOUvYS+dq7WvSteV
+	9OB+n37O03/2e1lw/vnnfPPEiW98MLy8gNzn0nFza9x88y98zt1/3nnzGjS63NgaLe5+rZ7Yej
+	lmc/sKP9NqSe0/tZ50D1o90nmn2qT3aLVo2DgNmvGt80bKIBZTLZvUektr0XLXjvdsYp4nqcvc
+	mrUeFNNwyy1rr9y589xZv5ZqH6G/lnvItJaxtkakHlVSLzVacrGU6p6Os6Snp5YlfD7FvyRXes
+	apRk/POPk9a/RJ9ZT6imT+nnPP1b3UEyXaY2dJ616hRos175Pmp3RcDZtcnDTsSvrb3POPlEGr
+	HneTfHhuzxpeJXlT6lUtnlmlXiP1t1QfrO1DUz1CrZ7SOElqV5MvnpdWT0n/JNW1yVp8fKRxko
+	yr7ftK8ljyPKmNU46NND9anQvaHNboW4qNVFNMT0luhGtK9yrVuoS3SrWUPEOn6rVk3ZgGz93P
+	efrPfi8Ldu585UMvvPDQ7eHlBeQ+l46bW+OWW37+T9z9O3e+YlaDRpcbW6PF3a/VE1svx2xuX+
+	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
+	Jncu06kvslcSrJ59KYSfRI9pWqVen9Ei0aNjU11VqL5yNlkTuPpfNIGUz3K51b6qulLEu0a86M
+	XC6VcJDuNaYzXLNEQ4kXS2NZM66GjYSDZIzXX6MllzclXlyjR5ozUj41WlJspOvnvE9S462Y1L
+	LQ5oKWkbQPDZnNrSP129o+q8RDtFzcGqWx07CR5GJrLdKzY0ScSvqc0jhpfFg6trWWUTWVqpeS
+	WqrJ4Rj73myk+5wbV5MHc/vtvdfS5y8po5KeUnoGz83t7z39Z7+XBRdf/Lp/PHbsawfmLi/C/y
+	78WXJPbG73+fvf/ytfcHOmNIT35zSUaPZraPXktGi4hfvUanH3p/RItcbipdWj1aLRp9WSY7N0
+	Hltik+O+ZD1J45TTLMvhB2c9L+VX0nquYXbm+k7ngy965SWXOL8u1y5lLN2rhJe0XjVxrWEs0a
+	PRUsNKokUTsxLd0xguoUeqsbWWJXxeure5cdJ7Nb2TZs7SmuoVJ432VA5r5pEwmO5XM/dUY+y+
+	kKUmT7TapX2/xH9KONTkjYaL5IyS1pR0Xek4Wa8iez6TxKnkrFoiTpr8kejR8JfUTU2cYnHRPg
+	dI8jjFpjcTSVzCPWg0SfwzxahEX6qmlsibkp5FU0t+/pZsStYv6UFLc0mjr5TLaC+W5k1p/UnP
+	S02PMcdsiVgt7cM5H4/p6ek3Es7SnlUT8xF7LTmPNfWsfRYprUHvTf7+03/2e1mwe/fr/uWHP/
+	zq78auQMjJuXGSMXP3ffCD73zA3bt792tVGnLr5X4f26tETzh3bC3puBot7l7pOtJxNXo0a8yN
+	TeXh9HeSOGnYpHJaokmixxIbjZY5jhImboyES0mcvH6pDj9uS0/a8yQel/OY3O/Ltb8+6ZVSH0
+	/p66ddd9bkdOR+v4SXaWsp1NS6RqzpidW3JP9bsznbfL7GWzUe2ytOGg2p/kBbEzlfme5XM3du
+	3tiZqemVcmvUxCqsH83ea/p/qYcspUcaD+m4Gjala2hqS5oz0jhpxi3FJlc3Nb2Ev1cTK018NM
+	9GJRqkWjR5MtUs1VQao9r+P7X/Uk2lrKa1k2M41Zbrt0r1zLFZyodj55HknMrxODNn0t9R1fSW
+	0vqK9QfSvcTWkdZf6bOLls3SNSWpbynj3nnTi400N2rOY+2532uvmvO4h5dJ6k2yrvfsYGy/lw
+	WXX37evz7zzFf+YMR1xx3v/Krb6EgN031b0mNJi2NkSY8lLbCJewdxauerd9zxa6a8UnNekAfU
+	iCZf/FjyZjPy5myLU8/99pybXiV9Hvdmr/FAtOB9mnyxcGZaytk5dpb0WdLCubAZXkOcOL9Lzo
+	TeeYOXjfEPz32xlwVXXnn+fxw9+uU/HXHdeee7H3YbvfLK84ZpmO7bkh5LWhwjS3osaYFN3Dvs
+	xmmc55X67BbLnSa8UrOPLe02uFvKS0ta8LJ0H2QpVmgZd+70ZN9zbuqb+tac235s75zUarKkx5
+	KW0fVtjUWYV5b6UGusLOlBy7jeRuPFluI02vviXvOj/90meTCmXj33xV4WXH31Rf/19NN/c/+I
+	6yMfec8/uY2O1DDdtyU9lrQ4Rpb0WNICm7h3EKd2vmqNpea8sKbdkh5LWvCydL1aihVaxp07Pd
+	n3nJv6pr4157Yf2zsntZos6bGkZXR9W2MR5pUlfZa0jM4b4iR/TrSUN5a0kMPjehvyYMyziOe+
+	2MuCa67Z9eTTTx9+cMR1113v+Te30WuuuXCYhum+LemxpMUxsqTHkhbYxL3Dbpyc5z0wxPP0Pu
+	t0PrCqvxtPe+VFG6R9nRtbeTDurMHnZWe8pZq1pAWf30Sf79NX9szLnnOTw2kP7M1ec/ajZTP8
+	xlKcRte3NRZhvVnqQ62xsqQHLXif5qz0Y8mbMXljifvoMzB+5rR/FvHcF3xZcMkPnnzy/u8sfx
+	36zt13/9Z/uo2+5S0XrzQcGqDB79utHeoZwcStOacFNuv8hE28Tu2xsVPf61r2eq655pIfHDly
+	eKDfyL3F6XSX137ttZdujHafq1Puy58zU9b4fJq/9TNw1DlI3qTOneV9fh2P2LVdj9xrt/aomT
+	82NrWuVHtKh3Zfsf6gRL927XC8vV6F/j8WU57T5r3PSg5vr9967yuv7TPPAa+tfM42/eL2WLn+
+	v828Jfuykjd895HPAUvet/7+Y2R9b+c1x4b+fNx3VJqetcS35u6x1FPGvh9stdd4fyR/FmlbH9
+	4LFntZ8La3vfHZI0fu/+6Ia7XZI26j1103TsN035b0WNLiGFnSY0kLbOLeYS1O99xz0ym/WXve
+	4SGep/dZp/Pwd/fvv/mU9uuv3yTt69zYzn3MWYPPy7hbqllLWvD5zfH53nnTc/6ec5PDaQ/szV
+	5z9qNlM/zGUpxG17fv86w8z4f15mM18jsPr4m8ob4154HFvCGHNyOHe58L5MGYPPDn7WIvC/bs
+	ufzY6o3hEyOu/fvf+9/rL8DGaZju25IeS1ocI0t6LGmBTdw7rMXpwIG134z0vFKfvffetfa9e2
+	14pWYf1rhbyktLWvCydB9kKVZoGXfu9GTfc27qm/rWnNt+bO+c1GqypMeSltH17fs8K8/zYV75
+	WFno/8mbcee3xm+I02bEabT3xbzGihf2zOOec2tq1WK/0pONP2+XfFlw/LHH7j+69PXoo/cf3b
+	//th+e/l/LHnc/L63Br+fWDvVY0gKbdW7MxQk2dtlYqW9fywcOrP1m9bBw/PHHx/mNxlucTnfd
+	e+9a+969b9oY7XPcNXtvPRafT+e89TNwlNeTN/G8GdHH+XjE/pyeOyUeopk/Nja1bmr+8MwsmX
+	9u7Vjv1Gp+DWf6uHQ9jaipWPysabF+RmnqoMXYsH5rva9Gk++vV3/79dTzvL9q5mxxb+g3rv9v
+	MW/JHHgf3leSN/77j5H1PdU9dy7Qn4/7jkrTs5bmX3ifpZ4y9v1gq72m+iNNP99Sjz9vF3tZsG
+	/f5SeeeOKLx5a/vnDs4MHbnncb3bfvjSsNXxigwe/brR3qGcHErTmnBTbr/IRNvE7tsbFT3+ta
+	/uQnvd84z7tvoN9ovMXpvO/Ypz7ltb9pg7TPcdfsvfVYfD59zls/A0edg+RN6txZ3ufX8Yhd2/
+	WUeIhm/tjY1LpS7Skd2n3F+oMS/dq1w/H2ehX6/1hMeU6b9z4rOby9fuu9r7y2t/pr/zzvtZXP
+	2eZ7iTBWo77z4Bk213+e6cOjer51rJbvbdJ9w8j63h67OTajYkV/nuqH+/U2lnrKmLf2Pnu0zw
+	rt9PjzdrGXBS996Y+/cOGFrx5yvfzlP/mC2+hIDdO9W9JjSYtjZEmPJS2wiXsHcWrnq9ZYas4M
+	a9ot6bGkBS9L16ulWKFl3LnTk33Pualv6ltzbvuxvXNSq8mSHktaRte3NRZhXlnSZ0nL6LwhTv
+	LnREt5Y0kLOTyutyEPxjyLeO7By4LPrn5u8s8NwcQn+XkHDFYvbMgDGJAD5AA5QA6QA+QAOUAO
+	kAPkADlADpAD5AA5QA6QA+QAOWA+Bz7X5E3BahJeFvDFOC8GyAFygBwgB8gBcoAcIAfIAXKAHC
+	AHyAFygBwgB8gBcoAcIAc2Mwd4WcAbLfNvtDCXzTQX4kbcyAFygBwgB8gBcoAcIAfIAXKAHCAH
+	yAFygBwgB8iBzckBXhbwsoCXBeQAOUAOkAPkADlADpAD5AA5QA6QA+QAOUAOkAPkADlADpADZ3
+	kONHtZ8OYVyG+urm9Prt9f/fvuQdee1bq3rq53DFo/3LclPZa0OE6W9FjSApu4fxCndt5qjaXm
+	zLCm3ZIeS1rwsnS9WooVWsadOz3Z95yb+qa+Nee2H9s7J7WaLOmxpGV0fVtjwfO9/PnDUuzQMq
+	630XixpTiN9j7LXtObDXkwpl5vD77Ld9/rf2h18Q8EIAABCEAAAhCAAAQgAAEIQAACEIAABCAA
+	AQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAA
+	EIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAAB
+	CEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQ
+	hAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEI
+	QAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQ2LHj/wErRg
+	lhXMyFLgAAAABJRU5ErkJgggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAOgDzS8AAAEA6QMoAAAA
+	YBgAAOAQAACPEAAA6BcAAAUAAAAKAAAAAgAAAAMAAAABAAIAAAAAAQ8ACQRoEwAAAAAKBAQAAA
+	AKAAAADwDMD7oAAAAAAM0PCAAAAAAAAAABAAAAAQDDDxgAAAABAAAAAAAAAAEAAAAAAAAABAAA
+	AAGUEwAQALoPIAAAAHQAaABpAG4AawAtAGMAZQBsAGwAIABTAGwAaQBkAGUAIAC6DzIAAABUAE
+	MATABhAHkAbwB1AHQALgBBAGMAdABpAHYAZQBEAG8AYwB1AG0AZQBuAHQALgAxADAAug8gAAAA
+	dABoAGkAbgBrAC0AYwBlAGwAbAAgAFMAbABpAGQAZQAPAMwPug8AAAAAzQ8IAAAAAAAAAAEAAA
+	ABAMMPGAAAAAQAAAAAAAAAAgAAAAMAAAAFAAAAAJQTABAAug8SAAAAVwBvAHIAawBzAGgAZQBl
+	AHQAIAC6DxoAAABFAHgAYwBlAGwALgBTAGgAZQBlAHQALgA4ADAAug9AAAAATQBpAGMAcgBvAH
+	MAbwBmAHQAIABPAGYAZgBpAGMAZQAgAEUAeABjAGUAbAAgAFcAbwByAGsAcwBoAGUAZQB0AAAA
+	wQ/+DgAACAAAAOwJAADABwAAAQAJAAADeQcAAAEAIQYAAAAABAAAAAMBCAAFAAAACwIAAAAABQ
+	AAAAwCSwBgAAUAAAAJAgAAAAAFAAAAAQL///8ApQAAAEELxgCIACAAIAAAAAAAIAAgAAAAIAAo
+	AAAAIAAAAEAAAAABAAEAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAP/////8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAA
+	AfwAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAOAAA
+	AHgAAAD4AAAB+AAAA//AAAf/wAAP//////IQYAAEELRgBmACAAIAAAAAAAIAAgAAAAIAAoAAAA
+	IAAAACAAAAABABgAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvaaUjHFac2FKa1E5Y0kxY0
+	kxY0kxY0kxY0kxY0kxY0kxY0kxY0kxY0kxY0kxY0kxY0kxY0kxY0kxY0kxY0kxY0kxY0kxY0kx
+	Y0kxAAAAAAAAAAAAAAAAAAAAAAAAAAAAvaaU/+/e3s/G3se13r6t3r6l57aU57aM57aM57aM57
+	aM57aM766E766E766E766E76Z776Z796Zz96Zz955r955j955j955jY0kxAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAvaaU/+/n/+/n/+/n/+/n/+/e/+/e/+/e/+/e/+/e/+fe/+fe/+fe/+fW/+fW/+
+	fW/+fW/+fW/+fO/9/O/9/O/9/O/9/O955jY0kxAAAAAAAAAAAAAAAAAAAAAAAAAAAAvaac/+/n
+	/+/n/+/n/+/n/+/n/+/n/+/n/+/n/+/e/+/e/+/e/+/e/+fe/+fe/+fW/+fW/+fW/+fW/+fW/+
+	fO/9/O/9/O955jY0kxAAAAAAAAAAAAAAAAAAAAAAAAAAAAvaac/+/n/+/n3raU3raU1q6U1q6M
+	1q6M1q6M1q6MtY5rtY5rtY5rtY5rtY5rtY5rtY5rtY5rtY5rtY5r/+fW/+fO/+fO955rY0kxAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAvaac//fv//fv3raU//fv//fv//fv/+/v1q6M/+/n/+/n1q6M
+	///3tY5r/+/e/+/e1qaE///3tY5r/+fW/+fW/+fW/+fO955rY0kxAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAva6c//fv//fv3rac//fv//fv//fv//fv1q6U//fv//fv1q6M///3tY5r/+/n/+/n1qaE
+	///3tY5r/+fe/+fW/+fW/+fW96ZzY0kxAAAAAAAAAAAAAAAAAAAAAAAAAAAAva6c//fv//fv3r
+	ac3rac3rac3raU3raU3raU1q6U//fv1q6M///3tY5r/+/n/+/n1q6M///3tY5r/+/e/+fe/+fe
+	/+fW96ZzY0kxAAAAAAAAAAAAAAAAAAAAAAAAAAAAva6c//f3//f33r6c//f3//f3//f3//f33r
+	aU//fv//fv1q6U///3tY5r1q6M1q6M1q6M///3tY5r/+/e/+/e/+fe/+fe76Z7Y0kxAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAxq6c///3//f33r6l//f3//f3//f3//f33rac//f3//f33raU///3tY
+	5r//fv//fv1q6M///3tY5r/+/n/+/n/+/e/+fe76Z7Y0kxAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	xq6c///3///3576l576l3r6l3r6c3r6c3rac3rac//f33raU3raUtY5r//fv//fv1q6M///3tY
+	5r/+/n/+/n/+/n/+/e766EY0kxAAAAAAAAAAAAAAAAAAAAAAAAAAAAxq6c///3///3576l///3
+	///3///3///33r6c///3///3//f3//f3//f3//f3//fv1q6U1q6MtY5r/+/n/+/n/+/n/+/e76
+	6EY0kxAAAAAAAAOXFKOXFKOXFKMWlCMWlCMWlCKWFCKWFCKWFCIVkxIVkxIVkxGFExGFExGFEx
+	GEkp///3///33raU//f3//f3//f3//fv//fv//fv/+/n/+/n/+/n766EY0kxAAAAAAAAOXFKa6
+	Z7Y6ZzY6ZzWp5zWp5zUpZrUpZrSpZaSpZaSpZaOY5SOY5SMY5KMY5KGEkp3r6c3rac3rac3rac
+	3raU3raU3raU3q6U//fv//fv/+/v/+/n57aMY0kxAAAAAAAAQnlSa6Z77/fv7/fv5/fn5+/n5+
+	/n3u/e3u/e3u/e3u/e3u/e3ufe3ufeMY5KGEkp////////3r6c///3///3//f3//f33raU//fv
+	//fv/+/v/+/n57aMY0kxAAAAAAAAQnlSc66E7/fv7/fv7/fv5/fn5+/n5+/n3u/e3u/e3u/e3u
+	/e3u/e3ufeOY5SGFEx////////3r6c///3///3///3//f33raU//fv//fv//fv//fv57aUY0kx
+	AAAAAAAAQoZac66E7/fv7/fv7/fv7/fv7/fv5+/nhK6MKVEpKVEpKVEpKVEp3u/eOY5SGFEx57
+	6l576l576l3r6l3r6c3r6c3rac3rac//f3//fv//fv//fv57aUY0kxAAAAAAAASoZje7aM9//3
+	UqZaKVEpKVEpKVEpKVEpGHEYa7ZzSpZaSpZKIVkx3u/eSpZaIVkx////////576l//////////
+	/3///33rac//f3//f3//fv//fv576cY0kxAAAAAAAAUo5jhL6U9//39/f3UqZaY7ZzUqZaGHEY
+	e8eESpZaSpZKIVkxhK6M3u/eSpZaIVkx////////576l///////////3///33r6c//f3//f3//
+	fv//fv576cY0kxAAAAAAAAUpZrjLaU9//39//39//3UqZaMYYxhL6USpZaSpZKIVkxY55jY55j
+	3u/eSpZaIVkx58et58et58et58el576l576l576l3r6l//f3//f3//f3//fv3r6lY0kxAAAAAA
+	AAWp5zlMec////9//39//3MYYxlMecWq5jUqZaMWlCAGkA5/fn5+/n5+/nUpZrKWFC////////
+	58et///////////////3576l///3//f3//f3//fv3r6lY0kxAAAAAAAAY6ZzlMec////////OZ
+	ZCnNela7ZzWq5jQoZKUqZaMYYxAGkA5/fn5+/nUpZrKWFC////////58et////////////////
+	3s/G3se13r6l3r6l3r6l3r6lY0kxAAAAAAAAa6Z7nNel////SpZKrde1c757c757SpZaUoZaY7
+	ZrUqZaMYYxAGkA5/fnWp5zMWlC78+178+178+158et58et58etva6cjHFajHFajHFac2FKc2FK
+	a1E5Y0kxAAAAAAAAc66EnNel////Y7ZrY65rY65rUp5a9//39//3UoZaUoZaUoZaUoZa7/fvWp
+	5zMWlC////////////////////////xq6c79e978+958+158et576tY0kxAAAAAAAAAAAAc66E
+	rde1////////////////////////9//39//39/f37/fv7/fv7/fvY6ZzOXFK//////////////
+	//////////xq6c/+/n/+/e99/W79fGY0kxAAAAAAAAAAAAAAAAe7aMrde1////////////////
+	////////////9//39//39/f37/fv7/fvY6ZzOXFK78+978+9////////////////xral/+/n/+
+	/e99/WY0kxAAAAAAAAAAAAAAAAAAAAe7aMrde1rde1nNelnNellMeclMeclMecjLaUhL6Ue7aM
+	c66Ec66Ec66Ea6Z7OXFK////////////////////////xral/+/n/+/ea1E5AAAAAAAAAAAAAA
+	AAAAAAAAAAhL6Ue7aMc66Ec66Ea6Z7Y6ZzWp5zUpZrUo5jSoZjSoZjQoZaQnlSQnlSOXFKOXFK
+	////////////////////////xral/+/njHFaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAA1r61////////////////////////////////////////////////////////////
+	////zralnIZzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1r611r611r
+	611r611r6tzr6tzr6tzr6tzr6tzr6tzr6tzr6tzr6tzratzratzralzralzralAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	CgAAACYGDwAJAEljb25Pbmx5AAAFAAAACQIAAAAABQAAAAIBAQAAABwAAAD7AvX/AAAAAAAAkA
+	EAAAAAAAAAAFRhaG9tYQAAzhQKtcSjEwBArfN3Sa3zdyBA9XcxEGbSBAAAAC0BAAAFAAAALgEG
+	AAAAEwAAADIKJAAwABAABAAAAAAAYABLAE1pY3Jvc29mdCBFeGNlbCAQAAAAMgoxADAACQAEAA
+	AAAABgAEsAV29ya3NoZWV0IAUAAAAuAQEAAAAoAAAAJgYPAEYAQzpcV0lOTlRcSW5zdGFsbGVy
+	XHs5MDExMDQwOS02MDAwLTExRDMtOENGRS0wMTUwMDQ4MzgzQzl9XHhsaWNvbnMuZXhlAAYAAA
+	AmBg8AAgAxAAMAAAAAAA8A1w9kAQAAAADTDwQAAAAGAAAAAAC6D6QAAABoAHQAdABwADoALwAv
+	AHcAaQBrAGkAcwAuAGkAbgAuAG4AbwBrAGkAYQAuAGMAbwBtAC8AUwBEAEQAaQBmAGYAZQByAG
+	UAbgB0AGkAYQB0AGkAbgBnAFMAVwAvAEQAUwBXAF8AWAAwAF8ATQBpAGwAZQBzAHQAbwBuAGUA
+	XwBDAHIAaQB0AGUAcgBpAGEAXwBEAHIAYQBmAHQAXwB2ADAAXwAyABAAug+kAAAAaAB0AHQAcA
+	A6AC8ALwB3AGkAawBpAHMALgBpAG4ALgBuAG8AawBpAGEALgBjAG8AbQAvAFMARABEAGkAZgBm
+	AGUAcgBlAG4AdABpAGEAdABpAG4AZwBTAFcALwBEAFMAVwBfAFgAMABfAE0AaQBsAGUAcwB0AG
+	8AbgBlAF8AQwByAGkAdABlAHIAaQBhAF8ARAByAGEAZgB0AF8AdgAwAF8AMgAPANcPZAEAAAAA
+	0w8EAAAACgAAAAAAug+kAAAAaAB0AHQAcAA6AC8ALwB3AGkAawBpAHMALgBpAG4ALgBuAG8Aaw
+	BpAGEALgBjAG8AbQAvAFMARABEAGkAZgBmAGUAcgBlAG4AdABpAGEAdABpAG4AZwBTAFcALwBE
+	AFMAVwBfAFgAMABfAE0AaQBsAGUAcwB0AG8AbgBlAF8AQwByAGkAdABlAHIAaQBhAF8ARAByAG
+	EAZgB0AF8AdgAwAF8AMgAQALoPpAAAAGgAdAB0AHAAOgAvAC8AdwBpAGsAaQBzAC4AaQBuAC4A
+	bgBvAGsAaQBhAC4AYwBvAG0ALwBTAEQARABpAGYAZgBlAHIAZQBuAHQAaQBhAHQAaQBuAGcAUw
+	BXAC8ARABTAFcAXwBYADAAXwBNAGkAbABlAHMAdABvAG4AZQBfAEMAcgBpAHQAZQByAGkAYQBf
+	AEQAcgBhAGYAdABfAHYAMABfADIADwDyA3IDAAAvAMgP6gAAADAA0g8EAAAAAgAAAAAAug8oAA
+	AAGCAcIAj/FDA7/1v/CDAKMAwwDjAQMOX/BP8kACgAWwBcAHsAYv/h/xAAug+mAAAAATACMAz/
+	Dv/7MBr/G/8f/wH/mzCcMP0w/jCdMJ4wBTD8MBkgHSAJ/xUwPf9d/wkwCzANMA8wETCwADAgMi
+	AzIAMh4P8F/0EwQzBFMEcwSTBjMIMwhTCHMI4woTCjMKUwpzCpMMMw4zDlMOcw7jD1MPYwIQAl
+	ACkALAAuADoAOwA/AF0AfQBh/2P/ZP9l/2f/aP9p/2r/a/9s/23/bv9v/3D/nv+f/w8A1QfIAQ
+	AAAAC3D0QAAABOAG8AawBpAGEAIABTAGEAbgBzACAAVwBpAGQAZQAAALyoEwC8qBMAbJYTAGCV
+	EwAcNikwYJUTAAgAAAAPANUHAAAGIhAAtw9EAAAAQQByAGkAYQBsAAAAUwBhAG4AcwAgAFcAaQ
+	BkAGUAAAC8qBMAvKgTAGyWEwBglRMAHDYpMGCVEwAIAAAADwDVBwAABAAgALcPRAAAAE4AbwBr
+	AGkAYQAgAEwAYQByAGcAZQAAAGkAZABlAAAAvKgTALyoEwBslhMAYJUTABw2KTBglRMACAAAAA
+	8A1QcAAAYiMAC3D0QAAABOAG8AawBpAGEAIABTAGEAbgBzAAAAAABpAGQAZQAAALyoEwC8qBMA
+	bJYTAGCVEwAcNikwYJUTAAgAAAAPANUHAAAGIkAAtw9EAAAAUwBpAG0AUwB1AG4AAABhAG4Acw
+	AAAAAAaQBkAGUAAAC8qBMAvKgTAGyWEwBglRMAHDYpMGCVEwAIAAAADwDVB4YABAJQALcPRAAA
+	AFYAZQByAGQAYQBuAGEAAABuAHMAAAAAAGkAZABlAAAAvKgTALyoEwBslhMAYJUTABw2KTBglR
+	MACAAAAA8A1QcAAAYiAACkDwgAAACAAEAAAAAAAAAApQ8QAAAAAAAQiC4AAAAAAOABAgAAAAAA
+	qQ8KAAAABwAAAAIACQQAAEAAow9uAAAABQD//T8ABAAiIAEAZAAAAAAEAABkAA8ADwAAAAAAQA
+	IAAAAAAgAAAP//7wAAAAAA//8AAP//EgAAAAABAAAABQAAIAEgAQAAAAAABQAAQAJAAgAAAAAA
+	BQAAYANgAwAAAAAABQAAgASABAAAAAAPAAsEdgoAAA8AAPBuCgAAAAAG8CgBAAABjAAAJAAAAN
+	4CAAAjAAAADwAAAGcAAAAhAAAACAAAAAEAAAAKAAAAIwAAAAoAAAARAAAAEgAAABMAAAAGAAAA
+	FQAAAN0AAAAXAAAAKAAAABkAAAAEAAAAGwAAAOcAAAAdAAAALAAAAB8AAAAGAAAADgAAAAQAAA
+	AQAAAABAAAABIAAAAEAAAAFAAAAAQAAAAWAAAABAAAABgAAAAEAAAAGgAAAAQAAAAcAAAABAAA
+	AB4AAAAEAAAAIAAAAAQAAAAiAAAABAAAAA0AAAACAAAADAAAAAEAAAALAAAAAQAAAAoAAAABAA
+	AACQAAAAEAAAAIAAAAAQAAAAcAAAABAAAABgAAAAEAAAAFAAAAAQAAAAQAAAABAAAAAwAAAAEA
+	AAACAAAAAQAAAF8AAfDcAAAAMgAH8CQAAAADBFpSSf52ugV0Qw2h4sySG6v/AMEEAAABAAAAAA
+	AAAAAAAABiAAfwJAAAAAYGvzXfp868n+DX1bQZK52w5P8AewsAAAEAAADBBAAAAAAAAGIAB/Ak
+	AAAABgaiac2Nad4RX3G7A1DIGZc7/wBeCwAAAQAAADwQAAAAAAAAYgAH8CQAAAAGBlCrFhQ7Dq
+	2LBpgSLEmzJqf/APg2AAABAAAAmhsAAAAAAABiAAfwJAAAAAYG15MjlLgdtyXpLai8jI18lf8A
+	nCMAAAEAAACSUgAAAAAAAAMIC/AAAwAAgQB4YQEAggCirQAAgwB4YQEAhACirQAAhQACAAAAhw
+	ABAAAAiAAAAAAAiQAAAAAAvwACAA8ADAH0AAAQDQEAAAAgDgEAAAAggAEAAAAAgQEAAAAIggEA
+	AAEAgwH///8AhAEAAAEAhQEAAAAghsEAAAAAh8EAAAAAiAEAAAAAiQEAAAAAigEAAAAAiwEAAA
+	AAjAEAAAAAjQEAAAAAjgEAAAAAjwEAAAAAkAEAAAAAkQEAAAAAkgEAAAAAkwEAAAAAlAEAAAAA
+	lQEAAAAAlgEAAAAAl8EAAAAAmAEAAAAAmQEAAAAAmgEAAAAAmwEAAAAAnAEDAABAvwEcAB4AwA
+	EBAAAIwQEAAAEAwgH///8AwwEAAAAgxAEAAAAAxcEAAAAAxsEAAAAAxwEAAAAAyAEAAAAAyQEA
+	AAAAygEAAAAAywE1JQAAzAEAAAgAzQEAAAAAzgEAAAAAz8EAAAAA1wECAAAA/wEOAA4AAAIAAA
+	AAAQICAAAIAgLLy8sAAwIAAAAgBAIAAAEABQI4YwAABgI4YwAABwIAAAAACAIAAAAACQIAAAEA
+	CgIAAAAACwIAAAAADAIAAAEADQIAAAAADgIAAAAADwIAAQAAEAIAAAAAEQIAAAAAPwIAAAMAgA
+	IAAAAAgQIAAAEAggIFAAAAgwKcMQAAhAIAAAAAhQLw+QYAhgIAAAAAhwL3AAAQiAIAAAAgvwIB
+	AA8AwAIAAAAAwQIAAAAAwgJkAAAAwwIAAAAAxAIAAAAAxQIAAAAAxgIAAAAAxwIAAAAAyAIAAA
+	AAyQIAAAAAygIwdQAAywLQEhMAzAIw7ez/zQJAVIkAzgIAgAAAzwIAgP//0AIAAHn/0QIyAAAA
+	0gIgTgAA0wJQwwAA1AIAAAAA1QIQJwAA1gJwlAAA1wKwPP//2AIAAAAA2QIQJwAA2gJwlAAA/w
+	IWAB8ABAMBAAAAQQOoKQEAQgMAAAAAQwMDAAAARAN8vgEARQMAAAAAfwMAAA8AhAN8vgEAhQMA
+	AAAAhgN8vgEAhwMAAAAAcw0i8QoFAACMAAEAAACNADBlAQB/AQAAQACeAf////+fAf////+gAQ
+	AAACChwQAAAACiAf////+jAf////+kAQAAACClwQAAAACmAf////+nAf////+/AQAAIADZAf//
+	///aAf/////bAQAAACDcwQAAAADdAf/////eAf/////fAQAAACDgwQAAAADhAf/////iAf////
+	//AQAAwAASAv////8TAv////8UAgAAACAVwgAAAAAWAv////8XAv////8YAgAAACAZwgAAAAAa
+	Av////8bAv////+JAv////+KAv////+LAgAAACCMwgAAAACNAv////+PAwAAAACQAwIAAACRAw
+	AAAACSAwIAAAC/AwCCAIJABQAAAABBBQAAAQBCBf///wBDBQAAACBEBQAAAABFxQAAAABGxQAA
+	AABHBQAAAABIBQAAAABJBQAAAABKBQAAAABLBTUlAABMBQAACABNBQAAAABOBQAAAABPxQAAAA
+	BQBQAAAABRBQAAAABSBQEAAABTBQEAAABUBQEAAABVBQEAAABXBQIAAABZBf////9aBf////9b
+	BQAAACBcxQAAAABdBf////9eBf////9fBQAAACBgxQAAAABhBf////9iBf////9/BQYATgCABQ
+	AAAACBBQAAAQCCBf///wCDBQAAACCEBQAAAACFxQAAAACGxQAAAACHBQAAAACIBQAAAACJBQAA
+	AACKBQAAAACLBTUlAACMBQAACACNBQAAAACOBQAAAACPxQAAAACQBQAAAACRBQAAAACSBQEAAA
+	CTBQEAAACUBQEAAACVBQEAAACXBQIAAACZBf////+aBf////+bBQAAACCcxQAAAACdBf////+e
+	Bf////+fBQAAACCgxQAAAAChBf////+iBf////+/BQYATgDABQAAAADBBQAAAQDCBf///wDDBQ
+	AAACDEBQAAAADFxQAAAADGxQAAAADHBQAAAADIBQAAAADJBQAAAADKBQAAAADLBTUlAADMBQAA
+	CADNBQAAAADOBQAAAADPxQAAAADQBQAAAADRBQAAAADSBQEAAADTBQEAAADUBQEAAADVBQEAAA
+	DXBQIAAADZBf/////aBf/////bBQAAACDcxQAAAADdBf/////eBf/////fBQAAACDgxQAAAADh
+	Bf/////iBf//////BQYATgAABgAAAAABBgAAAQACBv///wADBgAAACAEBgAAAAAFxgAAAAAGxg
+	AAAAAHBgAAAAAIBgAAAAAJBgAAAAAKBgAAAAALBjUlAAAMBgAACAANBgAAAAAOBgAAAAAPxgAA
+	AAAQBgAAAAARBgAAAAASBgEAAAATBgEAAAAUBgEAAAAVBgEAAAAXBgIAAAAZBv////8aBv////
+	8bBgAAACAcxgAAAAAdBv////8eBv////8fBgAAACAgxgAAAAAhBv////8iBv////8/BgYATgBA
+	BgAAAABBBgAAAQBCBv///wBDBgAAACBEBgAAAABFxgAAAABGxgAAAABHBgAAAABIBgAAAABJBg
+	AAAABKBgAAAABLBjUlAABMBgAACABNBgAAAABOBgAAAABPxgAAAABQBgAAAABRBgAAAABSBgEA
+	AABTBgEAAABUBgEAAABVBgEAAABXBgIAAABZBv////9aBv////9bBgAAACBcxgAAAABdBv////
+	9eBv////9fBgAAACBgxgAAAABhBv////9iBv////9/BgYADgCAABrxIAAAAP//mQCv1PAA/+gF
+	AAAzzADr6dgA5A5iAHLPUQCZzAAAQAAe8RAAAAAHAAAI5A5iAAQAAAjh8P8AHwDwDzgAAAAAAP
+	MDFAAAAAYAAAAEAAAAAAAAAAQAAIAAAAAAAADzAxQAAAAHAAAABAAAAAAAAAAmAACAAAAAAA8A
+	0AdbAwAAHwAUBBwAAAAAABUEFAAAACGA8QUAypo7xCZvOADKmjsBAQAAHwATBDwAAAAAAP0DNA
+	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
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHyQzU7DMBCE70i8g+Urih04II
+	Sa9MDPEZAoD7A4m8Sq/+TdVs3b46RFQqhwsta7M/NpVuuDd2KPmWwMjbxWtRQYTOxsGBr5sXmu
+	7qQghtCBiwEbOSHJdXt5sdpMCUkUdaBGjszpXmsyI3ogFROGsulj9sBlzINOYLYwoL6p61ttYm
+	AMXPHsIdvVI/awcyyeDuX7SJLRkRQPx8M5q5GQkrMGuJDqfeh+pVSnBFWUyw2NNtFVwZD6bMK8
+	+TvgpHst1WTboXiDzC/gC4Zm+HT4zpNDUv+bnKGMfW8NdtHsfGlApYxU3gXYO/XD+ptcL0W3Xw
+	AAAP//AwBQSwMEFAAGAAgAAAAhAO3kDEu7AAAAJgEAAAsACAJfcmVscy8ucmVscyCiBAIooAAC
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	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
+	AAfwABAO8BgABAa8MFhwABAAAAvwAEAAQAvwEBABEA/wEBABkAPwMAAAgAgMMYAAAAvwMAAAIA
+	UgBlAGMAdABhAG4AZwBsAGUAIAAyAAAAEwAi8QYAAAD/AQAAQAAAABDwCAAAAAAAdADsF8cCDw
+	AR8BAAAAAAAMMLCAAAAAAAAAABABMADwAN8FQAAAAAAJ8PBAAAAAAAAAAAAKgPIAAAAENsaWNr
+	IHRvIGVkaXQgTWFzdGVyIHRpdGxlIHN0eWxlAACiDwYAAAAhAAAAAAAAAKoPCgAAACEAAAABAA
+	AAAAAPAATwrgUAABIACvAIAAAAAwwAAAAKAADTAAvwZgAAAH8AAQDvAYAAIGHDBYEAeGEBAIIA
+	oq0AAIMAeGEBAIQAoq0AAL8ABAAEAL8BAQARAMsBnDEAAP8BAQAZAD8DAAAIAIDDGAAAAL8DAA
+	ACAFIAZQBjAHQAYQBuAGcAbABlACAAMwAAABMAIvEGAAAA/wEAAEAAAAAQ8AgAAADHAnoA8xcD
+	Dw8AEfAQAAAAAADDCwgAAAABAAAAAgATAA8ADfDyBAAAAACfDwQAAAABAAAAAACgD6YEAABOAG
+	8AawBpAGEAIABQAG8AdwBlAHIAUABvAGkAbgB0ACAAMgAwADAAOAAgAFQAZQBtAHAAbABhAHQA
+	ZQAsACAAQQA0ACAACwBUAGkAdABsAGUAIABmAG8AbgB0ADoAIABOAG8AawBpAGEAIABMAGEAcg
+	BnAGUAIABiAG8AbABkACAAMwAyACAAcAB0AAsAQwBvAHAAeQAgAGYAbwBuAHQAOgAgAE4AbwBr
+	AGkAYQAgAFMAYQBuAHMAIABXAGkAZABlACAAMgAwACAAcAB0ACAAKAByAGUAZwB1AGwAYQByAC
+	wAIABiAG8AbABkACAAbwByACAAaQB0AGEAbABpAGMAKQANADEAcwB0ACAATABlAHYAZQBsACAA
+	QgB1AGwAbABlAHQADQAyAG4AZAAgAEwAZQB2AGUAbAAgAEIAdQBsAGwAZQB0ACAAKABzAGkAeg
+	BlADoAIAAxADgAIABwAHQAKQANADMAcgBkACAATABlAHYAZQBsACAAQgB1AGwAbABlAHQAIAAo
+	AHMAaQB6AGUAOgAgADEANgAgAHAAdAApAA0ANAB0AGgAIABMAGUAdgBlAGwAIABCAHUAbABsAG
+	UAdAAgACgAcwBpAHoAZQA6ACAAMQA0ACAAcAB0ACkADQBGAG8AbwB0AGUAcgAgACgAZgBvAG4A
+	dAA6ACAATgBvAGsAaQBhACAAUwBhAG4AcwAgAFcAaQBkAGUALAAgADgAIABwAHQAKQA6AAsAHC
+	CpADIAMAAwADgAIABOAG8AawBpAGEAIAAgACAAVgAxACAARgBpAGwAZQBuAGEAbQBlACAALgBw
+	AHAAdAAgAC8AIAB5AHkAeQB5AC0AbQBtAC0AZABkACAALwAgAEkAbgBpAHQAaQBhAGwAcwAdIC
+	AAaQBzACAAcwBlAHQAIAB2AGkAYQAgABwgSQBuAHMAZQByAHQAHSAgAG0AZQBuAHUAIAAvACAA
+	HCBTAGwAaQBkAGUAIABuAHUAbQBiAGUAcgAdIBMgIABOAE8AVAAgAHYAaQBhACAAUwBMAEkARA
+	BFACAATQBBAFMAVABFAFIADQBOAG8AawBpAGEAIABQAG8AdwBlAHIAUABvAGkAbgB0ACAAcABy
+	AGUAcwBlAG4AdABhAHQAaQBvAG4AcwAgAHMAaABvAHUAbABkACAAYQBsAHcAYQB5AHMAIABiAG
+	UAIABtAGEAcgBrAGUAZAAgAHcAaQB0AGgAIAB0AGgAZQAgAGEAcABwAHIAbwBwAHIAaQBhAHQA
+	ZQAgAGwAZQB2AGUAbAAgAG8AZgAgAGMAbwBuAGYAaQBkAGUAbgB0AGkAYQBsAGkAdAB5ADoAIA
+	BDAG8AbQBwAGEAbgB5ACAAQwBvAG4AZgBpAGQAZQBuAHQAaQBhAGwAIAAoAGQAZQBmAGEAdQBs
+	AHQAKQAsACAAQwBvAG4AZgBpAGQAZQBuAHQAaQBhAGwAIABvAHIAIABTAGUAYwByAGUAdAAuAC
+	AATQBvAHIAZQAgAGkAbgBmAG8AIABmAHIAbwBtACAAQwBvAHIAcABvAHIAYQB0AGUAIABTAGUA
+	YwB1AHIAaQB0AHkAIAB3AGUAYgAuAAAAog8eAAAAkwAAAAAAHwAAAAEAHwAAAAIAHwAAAAMAZA
+	EAAAAAAACqDwoAAABUAgAAAQAAAAAADwAE8H8JAAASAArwCAAAAAQMAAAACgAA0wAL8GYAAAB/
+	AAEA7wGAACAUwwWBAHhhAQCCAKKtAACDAHhhAQCEAKKtAAC/AAQABAC/AQEAEQDLAZwxAAD/AQ
+	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
+	0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/Pg0KPGE6Y2xyTWFwIHhtbG5zOmE9Imh0dHA6Ly9z
+	Y2hlbWFzLm9wZW54bWxmb3JtYXRzLm9yZy9kcmF3aW5nbWwvMjAwNi9tYWluIiBiZzE9Imx0MS
+	IgdHgxPSJkazEiIGJnMj0ibHQyIiB0eDI9ImRrMiIgYWNjZW50MT0iYWNjZW50MSIgYWNjZW50
+	Mj0iYWNjZW50MiIgYWNjZW50Mz0iYWNjZW50MyIgYWNjZW50ND0iYWNjZW50NCIgYWNjZW50NT
+	0iYWNjZW50NSIgYWNjZW50Nj0iYWNjZW50NiIgaGxpbms9ImhsaW5rIiBmb2xIbGluaz0iZm9s
+	SGxpbmsiLz6wAB4E8wUAAFBLAwQUAAYACAAAACEATY7z/P0AAAC7AQAAEwAAAFtDb250ZW50X1
+	R5cGVzXS54bWx8kMtOxDAMRfdI/EOULWrSYYEQajsLHisELIYPsBK3jchLcTqa/j1pZ5AADaws
+	P67PtZvtwVm2x0Qm+JZvRM0ZehW08UPL33dP1S1nlMFrsMFjy2ckvu0uL5rdHJFYUXtq+ZhzvJ
+	OS1IgOSISIvnT6kBzkkqZBRlAfMKC8rusbqYLP6HOVlx28ax6wh8lm9ngo5aOThJY4uz8OLqyW
+	Q4zWKMjFqdx7/YtSnQiiKNcZGk2kq2KDy7OEpfM34KR7La9JRiN7g5RfwBUbUieSZEvxGeYw5R
+	/JRvy/9ozv0PdGoQ5qcuUnIiakEtcTnBXfQF+3yPX13ScAAAD//wMAUEsDBBQABgAIAAAAIQBw
+	8DjcvgAAADgBAAALAAAAX3JlbHMvLnJlbHOEj8EKwjAQRO+C/xD2btN6EJGmvYggeBL9gCXZts
+	E2Cdko9u/N0YLgcRjmzUzdvqdRvCiy9U5BVZQgyGlvrOsV3G+nzR4EJ3QGR+9IwUwMbbNe1Vca
+	MeUQDzawyBTHCoaUwkFK1gNNyIUP5LLT+ThhyjL2MqB+YE9yW5Y7Gb8Z0CyY4mwUxLOpQNzmkJ
+	v/s33XWU1Hr58TufSjQvJoDV1w9s+UsRh7SgpM5G9jIaoi7wfZ1HLxt/kAAAD//wMAUEsDBBQA
+	BgAIAAAAIQByMEDFwAIAANoHAAAhAAAAZHJzL3NsaWRlTGF5b3V0cy9zbGlkZUxheW91dDEueG
+	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
+	UAIABiAG8AbABkACAAMwAyACAAcAB0AAsAQwBvAHAAeQAgAGYAbwBuAHQAOgAgAE4AbwBrAGkA
+	YQAgAFMAYQBuAHMAIABXAGkAZABlACAAMgAwACAAcAB0ACAAKAByAGUAZwB1AGwAYQByACwAIA
+	BiAG8AbABkACAAbwByACAAaQB0AGEAbABpAGMAKQANADEAcwB0ACAATABlAHYAZQBsACAAQgB1
+	AGwAbABlAHQADQAyAG4AZAAgAEwAZQB2AGUAbAAgAEIAdQBsAGwAZQB0ACAAKABzAGkAegBlAD
+	oAIAAxADgAIABwAHQAKQANADMAcgBkACAATABlAHYAZQBsACAAQgB1AGwAbABlAHQAIAAoAHMA
+	aQB6AGUAOgAgADEANgAgAHAAdAApAA0ANAB0AGgAIABMAGUAdgBlAGwAIABCAHUAbABsAGUAdA
+	AgACgAcwBpAHoAZQA6ACAAMQA0ACAAcAB0ACkADQBGAG8AbwB0AGUAcgAgACgAZgBvAG4AdAA6
+	ACAATgBvAGsAaQBhACAAUwBhAG4AcwAgAFcAaQBkAGUALAAgADgAIABwAHQAKQA6AAsAHCCpAD
+	IAMAAwADgAIABOAG8AawBpAGEAIAAgACAAVgAxACAARgBpAGwAZQBuAGEAbQBlACAALgBwAHAA
+	dAAgAC8AIAB5AHkAeQB5AC0AbQBtAC0AZABkACAALwAgAEkAbgBpAHQAaQBhAGwAcwAdICAAaQ
+	BzACAAcwBlAHQAIAB2AGkAYQAgABwgSQBuAHMAZQByAHQAHSAgAG0AZQBuAHUAIAAvACAAHCBT
+	AGwAaQBkAGUAIABuAHUAbQBiAGUAcgAdIBMgIABOAE8AVAAgAHYAaQBhACAAUwBMAEkARABFAC
+	AATQBBAFMAVABFAFIADQBOAG8AawBpAGEAIABQAG8AdwBlAHIAUABvAGkAbgB0ACAAcAByAGUA
+	cwBlAG4AdABhAHQAaQBvAG4AcwAgAHMAaABvAHUAbABkACAAYQBsAHcAYQB5AHMAIABiAGUAIA
+	BtAGEAcgBrAGUAZAAgAHcAaQB0AGgAIAB0AGgAZQAgAGEAcABwAHIAbwBwAHIAaQBhAHQAZQAg
+	AGwAZQB2AGUAbAAgAG8AZgAgAGMAbwBuAGYAaQBkAGUAbgB0AGkAYQBsAGkAdAB5ADoAIABDAG
+	8AbQBwAGEAbgB5ACAAQwBvAG4AZgBpAGQAZQBuAHQAaQBhAGwAIAAoAGQAZQBmAGEAdQBsAHQA
+	KQAsACAAQwBvAG4AZgBpAGQAZQBuAHQAaQBhAGwAIABvAHIAIABTAGUAYwByAGUAdAAuACAATQ
+	BvAHIAZQAgAGkAbgBmAG8AIABmAHIAbwBtACAAQwBvAHIAcABvAHIAYQB0AGUAIABTAGUAYwB1
+	AHIAaQB0AHkAIAB3AGUAYgAuAAAAog8eAAAAkwAAAAAAHwAAAAEAHwAAAAIAHwAAAAMAZAEAAA
+	AAAACqDwoAAABUAgAAAQAAAAAADwAE8GIJAAASAArwCAAAAAYQAAAACgAA0wAL8GYAAAB/AAEA
+	7wGAAIDk9gaBAHhhAQCCAKKtAACDAHhhAQCEAKKtAAC/AAQABAC/AQEAEQDLAZwxAAD/AQEAGQ
+	A/AwAACACAwxgAAAC/AwAAAgBSAGUAYwB0AGEAbgBnAGwAZQAgADQAAAAjACLxIQgAAP8BAABA
+	AKnDFQgAAFBLAwQUAAYACAAAACEAWuMRZv4AAADiAQAAEwAAAFtDb250ZW50X1R5cGVzXS54bW
+	yUkU1PxCAQhu8m/gcyV9NSPRhjSvdg9ahG1x8wgWlLtgXCYN3999L9uBjXxCPMvM/7BOrVdhrF
+	TJGtdwquywoEOe2Ndb2Cj/VTcQeCEzqDo3ekYEcMq+byol7vArHIaccKhpTCvZSsB5qQSx/I5U
+	nn44QpH2MvA+oN9iRvqupWau8SuVSkhQFN3VKHn2MSj9t8fTCJNDKIh8Pi0qUAQxitxpRN5ezM
+	j5bi2FDm5H6HBxv4KmuA/LVhmZwvOOZe8tNEa0i8YkzPOGUNaSJL479cpLn8G7JYTlz4rrOayj
+	Zym2NvNJ+sztF5wEAZ/V/8+5I7weX+h5pvAAAA//8DAFBLAwQUAAYACAAAACEAMd1fYdIAAACP
+	AQAACwAAAF9yZWxzLy5yZWxzpJDBasMwDIbvg72D0b1x2kMZo05vhV5LB7sKW0lMY8tYJm3fvq
+	YwWEZvO+oX+j7x7/a3MKmZsniOBtZNC4qiZefjYODrfFh9gJKC0eHEkQzcSWDfvb/tTjRhqUcy
+	+iSqUqIYGEtJn1qLHSmgNJwo1k3POWCpYx50QnvBgfSmbbc6/2ZAt2CqozOQj24D6nxP1fyHHb
+	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
+	EAAP//AwBQSwMEFAAGAAgAAAAhAA3RkJ+2AAAAGwEAACcAAAB0aGVtZS90aGVtZS9fcmVscy90
+	aGVtZU1hbmFnZXIueG1sLnJlbHOEj00KwjAUhPeCdwhvb9O6EJEm3YjQrdQDhOQ1DTY/JFHs7Q
+	2uLAguh2G+mWm7l53JE2My3jFoqhoIOumVcZrBbbjsjkBSFk6J2TtksGCCjm837RVnkUsoTSYk
+	UiguMZhyDidKk5zQilT5gK44o49W5CKjpkHIu9BI93V9oPGbAXzFJL1iEHvVABmWUJr/s/04Go
+	lnLx8WXf5RQXPZhQUoosbM4CObqkwEylu6usTfAAAA//8DAFBLAQItABQABgAIAAAAIQCCirwT
+	+gAAABwCAAATAAAAAAAAAAAAAAAAAAAAAABbQ29udGVudF9UeXBlc10ueG1sUEsBAi0AFAAGAA
+	gAAAAhAKXWp+fAAAAANgEAAAsAAAAAAAAAAAAAAAAAKwEAAF9yZWxzLy5yZWxzUEsBAi0AFAAG
+	AAgAAAAhAGt5lhaDAAAAigAAABwAAAAAAAAAAAAAAAAAFAIAAHRoZW1lL3RoZW1lL3RoZW1lTW
+	FuYWdlci54bWxQSwECLQAUAAYACAAAACEASuaTAFsHAAB4HwAAFgAAAAAAAAAAAAAAAADRAgAA
+	dGhlbWUvdGhlbWUvdGhlbWUxLnhtbFBLAQItABQABgAIAAAAIQAN0ZCftgAAABsBAAAnAAAAAA
+	AAAAAAAAAAAGAKAAB0aGVtZS90aGVtZS9fcmVscy90aGVtZU1hbmFnZXIueG1sLnJlbHNQSwUG
+	AAAAAAUABQBdAQAAWwsAAAAAAAAPBDoBAAA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPS
+	JVVEYtOCIgc3RhbmRhbG9uZT0ieWVzIj8+DQo8YTpjbHJNYXAgeG1sbnM6YT0iaHR0cDovL3Nj
+	aGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL2RyYXdpbmdtbC8yMDA2L21haW4iIGJnMT0ibHQxIi
+	B0eDE9ImRrMSIgYmcyPSJsdDIiIHR4Mj0iZGsyIiBhY2NlbnQxPSJhY2NlbnQxIiBhY2NlbnQy
+	PSJhY2NlbnQyIiBhY2NlbnQzPSJhY2NlbnQzIiBhY2NlbnQ0PSJhY2NlbnQ0IiBhY2NlbnQ1PS
+	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
+	eCdwhvb9O6EJEm3YjQrdQDhOQ1DTY/JFHs7Q2uLAguh2G+mWm7l53JE2My3jFoqhoIOumVcZrB
+	bbjsjkBSFk6J2TtksGCCjm837RVnkUsoTSYkUiguMZhyDidKk5zQilT5gK44o49W5CKjpkHIu9
+	BI93V9oPGbAXzFJL1iEHvVABmWUJr/s/04GolnLx8WXf5RQXPZhQUoosbM4CObqkwEylu6usTf
+	AAAA//8DAFBLAQItABQABgAIAAAAIQCCirwT+gAAABwCAAATAAAAAAAAAAAAAAAAAAAAAABbQ2
+	9udGVudF9UeXBlc10ueG1sUEsBAi0AFAAGAAgAAAAhAKXWp+fAAAAANgEAAAsAAAAAAAAAAAAA
+	AAAAKwEAAF9yZWxzLy5yZWxzUEsBAi0AFAAGAAgAAAAhAGt5lhaDAAAAigAAABwAAAAAAAAAAA
+	AAAAAAFAIAAHRoZW1lL3RoZW1lL3RoZW1lTWFuYWdlci54bWxQSwECLQAUAAYACAAAACEA75dL
+	kmEGAAAyGwAAFgAAAAAAAAAAAAAAAADRAgAAdGhlbWUvdGhlbWUvdGhlbWUxLnhtbFBLAQItAB
+	QABgAIAAAAIQAN0ZCftgAAABsBAAAnAAAAAAAAAAAAAAAAAGYJAAB0aGVtZS90aGVtZS9fcmVs
+	cy90aGVtZU1hbmFnZXIueG1sLnJlbHNQSwUGAAAAAAUABQBdAQAAYQoAAAAAAAAPBDoBAAA8P3
+	htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ieWVzIj8+DQo8
+	YTpjbHJNYXAgeG1sbnM6YT0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL2RyYX
+	dpbmdtbC8yMDA2L21haW4iIGJnMT0ibHQxIiB0eDE9ImRrMSIgYmcyPSJsdDIiIHR4Mj0iZGsy
+	IiBhY2NlbnQxPSJhY2NlbnQxIiBhY2NlbnQyPSJhY2NlbnQyIiBhY2NlbnQzPSJhY2NlbnQzIi
+	BhY2NlbnQ0PSJhY2NlbnQ0IiBhY2NlbnQ1PSJhY2NlbnQ1IiBhY2NlbnQ2PSJhY2NlbnQ2IiBo
+	bGluaz0iaGxpbmsiIGZvbEhsaW5rPSJmb2xIbGluayIvPgAAJwR0BQAAUEsDBBQABgAIAAAAIQ
+	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
+	ECLQAUAAYACAAAACEAa3mWFoMAAACKAAAAHAAAAAAAAAAAAAAAAAAUAgAAdGhlbWUvdGhlbWUv
+	dGhlbWVNYW5hZ2VyLnhtbFBLAQItABQABgAIAAAAIQDvl0uSYQYAADIbAAAWAAAAAAAAAAAAAA
+	AAANECAAB0aGVtZS90aGVtZS90aGVtZTEueG1sUEsBAi0AFAAGAAgAAAAhAA3RkJ+2AAAAGwEA
+	ACcAAAAAAAAAAAAAAAAAZgkAAHRoZW1lL3RoZW1lL19yZWxzL3RoZW1lTWFuYWdlci54bWwucm
+	Vsc1BLBQYAAAAABQAFAF0BAABhCgAAAAAAAA8EOgEAADw/eG1sIHZlcnNpb249IjEuMCIgZW5j
+	b2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4NCjxhOmNsck1hcCB4bWxuczphPSJodH
+	RwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvZHJhd2luZ21sLzIwMDYvbWFpbiIgYmcx
+	PSJsdDEiIHR4MT0iZGsxIiBiZzI9Imx0MiIgdHgyPSJkazIiIGFjY2VudDE9ImFjY2VudDEiIG
+	FjY2VudDI9ImFjY2VudDIiIGFjY2VudDM9ImFjY2VudDMiIGFjY2VudDQ9ImFjY2VudDQiIGFj
+	Y2VudDU9ImFjY2VudDUiIGFjY2VudDY9ImFjY2VudDYiIGhsaW5rPSJobGluayIgZm9sSGxpbm
+	s9ImZvbEhsaW5rIi8+DwDuA4DmAQACAO8DGAAAABAAAAAAAAAAAAAAAAQAAIAAAQAABwAAAAAA
+	+QMQAAAAAAAAAAAAAAADCgEAApw3BQ8ADATI5QEADwAC8MDlAQDwAAjwCAAAAGYAAABmBAAADw
+	AD8KjlAQAPAATwKAAAAAEACfAQAAAAAAAAAAAAAAAAAAAAAAAAAAIACvAIAAAAAAQAAAUAAAAP
+	AATwDgEAABIACvAIAAAAAgQAABAKAABzAAvwRgAAAAsBAQAAAD8BAAABAL8BAAAQAP8BAAAIAD
+	8CAAACAIDDHAAAAL8DAgACAFIAZQBjAHQAYQBuAGcAbABlACAAMQAzADAAAAAAABDwCAAAAAAA
+	AABkAGQADwAR8JgAAAAAAMELBAAAAAEAAAAPAIgThAAAAA8AiRN8AAAAAAC6DzIAAABUAEgASQ
+	BOAEsAQwBFAEwATABTAEgAQQBQAEUARABPAE4ATwBUAEQARQBMAEUAVABFABAAug86AAAAdABo
+	AGkAbgBrAGMAZQBsAGwAQQBjAHQAaQB2AGUARABvAGMARABvAE4AbwB0AEQAZQBsAGUAdABlAA
+	8ABPDbAQAAogwK8AgAAAADBAAAAAoAANMAC/B4AAAAfwABAO8BgADAKXAIgQB4YQEAggCirQAA
+	gwB4YQEAhACirQAAvwAEAAQAvwEBABEAywGcMQAA/wEQABgAPwMAAAgAgMMqAAAAvwMAAAIARg
+	BvAG8AdABlAHIAIABQAGwAYQBjAGUAaABvAGwAZABlAHIAIAAzAAAAEwAi8QYAAAD/AQAAQAAA
+	ABDwCAAAAA4QWQHFC4cQDwAR8IAAAAAPAIgTeAAAAA8AiRNwAAAAAAC6DzIAAABUAEgASQBOAE
+	sAQwBFAEwATABTAEgAQQBQAEUARABPAE4ATwBUAEQARQBMAEUAVABFABAAug8uAAAAcABhAFAA
+	WgBLAEIAZwBzAHMAUwBrAFcATwBXAHQATgBaAFYAaQBuAEMAXwBBAA8ADfCdAAAAAACfDwQAAA
+	AEAAAAAACoDzkAAACpIDIwMDggIE5va2lhIAkgVjEuMCBFcGljIFRlbXBsYXRlIC5wcHQgLyAy
+	MDA5LTA4LTA0IC8gU0MAAKEPHAAAADoAAAAAAARwAAAAAFoAAAAAADoAAAAAAAIACAAAAKoPDg
+	AAADoAAAAHAAAAAAAABAAAAACmDw4AAADxAAAA/gDUAdAC8AMQBQ8ABPCIAQAAogwK8AgAAAAE
+	BAAAAAoAAIMAC/BmAAAAfwABAO8BgADgKnAIvwAEAAQAvwEBABEA/wEQABgAPwMAAAgAgMM2AA
+	AAvwMAAAIAUwBsAGkAZABlACAATgB1AG0AYgBlAHIAIABQAGwAYQBjAGUAaABvAGwAZABlAHIA
+	IAA0AAAAAAAQ8AgAAAAKEHAAWwGHEA8AEfCAAAAADwCIE3gAAAAPAIkTcAAAAAAAug8yAAAAVA
+	BIAEkATgBLAEMARQBMAEwAUwBIAEEAUABFAEQATwBOAE8AVABEAEUATABFAFQARQAQALoPLgAA
+	AHAAZwBpADcAXwBLAEcAOQBrAEgAawBXAC4ASABaAFUAdABEADkAegBnAGQAQQAPAA3wagAAAA
+	AAnw8EAAAABAAAAAAAoA8CAAAAKgAAAKEPGgAAAAIAAAAAAARgAAAAAAAAAAACAAAAAAACAAgA
+	AADYDwQAAAAAAAAAAACqDwoAAAACAAAAAQAAAAAAAACmDwwAAADwAAAA1AHQAvADEAUPAATwtg
+	EAABIACvAIAAAABQQAACACAAATAQvwfgAAAAQAAAAAAH8AAQDvAYAAACxwCIEAoIwAAIIAoIwA
+	AIMAoIwAAIQAoIwAAIUAAAAAAIcAAAAAAIgAAAAAAL8ABAAEAL8BAAARAP8BAAARAAEDAgwAAD
+	8DAAAIAIDDGAAAAL8DAAACAFIAZQBjAHQAYQBuAGcAbABlACAAMgAAAAAAEPAIAAAAAABcAJYU
+	QgEPABHwkAAAAAAAwwsIAAAA/////w0AEwAPAIgTeAAAAA8AiRNwAAAAAAC6DzIAAABUAEgASQ
+	BOAEsAQwBFAEwATABTAEgAQQBQAEUARABPAE4ATwBUAEQARQBMAEUAVABFABAAug8uAAAAcABF
+	AGIAeABxAHMAcgBpAEQAcwAwAC4AeQAwAC4AdwBHAHQAUQB6AEoAQwBnAA8ADfBwAAAAAACfDw
+	QAAAAAAAAAAACoDygAAAAzLiBJbXBsZW1lbnRhdGlvbiBQbGFubmluZwtQcm9qZWN0IFBsYW4L
+	AAChDxYAAAApAAAAAAAAAAoABwApAAAAAAACABwAAACqDw4AAAApAAAABwAAAAAACQgAAA8ABP
+	ACAwAAEgAK8AgAAAAGBAAAAAoAAPMAC/ByAAAAfwAAAO8BgABABdwFgQB4YQEAggCirQAAgwB4
+	YQEAhACirQAAvwAEAAQAgQEAAAAIvwEQABAAwAEBAAAIywHOGAAA/wEIABgAPwMAAAgAgMMYAA
+	AAvwMAAAIAUgBlAGMAdABhAG4AZwBsAGUAIAAzAAAAEwAi8QYAAAD/AQAAQAAAABDwCAAAAJQC
+	yQB0DIQPDwAR8IAAAAAPAIgTeAAAAA8AiRNwAAAAAAC6DzIAAABUAEgASQBOAEsAQwBFAEwATA
+	BTAEgAQQBQAEUARABPAE4ATwBUAEQARQBMAEUAVABFABAAug8uAAAAcABTAHYAYQBRADMAbQBD
+	ADcAUQBrAC4ARABwAF8AQQBRAHoAQgBMAFYAUgB3AA8ADfDKAQAAAACfDwQAAAAEAAAAAACoD9
+	AAAABQcm9qZWN0IGRlbGl2ZXJpZXMgQ2FsZW5kYXIgRGF5IHZpZXcgdG8gMTAuMiBhcyBhIHBh
+	cnQgb2YgMTAuMiBDYWxlbmRhciBSZXN0b3JhdGlvbiBFcGljLCA0MTctNzEzOTYuDTQxNy03MD
+	c5OTogQ2FsZW5kYXIgRGF5IHZpZXcgd2l0aCB0aW1lbGluZSBmb3IgMTAuMg1Qcm9qZWN0IGtl
+	eSBkZXBlbmRlbmNpZXMgYXJlDTEwLjIgT3JiaXQNMTAuMiBPcmdhbml6ZXINAAChD5oAAABlAA
+	AAAAAhAAAABQAAAAADNAAAAAEAIQAAAAUAAAAAAx0AAAAAACEAAAAFAAAAAAMaAAAAAQAhAAAA
+	BQAAAAADAQAAAAAAIAAAAAAAAANlAAAAAABDAAMAAwAQADQAAAAAAEMAAwADABAAHQAAAAAEQw
+	AABAMAAwAQABoAAAAABEMAAAQDAAMAEAABAAAAAARDAAAEAwADABAAAACqDyIAAABlAAAAAQAA
+	AAAAMwAAAAcAAAAAAAsEAAA5AAAAAQAAAAAAAACmDxIAAAD5AgAA4AF5AKQBKQHQAvADEAUPAA
+	PwPJIAAA8ABPB5DgAAAQAJ8BAAAAAKDQAAywEAANAXAADABQAAAgAK8AgAAAAHBAAAAQIAAEMA
+	C/AsAAAABAAAAAAAfwABAOEAgMMUAAAAvwMAAAIARwByAG8AdQBwACAAMQA4ADUAAAAzACLxfQ
+	0AAJ8DAQAAAKDDHgAAAKnDTQ0AAAYACAAEAK0AAACtAAAAegAAAKcAAACtAAAArQAAAFBLAwQU
+	AAYACAAAACEAk169kvsAAADhAQAAEwAAAFtDb250ZW50X1R5cGVzXS54bWyUkUFOwzAQRfdI3M
+	HyFsUOXSCEknRByhIQKgcY2ZPEajK2PCa0t8dpy4IFRSwt6/3/vqZa76dRzBjZearlrSqlQDLe
+	Oupr+b59Ku6l4ARkYfSEtTwgy3VzfVVtDwFZZJq4lkNK4UFrNgNOwMoHpPzT+ThBys/Y6wBmBz
+	3qVVneaeMpIaUiLRmyqV6yQHQWxSvE9AxT7tE2ssaVb71ROUqKxxOz1NYSQhidgZSl9UxWTVz4
+	rnMGVRt5c6RuFko3VYsdfIxJbPa58rQy4sh/BP5cUJztVSaPpTy4wBcaLhufzX5bbf0nRZz/O7
+	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
+	ARAAAAERQAAA8AA/CiaAAADwAE8CgAAAABAAnwEAAAAAAAAAAAAAAAAAAAAAAAAAACAArwCAAA
+	AAAUAAAFAAAADwAE8FMBAACiDArwCAAAAAIUAAAACgAA0wAL8HgAAAB/AAEA7wGAACAUPAeBAH
+	hhAQCCAKKtAACDAHhhAQCEAKKtAAC/AAQABAC/AQEAEQDLAZwxAAD/ARAAGAA/AwAACACAwyoA
+	AAC/AwAAAgBGAG8AbwB0AGUAcgAgAFAAbABhAGMAZQBoAG8AbABkAGUAcgAgADMAAAATACLxBg
+	AAAP8BAABAAAAAEPAIAAAADhBVAsULehAPAA3wnQAAAAAAnw8EAAAABAAAAAAAqA85AAAAqSAy
+	MDA4ICBOb2tpYSAJIFYxLjAgRXBpYyBUZW1wbGF0ZSAucHB0IC8gMjAwOS0wOC0wNCAvIFNDAA
+	ChDxwAAAA6AAAAAAAEcAAAAABaAAAAAAA6AAAAAAACAAgAAACqDw4AAAA6AAAABwAAAAAAAAQA
+	AAAApg8OAAAA8QAAAP4A1AHQAvADEAUPAATwAAEAAKIMCvAIAAAAAxQAAAAKAACDAAvwZgAAAH
+	8AAQDvAYAAgBE8B78ABAAEAL8BAQARAP8BEAAYAD8DAAAIAIDDNgAAAL8DAAACAFMAbABpAGQA
+	ZQAgAE4AdQBtAGIAZQByACAAUABsAGEAYwBlAGgAbwBsAGQAZQByACAANAAAAAAAEPAIAAAACh
+	CGAFsBehAPAA3wagAAAAAAnw8EAAAABAAAAAAAoA8CAAAAKgAAAKEPGgAAAAIAAAAAAARgAAAA
+	AAAAAAACAAAAAAACAAgAAADYDwQAAAAAAAAAAACqDwoAAAACAAAAAQAAAAAAAACmDwwAAADwAA
+	AA1AHQAvADEAUPAATwQQEAABIACvAIAAAABBQAACACAAATAQvwfgAAAAQAAAAAAH8AAQDvAYAA
+	QA48B4EAoIwAAIIAoIwAAIMAoIwAAIQAoIwAAIUAAAAAAIcAAAAAAIgAAAAAAL8ABAAEAL8BAA
+	ARAP8BAAARAAEDAgwAAD8DAAAIAIDDGAAAAL8DAAACAFIAZQBjAHQAYQBuAGcAbABlACAAMgAA
+	AAAAEPAIAAAAAABcAJYUQgEPABHwEAAAAAAAwwsIAAAA/////w0AEwAPAA3wewAAAAAAnw8EAA
+	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
+	9Eb2MueG1s7J1dc+JYs6XvJ2L+g0IXEzMXddr42zUvfcLY5a6KqK7XYdyney43QoDaYosjbaps
+	//rJvSVAsqHBLrCx/NgRtgAZw0bSyly5cuW//vN2GHvfwzSLEt30G/+x43uhDpJupPtN/4/riw
+	/HvpcZpbsqTnTY9O/CzP/PX//n//jX6OOn3eQiVcPQk6fQ2cdR0x8YM/r4yy9ZMAiHKvuPZBRq
+	eayXpENl5Gba/2WUhlmojTLy74bxL7s7O4e/DFWk/V/lCfX331I1GkSBe9rL1N4XfPt+mXpRt+
+	kfHx7sH/melv/Y9H9Lk/HIO9hr+L8Uez38U/WxX3qyr0lwkxUvVK3yQrup+iFrUHmNnk5+S+Vt
+	un/6i3ttD/+rfRP5Cx8N5FXfNv393ZP9k8Oj3ZMD+1Llr/Id3Mbjv77tpcNf/6U+Jr3eT79a+e
+	eNk73DowPfu5PNxu7xUWPPvgj1Mbw1P/30gTz/ye7J0cmxHCKB/If9o5P93YP94m1O3knxKfzs
+	v7Ovuniqc2WUN06jZ3yMRnXiUI419dF04uLXZeqWRO74LY26+f+JumdJ7P2QVTs6PmlMVq0vjx
+	f3H8h73TvKF7N09+7e/snBzqO7Dw8PGofF0pf2Pjg4Pt6Zs3dj90g+NPeqSnvv7u8eH8/5l/v7
+	+3P23ts7PJjzSvb2jht7x4+eu9E42JXvR/fvHezvNHYf3b17tH8451l25W3O2/twZ2/OS1n0JP
+	a5H7/N472TIznQ7CnkPrzfis/KpN6g6R/tHO/Iy3efaOB+3raS7p3d6sjv4iOOM9M2d3HoVnZk
+	HxzJtWWo0q9NX657snHlNuLvsfsd6a5cq9ymivtyeYx9rxv2rlWnfS/HfmN/Xz49LzX53qH6ql
+	vpjb08eL1Em1P3Jx2Vhb4XywVPFw/LnwyU7svF5XKsA3n6hnvdsW6P3EvPRsFlYLzvSp62sWO/
+	indd3qMV9uzrL+872U3umz162jMP92sczJ5S9i326IzPYrngylPai3coN/JXYG7dxy+LPt2jM2
+	7fX9+6ReyML+SdTm98E4hw98t59jUz+Ycla2yfN/8h630zHkbD5G85fWUlYlmJpt+LPlx8EZyx
+	q2qXtOMWMd9j3PS1PK1FoTS6kUu/TtpuSy46Si7G+YPaYkwc3Yef3dPaVY8ji1fybNnQnMWhks
+	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
+	AAJwAAACcgAAAPAAPwhsMAAA8ABPAoAAAAAQAJ8BAAAAAAAAAAAAAAAAAAAAAAAAAAAgAK8AgA
+	AAAAIAAABQAAAA8ABPCSAQAAogwK8AgAAAACIAAAAAoAANMAC/B4AAAAfwABAO8BgABgv28HgQ
+	B4YQEAggCirQAAgwB4YQEAhACirQAAvwAEAAQAvwEBABEAywGcMQAA/wEQABgAPwMAAAgAgMMq
+	AAAAvwMAAAIARgBvAG8AdABlAHIAIABQAGwAYQBjAGUAaABvAGwAZABlAHIAIAA0AAAAEwAi8Q
+	YAAAD/AQAAQAAAABDwCAAAAA4QjQD5CocQDwAN8NwAAAAAAJ8PBAAAAAQAAAAAAKAPbAAAACoA
+	IAAgACAAIAAgACAAIACpACAAMgAwADAANQAgACAATgBvAGsAaQBhACAACQBQACYAUABmAE0AIA
+	BwAHIAbwBjAGUAcwBzACAATwB2AGUAcgB2AGkAZQB3ACAAEyAgAHYAIAAyAEgAMAA2AAAAoQ8c
+	AAAANwAAAAAABHAAAAAAWgAAAAAANwAAAAAAAgAIAAAA2A8EAAAAAAAAAAAAqg8OAAAANwAAAA
+	cAAAAAAAAEAAAAAKYPDgAAAPEAAAD+ANQB0ALwAxAFDwAD8E1yAAAPAATwvQ0AAAEACfAQAAAA
+	ZBIAAI8AAADiFwAAeQUAAAIACvAIAAAAAyAAAAECAABDAAvwLAAAAAQAAAAAAH8AAQDhAIDDFA
+	AAAL8DAAACAEcAcgBvAHUAcAAgADIAMgAyAAAAMwAi8TENAACfAwEAAACgwx4AAACpwwENAAAG
+	AAgABABoAAAAxwAAAMgAAADHAAAAyAAAAMgAAABQSwMEFAAGAAgAAAAhAJNevZL7AAAA4QEAAB
+	MAAABbQ29udGVudF9UeXBlc10ueG1slJFBTsMwEEX3SNzB8hbFDl0ghJJ0QcoSECoHGNmTxGoy
+	tjwmtLfHacuCBUUsLev9/76mWu+nUcwY2Xmq5a0qpUAy3jrqa/m+fSrupeAEZGH0hLU8IMt1c3
+	1VbQ8BWWSauJZDSuFBazYDTsDKB6T80/k4QcrP2OsAZgc96lVZ3mnjKSGlIi0ZsqleskB0FsUr
+	xPQMU+7RNrLGlW+9UTlKiscTs9TWEkIYnYGUpfVMVk1c+K5zBlUbeXOkbhZKN1WLHXyMSWz2uf
+	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
+	HeCt0EDwAN8MIAAAAAAJ8PBAAAAAQAAAAAAKAPeAAAAEEAcABwAHIAbwB2AGUAZAAgAGMAbwBz
+	AHQAIABmAG8AcgAgADEASAAvADIAMAAxADAAOgAgADMANgAgADAANwAwAKwgDQBTAFQAUAAgAG
+	YAbwByACAAMgBIAC8AMgAwADEAMAA6ACAAMgA0ADkAIAAyADAAMACsIAAAqg8YAAAAPAAAAAcA
+	AAAAAAsEAAABAAAAAQAAAAAAAACmDw4AAADxAAAA4AHUAdAC8AMQBRAA8AcgAAAA////AAAAAA
+	CAgIAAADPMAAQEdwCv1PAARKUcAPnyBgAPAIgTkQAAAA8AihOJAAAAAAC6DxAAAABfAF8AXwBQ
+	AFAAVAAxADAAAACLE2kAAAAAAOsuCAAAAJw6xQHAwtqGAAAAKwQAAAAAAAAAHwBE8T0AAAAAAC
+	fxIAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAP////8SAAAADwA98Q0AAABAAULxBQAAAAEJ
+	AAAADwACKwAAAAAAACIECAAAAAEAAAACAAAADwDuA7zUAAACAO8DGAAAABAAAAAAAAAAAAAAAA
+	QAAIAHAQAABwAAAAAA+QMQAAAAAAAAAAAAAAADCgEAAtzhBQ8ADAQE1AAADwAC8PzTAADQAQjw
+	CAAAACsAAAArLAAADwAD8OTTAAAPAATwKAAAAAEACfAQAAAAAAAAAAAAAAAAAAAAAAAAAAIACv
+	AIAAAAACwAAAUAAAAPAATwUwEAAKIMCvAIAAAAAiwAAAAKAADTAAvweAAAAH8AAQDvAYAAwAA+
+	CIEAeGEBAIIAoq0AAIMAeGEBAIQAoq0AAL8ABAAEAL8BAQARAMsBnDEAAP8BEAAYAD8DAAAIAI
+	DDKgAAAL8DAAACAEYAbwBvAHQAZQByACAAUABsAGEAYwBlAGgAbwBsAGQAZQByACAAMwAAABMA
+	IvEGAAAA/wEAAEAAAAAQ8AgAAAAOEFkBxQuHEA8ADfCdAAAAAACfDwQAAAAEAAAAAACoDzkAAA
+	CpIDIwMDggIE5va2lhIAkgVjEuMCBFcGljIFRlbXBsYXRlIC5wcHQgLyAyMDA5LTA4LTA0IC8g
+	U0MAAKEPHAAAADoAAAAAAARwAAAAAFoAAAAAADoAAAAAAAIACAAAAKoPDgAAADoAAAAHAAAAAA
+	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
+	ZVFL3eV8vVcTfXmVKPD/37G4hIfbw9H75fyrX8L6+oT60gmVQfl4M3eoMhkr9ekmmyBDn5AwAA
+	//8DAFBLAQItABQABgAIAAAAIQDb4fbL7gAAAIUBAAATAAAAAAAAAAAAAAAAAAAAAABbQ29udG
+	VudF9UeXBlc10ueG1sUEsBAi0AFAAGAAgAAAAhAFr0LFu/AAAAFQEAAAsAAAAAAAAAAAAAAAAA
+	HwEAAF9yZWxzLy5yZWxzUEsBAi0AFAAGAAgAAAAhAA4qeQ/VAAAA+QAAAA8AAAAAAAAAAAAAAA
+	AABwIAAGRycy9kb3ducmV2LnhtbFBLBQYAAAAAAwADALcAAAAJAwAAAAAAAA/wEAAAAMQAAAD3
+	BQAABwcAADAKAAAPAA3w8AEAAAAAnw8EAAAABAAAAAAAoA+GAQAATgBlAHcAIABzAHQAeQBsAG
+	UAIABVAEkAIABzAHAAZQBjAGkAZgBpAGMAYQB0AGkAbwBuACAAZABvAGUAcwBuABkgdAAgAHAA
+	cgBvAHYAaQBkAGUAIABlAG4AbwB1AGcAaAAgAGYAdQBuAGMAdABpAG8AbgAgAGQAZQBzAGMAcg
+	BpAHAAdABpAG8AbgAgAGYAbwByACAAZABlAHYAZQBsAG8AcABtAGUAbgB0ACAAYQBuAGQAIAB0
+	AGUAcwB0AGkAbgBnACAAdABlAGEAbQAsACAAbQBvAHIAZQAgAGUAcgByAG8AcgAgAG8AcgAgAG
+	0AaQBzAHMAaQBuAGcAIABmAGUAYQB0AHUAcgBlAHMAIABvAHIAIABpAG4AYwBvAHIAcgBlAGMA
+	dAAgAGkAbQBwAGwAZQBtAGUAbgB0AGEAdABpAG8AbgAgAG0AYQB5ACAAYgBlACAAZgBvAHUAbg
+	BkACAAaQBuACAAdABoAGUAIABsAGEAdABlACAAcABoAGEAcwBlAC4AAAChDxgAAADEAAAAAAAg
+	AAAAAAAAA8QAAAAAAAIADAAAAKoPGAAAAMMAAAAHAAAAAAALBAAAAQAAAAEAAAAAAAAApg8OAA
+	AA8QAAAOAB1AHQAvADEAUPAATwxAQAABIACvAIAAAAESwAAAIKAACjAAvwPAAAAH8AAAAEAIAA
+	YPZdCIEAeGEBAIIAoq0AAIMAeGEBAIQAoq0AAL8ABAAEAL8BAQAVAP8BAAAIAL8DAAACABMAIv
+	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
+	V9agXZpPm4HILRW4yJwvWSTbMlyPkvAAAA//8DAFBLAQItABQABgAIAAAAIQDb4fbL7gAAAIUB
+	AAATAAAAAAAAAAAAAAAAAAAAAABbQ29udGVudF9UeXBlc10ueG1sUEsBAi0AFAAGAAgAAAAhAF
+	r0LFu/AAAAFQEAAAsAAAAAAAAAAAAAAAAAHwEAAF9yZWxzLy5yZWxzUEsBAi0AFAAGAAgAAAAh
+	APcOwaHVAAAA+QAAAA8AAAAAAAAAAAAAAAAABwIAAGRycy9kb3ducmV2LnhtbFBLBQYAAAAAAw
+	ADALcAAAAJAwAAAAAAAA/wEAAAALMNAAD3BQAA+hcAADAKAAAPABHwgAAAAA8AiBN4AAAADwCK
+	EzAAAAAAALoPEAAAAF8AXwBfAFAAUABUADEAMAAAAIsTEAAAAAAAsQ8IAAAAAAAAAwAAAQAPAI
+	oTOAAAAAAAug8OAAAAXwBfAF8AUABQAFQAOQAAAIsTGgAAAAAArA8SAAAAAAAAAgEAAAAQAAAA
+	AAAAAAAADwAN8HoBAAAAAJ8PBAAAAAQAAAAAAKgPBgEAAEludml0ZSBVSSBkZXNpZ25lciB0by
+	BzcHJpbnQgZGVtbyAmIHBsYW5uaW5nIHNlc3Npb247DURpcmVjdCBjb21tdW5pY2F0aW9uIGJl
+	dHdlZW4gZGV2ZWxvcG1lbnQsIHRlc3RpbmcgdGVhbSBhbmQgVUkgZGVzaWduZXI7DVRlc3Rpbm
+	cgdGVhbSBwcm92aWRlIG1pc3NpbmcgdXNlIGNhc2Ugb3IgZXhjZXB0aW9uIGNhc2VzIHRvIFVJ
+	IGRlc2lnbmVyOw1BbGxvY2F0ZSBhbm90aGVyIFVJIGRlc2lnbmVyIHRvIG1ha2UgZGV0YWlsZW
+	QgVUkgc3BlY2lmaWNhdGlvbi4AAKEPIAAAAAcBAAAAACEAAAAFAAAAAAMHAQAAAAAmAAQADAAA
+	AAD+AACqDxgAAAAGAQAABwAAAAAACwQAAAEAAAABAAAAAAAAAKYPEAAAAPkAAADgAdgA1AHQAv
+	ADEAUPAATwTwUAABIACvAIAAAAFSwAAAIKAACjAAvwPAAAAH8AAAAEAIAAIPpdCIEAeGEBAIIA
+	oq0AAIMAeGEBAIQAoq0AAL8ABAAEAL8BAQAVAP8BAAAIAL8DAAACABMAIvHdAwAAqcPXAwAAUE
+	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
+	ZyK23zHztFL6w81c5zQp6m6P9TMfB3PtPWFCczVQtB9N4U2rp2HOA44NMz4y8AAAD//wMAUEsD
+	BBQABgAIAAAAIQAYieRZ1QAAAPkAAAAPAAAAZHJzL2Rvd25yZXYueG1sRI9BTwIxEIXvJv6HZk
+	y8SVcPxKwUYkCigXhgRbkO29ltw3a6aSss/96GgxzfvMn38k1mg+vEkUK0nhU8jgoQxLXXllsF
+	26/lwzOImJA1dp5JwZkizKa3NxMstT/xho5VakWGcCxRgUmpL6WMtSGHceR74tw1PjhMOYZW6o
+	CnDHedfCqKsXRoOS8Y7GluqD5Uv07B0q6a8fyzW1fVoH+a1frwvdCFUvd3w+sLiERDuj4v3oLZ
+	bf/LC+pDK8gmzft5H6zeYEwULpdsmi1BTv8AAAD//wMAUEsBAi0AFAAGAAgAAAAhANvh9svuAA
+	AAhQEAABMAAAAAAAAAAAAAAAAAAAAAAFtDb250ZW50X1R5cGVzXS54bWxQSwECLQAUAAYACAAA
+	ACEAWvQsW78AAAAVAQAACwAAAAAAAAAAAAAAAAAfAQAAX3JlbHMvLnJlbHNQSwECLQAUAAYACA
+	AAACEAGInkWdUAAAD5AAAADwAAAAAAAAAAAAAAAAAHAgAAZHJzL2Rvd25yZXYueG1sUEsFBgAA
+	AAADAAMAtwAAAAkDAAAAAAAAD/AQAAAAxAAAAO0MAAAHBwAAZQ8AAA8ADfD5AAAAAACfDwQAAA
+	AEAAAAAACoD48AAABJQUQgc3VwcG9ydCBpcyBkZXBlbmRpbmcgb24gQ2FsZW5kYXIgYXBwbGlj
+	YXRpb24gSUFEIHN1cHBvcnQgc2NoZWR1bGUuIEl0IG1heSBiZSBhIHJpc2sgZm9yIHJlbGVhc2
+	Ugc2NoZWR1bGUgaWYgd2UgbXVzdCBwcm92aWRlIGJpbmFyeSBkZWxpdmVyLgAAoQ8YAAAAkAAA
+	AAAAIAAAAAAAAAOQAAAAAAACAAwAAACqDxgAAACPAAAABwAAAAAACwQAAAEAAAABAAAAAAAAAK
+	YPDgAAAPEAAADgAdQB0ALwAxAFDwAE8MUEAAASAArwCAAAABssAAACCgAAowAL8DwAAAB/AAAA
+	BACAAOAhXwiBAHhhAQCCAKKtAACDAHhhAQCEAKKtAAC/AAQABAC/AQEAFQD/AQAACAC/AwAAAg
+	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
+	oPDgAAACgAAAAHAAAAAAAJCAAADwAE8I0DAAASAArwCAAAAAUwAAAACgAA8wAL8HIAAAB/AAAA
+	7wGAAMDm5waBAHhhAQCCAKKtAACDAHhhAQCEAKKtAAC/AAQABACBAQAAAAi/ARAAEADAAQEAAA
+	jLAc4YAAD/AQgAGAA/AwAACACAwxgAAAC/AwAAAgBSAGUAYwB0AGEAbgBnAGwAZQAgADMAAAAT
+	ACLxBgAAAP8BAABAAAAAEPAIAAAAlALJAJQXDw8PAA3w3QIAAAAAnw8EAAAABAAAAAAAqA8hAQ
+	AADUFyY2hpdGVjdHVyZQ1BcmNoaXRlY3R1cmUgcHJlLXN0dWR5IHdhcyBhcHByb3ZlZA1VSSBk
+	ZXNpZ24NVUkgc3BlY2lmaWNhdGlvbiAob25lIHBhZ2UgVUkgZmxvdyB3aXRoIGZldyB0ZXh0KS
+	BpcyBhdmFpbGFibGUsIG1pc3NpbmcgdXNlIGNhc2VzLCB1cGRhdGUgaXMgb25nb2luZy4NUGFy
+	dGlhbCBidXkNVGlldG8gaXMgcmVzcG9uc2libGUgZm9yIERheSB2aWV3IGltcGxlbWVudGF0aW
+	9uDUlQUg1ObyBJUFIgaXNzdWUgc2luY2UgcG9ydGluZyBmcm9tIEJ1c2luZXNzIENhbGVuZGFy
+	IDkuMiBEYXkgdmlldwAAoQ82AQAAAQAAAAEAAAAAAA0AAAAAACEAAAAFAAAAAAMkAAAAAQAhAA
+	AABQAAAAADCgAAAAAAIQAAAAUAAAAAA2YAAAABACEAAAAFAAAAAAMMAAAAAAAhAAAABQAAAAAD
+	MQAAAAEAIQAAAAUAAAAAAwQAAAAAACEAAAAFAAAAAAM/AAAAAQAhAAAABQAAAAADAQAAAAAAQw
+	ADAAMACQANAAAAAABDAAMAAwAQACQAAAAABEMAAAQDAAMAEAAKAAAAAARDAAAEAwADABAAZgAA
+	AAAIQwAACAMAAwAQAAwAAAAACEMAAAgDAAMAEAAwAAAAAAxDAAAMAwADABAAAQAAAAAMQwAADA
+	MAAwAOAAMAAAAADEMAAAwDAAMAEAABAAAAAAxDAAAMAwADAA4APwAAAAAMQwAADAMAAwAQAAAA
+	qg9IAAAAAQAAAAEAAAAAAKAAAAAHAAAAAAALBAAADQAAAAEAAAAAADAAAAAHAAAAAAALBAAAAQ
+	AAAAEAAAAAAEMAAAAHAAAAAAAJCAAAAACmDxIAAAD5AgAA4AF5AKQBKQHQAvADEAUQAPAHIAAA
+	AP///wAAAAAAgICAAAAzzAAEBHcAr9TwAESlHAD58gYADwCIEzgAAAAPAIoTMAAAAAAAug8QAA
+	AAXwBfAF8AUABQAFQAMQAwAAAAixMQAAAAAADrLggAAADee8kBYNaI8gAAIgQIAAAAAQAAAAIA
+	AAAPAO4DXwsAAAIA7wMYAAAAEAAAAAAAAAAAAAAABAAAgAkBAAAHAAAAAAD5AxAAAAAAAAAAAA
+	AAAAMKAQACsP0FDwAMBKcKAAAPAALwnwoAABACCPAIAAAABwAAAAcIAAAPAAPwhwoAAA8ABPAo
+	AAAAAQAJ8BAAAAAAAAAAAAAAAAAAAAAAAAAAAgAK8AgAAAAACAAABQAAAA8ABPBTAQAAogwK8A
+	gAAAADCAAAAAoAANMAC/B4AAAAfwABAO8BgACAbTwIgQB4YQEAggCirQAAgwB4YQEAhACirQAA
+	vwAEAAQAvwEBABEAywGcMQAA/wEQABgAPwMAAAgAgMMqAAAAvwMAAAIARgBvAG8AdABlAHIAIA
+	BQAGwAYQBjAGUAaABvAGwAZABlAHIAIAAzAAAAEwAi8QYAAAD/AQAAQAAAABDwCAAAAA4QWQHF
+	C4cQDwAN8J0AAAAAAJ8PBAAAAAQAAAAAAKgPOQAAAKkgMjAwOCAgTm9raWEgCSBWMS4wIEVwaW
+	MgVGVtcGxhdGUgLnBwdCAvIDIwMDktMDgtMDQgLyBTQwAAoQ8cAAAAOgAAAAAABHAAAAAAWgAA
+	AAAAOgAAAAAAAgAIAAAAqg8OAAAAOgAAAAcAAAAAAAAEAAAAAKYPDgAAAPEAAAD+ANQB0ALwAx
+	AFDwAE8AABAACiDArwCAAAAAQIAAAACgAAgwAL8GYAAAB/AAEA7wGAAKBuPAi/AAQABAC/AQEA
+	EQD/ARAAGAA/AwAACACAwzYAAAC/AwAAAgBTAGwAaQBkAGUAIABOAHUAbQBiAGUAcgAgAFAAbA
+	BhAGMAZQBoAG8AbABkAGUAcgAgADQAAAAAABDwCAAAAAoQcABbAYcQDwAN8GoAAAAAAJ8PBAAA
+	AAQAAAAAAKAPAgAAACoAAAChDxoAAAACAAAAAAAEYAAAAAAAAAAAAgAAAAAAAgAIAAAA2A8EAA
+	AAAAAAAAAAqg8KAAAAAgAAAAEAAAAAAAAApg8MAAAA8AAAANQB0ALwAxAFDwAE8EgBAAASAArw
+	CAAAAAUIAAAgAgAAEwEL8H4AAAAEAAAAAAB/AAEA7wGAAKACPgiBAKCMAACCAKCMAACDAKCMAA
+	CEAKCMAACFAAAAAACHAAAAAACIAAAAAAC/AAQABAC/AQAAEQD/AQAAEQABAwIMAAA/AwAACACA
+	wxgAAAC/AwAAAgBSAGUAYwB0AGEAbgBnAGwAZQAgADIAAAAAABDwCAAAAAAAcQDfEEIBDwAR8B
+	AAAAAAAMMLCAAAAP////8NABMADwAN8IIAAAAAAJ8PBAAAAAAAAAAAAKgPMgAAADMuOSBJbXBs
+	ZW1lbnRhdGlvbiBQbGFubmluZzoLRXBpYyBwbGFubmluZyBzdW1tYXJ5AAChDx4AAAAzAAAAAA
+	AAAAoABwAdAAAAAAAAABYAAAAAAAIAHAAAAKoPDgAAADMAAAAHAAAAAAAJCAAADwAE8PsEAAAS
+	AArwCAAAAAYIAAAACgAA8wAL8HIAAAB/AAAA7wGAAOAEPgiBAHhhAQCCAKKtAACDAHhhAQCEAK
+	KtAAC/AAQABACBAQAAAAi/ARAAEADAAQEAAAjLAc4YAAD/AQgAGAA/AwAACACAwxgAAAC/AwAA
+	AgBSAGUAYwB0AGEAbgBnAGwAZQAgADMAAAATACLxBgAAAP8BAABAAAAAEPAIAAAAtgJwAOkXcw
+	8PAA3wSwQAAAAAnw8EAAAABAAAAAAAqA/ZAQAAQnVkZ2V0ICYgZnVuZGluZw0xSC8yMDEwIGNv
+	c3Qgd2FzIGFwcHJvdmVkLCAySC8yMDEwIGNvc3QgaGFzIG5vdCBiZWVuIGFwcHJvdmVkLg0NRG
+	V2aWF0aW9ucyBpbiBYMC1NaWxlc3RvbmUgY3JpdGVyaWEgY2hlY2tsaXN0DWh0dHA6Ly93aWtp
+	cy5pbi5ub2tpYS5jb20vU0REaWZmZXJlbnRpYXRpbmdTVy9EU1dfWDBfTWlsZXN0b25lX0NyaX
+	RlcmlhX0RyYWZ0X3YwXzINUDEyIFByb2plY3QgaW5mb3JtYXRpb24gbWFuYWdlbWVudCBzdHJ1
+	Y3R1cmVzIGluIHBsYWNlDVAxNE1haW50ZW5hbmNlIHBsYW4gZG9uZQ1WMSBRdWFsaXR5IGtpY2
+	stb2ZmIG1lZXRpbmcgaGVsZA1WMiBQcm9qZWN0IHF1YWxpdHkgdGFyZ2V0cyBkZWZpbmVkIChx
+	dWFsaXR5IHBsYW4pDVYzIFByb2plY3QgdGVzdGluZyBwbGFuIGNyZWF0ZWQgd2l0aCB0ZXN0aW
+	5nIHNjb3BlIGFuZCBhcHByb2FjaA1EMSBBcHByb3ZlZCBVSSBzcGVjaWZpY2F0aW9uIGV4aXN0
+	cw0AAKEPqAEAABEAAAAAACEAAAAFAAAAAAM/AAAAAQAhAAAABQAAAAADAQAAAAEAIAAAAAAAAA
+	MuAAAAAAAhAAAABQAAAAADUwAAAAAAIAAAAAAAAAMHAQAAAQAhAAAABQAAAAADAQAAAAAAIQAA
+	AAUAAAAAAxEAAAAAAEMAAwADABAAGwAAAAAEQwAABAMAAwAOACIAAAAABEcAAAQDAAMADgD/AA
+	D+AQAAAAAEQwAABAMAAwAOAAEAAAAACGMAAAgDAAQAAwAOAAEAAAAADEMAAAwDAAMADgAuAAAA
+	ABBDAAAQAwADABAAUgAAAAAUAgAAFA4AAQAAAAAUQwAAFAMAAwAMAAMAAAABFAIAARQQAAEAAA
+	AAFAIAABQQADIAAAABFAIAARQQAAEAAAAAFEMAABQDAAMADAAbAAAAARQCAAEUEAABAAAAABQC
+	AAAUEACPAAAAARQCAAEUEAABAAAAABRDAAAUAwADAAwAAgAAAAEUAgABFBAAAQAAAAAUAgAAFB
+	AAIAAAAAEUAgABFBAAAQAAAAAUQwAAFAMAAwAMAAEAAAAAFEMAABQDAAMADAAAAKoPXAAAABEA
+	AAABAAAAAAAZAAAABwAAAAAACwQAACUAAAABAAAAAAABAAAABwAAAAAACQQECC8AAAABAAAAAA
+	BSAAAAAQAAAAAACAEAAAEAAAAAAAEAAAAHAAAAAAAJCAAADwDyDxgAAAAAAPMPEAAAAAAAAAAK
+	AAAABAAAAAiQEwAAAN8PCAAAAH8AAADRAAAAAACmDxIAAAD5AgAA4AF5AKQBKQHQAvADEAUPAA
+	TwegAAALIECvAIAAAAAggAABAKAABzAAvwPgAAAARBAQAAAAsBAgAAAD8BAAABAL8BAAAQAP8B
+	AAAIAD8CAAACAIDDFAAAAE8AYgBqAGUAYwB0ACAANgA3AAAAAAAQ8AgAAACOACAWYBhQAg8AEf
+	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
+	AAALQAAAAFAAAAzAAAAAYAAADYAAAABwAAAOQAAAAIAAAA9AAAAAkAAAAAAQAAEgAAAAwBAAAK
+	AAAAMAEAAAsAAAA8AQAADAAAAEgBAAANAAAAVAEAAA4AAABgAQAADwAAAGgBAAARAAAAcAEAAA
+	IAAADkBAAAHgAAAAgAAABTbGlkZSAxAB4AAAAEAAAAAAAAAB4AAAAQAAAAQ2xhcmtlIFN0ZXZl
+	AAAAAB4AAAAEAAAAAAAAAB4AAAAEAAAAAAAAAB4AAAAIAAAAYmxhbmsAAAAeAAAABAAAAGRsdQ
+	AeAAAABAAAADI3NgAeAAAAHAAAAE1pY3Jvc29mdCBPZmZpY2UgUG93ZXJQb2ludABAAAAA8ET9
+	bT8CAABAAAAA0GPDpdrXvQFAAAAAUCPgroXjyQFAAAAA0LgY1oj2ygEDAAAADwAAAAMAAAA4BA
+	AARwAAAKjQAAD/////AwAAAAgAiRB0CwAAAQAJAAADTGgAAAAAMWgAAAAABQAAAAsCAAAAAAUA
+	AAAMApkCwAMFAAAABwEDAAAAMWgAAEELIADMAG8AoAAAAAAAmQLAAwAAAAAoAAAAoAAAAG8AAA
+	ABABgAAAAAACDQAAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////vf//cwBz//+9////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////vf//cwBz//+9////////////3v//AEKUvXMAc5S9QkJzQkJCQkJCAE
+	JCAAAAc0IA3t69c0KU//+93v//c0KUQpRzQgBCc3NCAEJz3r1zlJSUc3OUc3NzAEJzlHMAAEKU
+	3r1zQkKUvb1zQnOUAABCAAAAvZRC3r29c5S9QkJzc0JCc3Nz3v+9QkKUc0JC3v+9QkKUQkJC3r
+	1zQnO9lHNC///e////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////3v//3t7e/97e////////////
+	////////////////3v///97e////////////////////3v///97e//////////////////////
+	//3t7e////////////3v//vZSU////3v//vZSU////////3t7e////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////3lIp////54xrzjEA54xr1lox52tK3lIp54Rr3mtC997W3nta54xz3oRj3nNK3mtC77
+	Wl54Rr3nNK////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////////////////////////////////////1koY54xr3mNC54Rj1k
+	oh55R7////98691mM51lox1lIp53ta9/f33nNS772t3nNK1mM51koY99bO////////////////
+	////////////////////3v//c3OUAEJzAAAAlHMAAEKUQgAAQkJClHNC///e3v//c3OUAEJzQg
+	AA3t6U3t7eQkKUc3NCQkJzvb1z3t7eQkKU/96U////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////1kIQ1lop/+/v55yE54Rj1lox52tC3lIp54xr3mtK9869
+	3ntS77Wc3nta9869997W3koY55Rz////////////////////////////////////////////Qk
+	JKY2tza3NzY2tza3NzY2tza3NzY2tza3NzY2tza3NzY2tza3NzY2tza3NzY2tza3NzY2tza3Nz
+	Y2tza3NzY2tza3NzY2tza3NzY2tza3NzY2tza3NzY2tza3NzY2tza3NzY2tza3NzY2tza3NzY2
+	tza3NzY2tza3NzY2tza3NzY2tza3NzY2tza3NzY2tza3NzY2tza3NzY2tza3NzY2tza3NzY2tz
+	a3NzY2tza3NzY2tza3NzY2tza3NzY2tza3NzY2tza3NzY2tza3NzY2tza3NzY2tza3NzY2tza3
+	NzY2tza3NzGCEh////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////GBgY5/f35+/v5+/35+/v5/f35+/v
+	5+/35+/v5/f35+/v5+/35+/v5/f35+/v5+/35+/v5/f35+/v5+/35+/v5/f35+/v5+/35+/v5/
+	f35+/v5+/35+/v5/f35+/v5+/35+/v5/f35+/v5+/35+/v5/f35+/v5+/35+/v5/f35+/v5+/3
+	5+/v5/f35+/v5+/35+/v5/f35+/v5+/35+/v5/f35+/v5+/35+/v5/f35+/v5+/35+/v5/f35+
+	/v5+/35+/v5/f35+/v5+/35+/v5/f35+/v5+/35+/v5/f35+/v5+/35+/vCAgI////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////AAAA//////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////////////AAAA//////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////////////////////////////////////////////////AAAA3v
+	//QkKUc3NC3t69c3OUQkJzlJRCc3OUc3NzQkJzc0JC//+9////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////QnO9AEJClHMAQkKUQkJCvb1zc0KUc5RzlHNz///e////
+	//////////////////////////////////////////////////////////////////////////
+	//////AAAA////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////AAAA////////3v///97e////////////
+	////////////3t7////e//////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////3t7e//////////////////////////////////////////////
+	//////////////////////////////////////////////////////AAAA////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////AAAA//////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////////AAAA////////////////7+/v9+/v7+/v9+/v7+/v9+/v7+
+	/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v////7+/v
+	9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+
+	/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v////9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v
+	7+/v9+/v7+/v9+/v7+/v9+/v7+/v////////////////////////////////////KTEx7/f39/
+	f/7/f39/f37/f39/f/7/f39/f37/f39/f/7/f39/f37/f39/f/7/f39/f37/f39/f/7/f39/f3
+	7/f39/f/7/f39/f37/f39/f/7/f39/f37/f39/f/7/f39/f37/f39/f/7/f39/f37/f39/f/7/
+	f39/f37/f39/f/7/f39/f37/f39/f/7/f39/f37/f39/f/7/f39/f37/f39/f/7/f39/f37/f3
+	9/f/7/f39/f37/f39/f/7/f39/f37/f39/f/7/f39/f37/f39/f/7/f39/f37/f39/f/7/f3//
+	//AAAA////////////////9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v
+	7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v////9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+
+	/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn
+	9+/v7+fn////7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+
+	/v////////////////////////////////////KSkx1v//QkKUa3NC1ta1a3OUQkJrlJRCa2uU
+	lJRztbW1QkKUtbVr1r299/f39///9/f39///9/f39///9/f39///9/f39///9/f39///9/f39/
+	//9/f39///9/f39///9/f39///9/f39///9/f39///9/f39///9/f39///9/f39///9/f39///
+	Qmu1AEJClGsAQkKUQkJCtb1za0KUa5RzlGtr9//e9/f39///9/f39///9/f39///9/f39///9/
+	f39///9/f39///9/f39///9/f39///9/f39///9/f39///////AAAA////////////3v//AEKM
+	a2sAAABrQgAAAEJCtYxCQmuMAABCrWsA9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+
+	/v7+/v9+/v7+/v////zu/vQkKMAEJCAAAAAAAAQgAAAEJCa0IAQkJr1s6MAEKMlGsAAEKMQgAA
+	jIxCQkKMa0JC9++t7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v////QmutAEJCAAAAaw
+	AA9++t7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v////////////////////////
+	////////////KTEx7/f39/f3zvf399be7/f39/f37/f39/f/7/f39/f37/f39/f/7/f39/f37/
+	f39/f/7/f39/f37/f39/f/7/f39/f37/f39/f/7/f39/f37/f39/f/7/f39/f37/f39/f/7/f3
+	9/f37/f39/f/7/f39/f37/f39/f/7/f39/f37/f39/f/7/f39/f37/f39/f/7/f39/f3ztbW9/
+	f/7/f39/f37/f39/f/7/f39/f37/f39/f/7/f39/f37/f39/f/7/f39/f37/f39/f/7/f39/f3
+	7/f39/f/7/f39/f37/f3////AAAA////////////////////////////////3v//3r29//////
+	//////////////////////////////////////////////////////////////////////////
+	////lN7/3pRz////////////////////////3v//3r29//////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////////////////////////////////////////KSkp9///9/f39/
+	//9/f39///9/f39///9/f39///9/f39///9/f39///9/f39///9/f39///9/f39///9/f39///
+	9/f39///9/f39///9/f39///9/f39///9/f39///9/f39///9/f39///9/f39///9/f39///9/
+	f39///9/f39///9/f39///9/f39///9/f39///9/f39///9/f39///9/f39///9/f39///9/f3
+	9///9/f39///9/f39///9/f39///9/f39///9/f39///9/f39///9/f39///9/f39///////AA
+	AA////////////////3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW
+	3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O////3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s
+	7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O
+	3tbW////3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O//
+	//////////////////////////////////AAAA////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////AAAA////////////////3tbW1s7O
+	3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3t
+	bW1s7O3s7O////3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O
+	1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O////1s7O3s7O1s7O3tbW1s
+	7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3s7O////////////////////////////
+	////////AAAA3v//vb29QkKUvb1zc3OUQkJzvb1zQkKUvb1z3t7eAEKUQgAAAEJCvZRC3t7eQk
+	KUQkJCAEJCAAAA3pRC////////////////////////////////////////////////////////
+	////////////////////////////////////////////c3O9c5RzlHNz///e//////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////AAAA////////////3v//ADF7hFoAADF7pXs5pXt73tbW3s7O3tbW3s
+	7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O////vc7OpZycADF7
+	AAAAOTEAAAA5AAAAOQAAADExAAAAAAAApVoA3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3t
+	bW3s7O3tbW3s7O3tbW3s7O3tbW////UlKcADFaMQAAYylK3tac3s7O3tbW3s7O3tbW3s7O3tbW
+	3s7O3tbW3s7O3tbW3s7O////////////////////////////////////AAAA//////////////
+	//////////////////3v///97e////////////3v///97e////3t7////e////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////////////////////////////////////////////////AAAA//
+	//////////////3s7Otc7OpZyctZSU3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW
+	1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW////3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s
+	7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O
+	////1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3tbW//////
+	//////////////////////////////AAAA////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////AAAA////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////AAAA//////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////AAAA////////////////hISEhISEhISEhISEhISEhISEhISEhISEhISEhI
+	SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE////hISEhISEhISEhISE
+	hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
+	SEhISEhISEhISEhISEhISE////hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE
+	hISEhISEhISEhISE////////////////////////////////////KSkx1v//a2uU1t69AEKUlH
+	MAlGuU1v/eAEKUAAAAlEIA9//e9/f39///9/f39///9/f39///9/f39///9/f39///9/f39///
+	9/f39///9/f39///9/f39///9/f39///9/f39///9/f39///9/f39///9/f39///9/f39///9/
+	f39///9/f39///a2u1a5RzQkJra3NClGtr9//e9/f39///9/f39///9/f39///9/f39///9/f3
+	9///9/f39///9/f39///9/f39///9/f39///9/f39///9/f39///9/f39///////AAAA//////
+	//////////hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE
+	hISEhISEhISEhISEhISEhISEhISE////hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
+	SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE////
+	59bG///n////1uf//+fW1uf/ra3GxsbG/+fG5+f////n////rdb/hISEhISEhISE//////////
+	//////////////////////////KTEx7/f31vf379bW9/f/7/f31vf3lJSU99be7/f39/f37/f3
+	9/f/7/f39/f37/f39/f/7/f39/f37/f39/f/7/f39/f37/f39/f/7/f39/f37/f39/f/7/f39/
+	f37/f39/f/7/f39/f37/f39/f/7/f39/f37/f39/f/7/f39/f37/f39/f/7/f39/f37/f39/f/
+	7/f39/f37/f39/f/7/f39/f37/f39/f/7/f39/f37/f39/f/7/f39/f37/f39/f/7/f39/f37/
+	f39/f/7/f39/f37/f39/f/7/f39/f37/f3////AAAA////////////////hISEhISEhISEhISE
+	hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
+	SE////hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE
+	hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE////hISEhISEhISEhISEhISElISElK
+	2thISEhISEhISEhISEhISEhISEhISEhISEhISE////////////////////////////////////
+	UlJS5/f33u/v5+/33ufv5/f33u/v5+/33ufv5/f33u/v5+/33ufv5/f33u/v5+/33ufv5/f33u
+	/v5+/33ufv5/f33u/v5+/33ufv5/f33u/v5+/33ufv5/f33u/v5+/33ufv5/f33u/v5+/33ufv
+	5/f33u/v5+/33ufv5/f33u/v5+/33ufv5/f33u/v5+/33ufv5/f33u/v5+/33ufv5/f33u/v5+
+	/33ufv5/f33u/v5+/33ufv5/f33u/v5+/33ufv5/f33u/v5+/33ufv5/f33u/v5+/33ufv5/f3
+	3u/v5+/35+/vISEh////////////////hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
+	SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE////hISEhISEhISEhISEhISE
+	hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
+	SEhISEhISEhISEhISE////hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE
+	hISEhISEhISE////////////////////////////////////OUpK3ufv5+/33ufn5+/v3ufv5+
+	/33ufn5+/v3ufv5+/33ufn5+/v3ufv5+/33ufn5+/v3ufv5+/33ufn5+/v3ufv5+/33ufn5+/v
+	3ufv5+/33ufn5+/v3ufv5+/33ufn5+/v3ufv5+/33ufn5+/v3ufv5+/33ufn5+/v3ufv5+/33u
+	fn5+/v3ufv5+/33ufn5+/v3ufv5+/33ufn5+/v3ufv5+/33ufn5+/v3ufv5+/33ufn5+/v3ufv
+	5+/33ufn5+/v3ufv5+/33ufn5+/v3ufv5+/33ufn5+/v3ufv5+/33ufn5+/3AAgI//////////
+	///////+fG////5////+fn1uf/ra3G1tbG/+fWxtb/ra2txsbG1ufGhISthISEhISEhISEhISE
+	hISEhISEhISEhISEhISEhISE////lISE/+fG////1uf//+fW////////1uf/ra3G/+fGxsbn5/
+	/WlJTG/+fG5////+fn5+f/5//nhJTGhISEhISEhISEhISEhISEhISEhISEhISEhISE/////+fG
+	////rcbnra2t/+fG////xtb/1ufGhISthISEhISEhISEhISEhISEhISEhISE//////////////
+	//////////////////////AAAA////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////AAAA////////////////hISEhISEhISEhISEhISE
+	ra2UhISUhISElISElK2thISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE//
+	//hISEhISEhISEhISEhISEhISEhISElISEra2tra2tlK2thISEhISEhISEhISEhISEhISEhISE
+	hISEhISEhISEhISEhISEhISEhISEhISEhISEhISE////hISElISEra2tlK2thISEhISEhISEhI
+	SEhISEhISEhISEhISEhISEhISEhISEhISE////////////////////////////////////AAAA
+	3v//AEKUlHMAvb29lJSUAEKUQgAAAEJClEIA///evf//c3NzAABzAAAAc3MAAABzAAAAvXMA//
+	//3v//AEKUc0IAQkJzAEJCAAAAAAAAAAAAAAAAQkIAAABCAAAAlHMAvZSU////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////AAAA//////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////////////////////////AAAA////////3v//3r293v//3r29//
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////vf///729//////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////////////////////////////////////AAAA//////////////
+	//hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE
+	hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
+	SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE
+	hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE//////////////////
+	//////////////////AAAA////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////AAAA/////////////////+fG////1v//rYSt///W////
+	////////////////////5///rZTGxtbWxq2t///Wxuf/hISUhISEhISEhISEhISEhISEhISEhI
+	SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE
+	hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
+	SEhISEhISEhISEhISEhISEhISEhISE////////////////////////////////////AAAA3v//
+	c3OUAEJzlJRCc3NzAABzAAAAAAAAlHMAAEKUlHMAlL29AABzQgAA/96U////3v//lJSUQkKUc5
+	RCAABzAAAAlHMAlHOU3v/evb29QkKUlHNC3v/eAEKUAAAAc3MAAABzAAAAQgAA/96U////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////AAAA////////////////hISEhISEhISEhISErZSEhJSthISEhISEhISErZSEhJSthISEhI
+	SElISElK2thISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE
+	hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
+	SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE
+	hISE////////////////////////////////////OTk55+/v5+/vxu/vxq215+/v5+/v5+/v5+
+	/35+/v5+/vxu/vxq215+/v5+/v5+/v5+/35+/v5+/v5+/v5+/35+/v5+/v5+/v5+/35+/vra2t
+	5+/v5+/35+/v5+/v5+/v5+/35+/v5+/vrc7v58615+/v5+/v5+/v5+/35+/v5+/v5+/v5+/35+
+	/v5+/v5+/v5+/35+/v5+/v5+/v5+/35+/v5+/v5+/v5+/35+/v5+/v5+/v5+/35+/v5+/v5+/v
+	5+/35+/v5+/v5+/v5+/35+/v5+/v5+/v5+/35+/v5+/v5+/v5+/3GBgY////////////9/f3//
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////GBgY5/f35+/v5+/35+/v5/f35+/v5+/35+/v5/f35+/v5+/35+/v5/f35+/v
+	5+/35+/v5/f35+/v5+/35+/v5/f35+/v5+/35+/v5/f35+/v5+/35+/v5/f35+/v5+/35+/v5/
+	f35+/v5+/35+/v5/f35+/v5+/35+/v5/f35+/v5+/35+/v5/f35+/v5+/35+/v5/f35+/v5+/3
+	5+/v5/f35+/v5+/35+/v5/f35+/v5+/35+/v5/f35+/v5+/35+/v5/f35+/v5+/35+/v5/f35+
+	/v5+/35+/v5/f35+/v5+/35+/vCAgI////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////AAAA////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	AAAA//////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////////////////AAAA//////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////////////////////////////AAAA//////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////AAAA////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////AAAA////////////////9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn
+	9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+
+	/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v////7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v
+	7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+
+	fn9+/v7+/v9+/v7+fn9+/v7+/v////////////////////////////////AAAA////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////AAAA
+	////////////3v//ra2tAEKMa2sAAABrAAAAlGsAQkKMlIxCjK2tAABrAAAAAAAAAAAAAAAAjI
+	xCAABrQgAAQmtCQgBC986M7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v
+	9/f33v//QkKMQkJCAEJCQgAAAEJCrYxCQkKMAEJCAAAAa0IAQkJrrYxC1u/vQkKMQkJCAEJCAA
+	AAQgAAlIxCra2tlIyMQkKMQkJCQkJCQkJCQkJC986M7+/v9+/v7+/v9+/v7+/v9+/v7+/v9/f3
+	////////////////////////////////AAAA//////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////////////////////////AAAA//////////////////f37+fn9/
+	f37+/v//f37+fn9/f3zu/v3rW17+fn9/f37+/v//f3zufn1rW17+/v//f37+fn9/f37+/v//f3
+	7+fn9/f37+/v//f37+fn9/f37+/v//f37+fn9/f37+/v//f37+fn////7+/v//f3zufn1rW1zu
+	/vvbW1zq2t9/f37+/v//f37+fn9/f37+/v//f37+fn9/f3zu/v3rW1zufn1rW17+/v//f37+fn
+	9/f37+/v//f37+fn9/f37+/v//f37+fn9/f37+/v//f37+fn//////////////////////////
+	//////AAAA////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////AAAA////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////AAAA////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////AAAA////
+	////////////3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s
+	7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O
+	////3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3t
+	bW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O////
+	////////////////////////////AAAA//////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////////////////////AAAA////////////3v//ADmEAAAAYzkAjI
+	xjADmErYw5OTmEADk5AAAAAAAAAAAArWMA597e5+fn597e7+fn597e5+fn597e7+fn597e5+fn
+	597e7+fn597e5+fn597e7+fn597e5+fn597e7+fn597e7+fn3v//QjmMOTk5ADk5rYQ5ra2tAD
+	mEOQAAOTk5jIw5ADmErYw5OTmEjIw5OTmExq1j597e7+fn597e5+fn597e7+fn597e5+fn597e
+	7+fn597e5+fn597e7+fn597e5+fn597e7+fn597e7+/v//////////////////////////////
+	//AAAA////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////AAAA////////////////////9/f3//f39/f3////9/f3//f39/f3////9/f3
+	//f39/f3////9/f3//f39/f3////9/f3//f39/f3////9/f3//f39/f3////9/f3//f39/f3//
+	//9/f3//f39/f3////9/f3////9/f3////1vf3vbW11rW1////9/f3//f39/f33v//1rW1//f3
+	9/f33v//1rW1//f39/f3////9/f3//f39/f3////9/f3//f39/f3////9/f3//f39/f3////9/
+	f3//f39/f3////9/f3////////////////////////////////AAAA////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////AAAA////////
+	////////7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+
+	/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v//f3////
+	9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+
+	/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v//f3////////
+	////////////////////////AAAA//////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////////////////AAAA////////////3v//AEKMa2sAlGtrADmMtY
+	xCa4yMAABrjGMAtYyM7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v
+	7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v3v//jK2tAABrAAAAAAAArYw5AEKMjG
+	sAQkKMra1ja0KM7++t9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn
+	9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v////////////////////////////////AA
+	AA////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////AAAA////////////////9/f3//f3zu/vvbW11rW1//f37+/v//f39/f3//f37+/v
+	//f39/f3//f37+/v//f39/f3//f37+/v//f39/f3//f37+/v//f39/f3//f37+/v//f39/f3//
+	f37+/v//f39/f3//////////f39/f3//f3zu/v3rW11vf33rW1zu/v3rW19/f3//f37+/v//f3
+	9/f3//f37+/v//f39/f3//f37+/v//f39/f3//f37+/v//f39/f3//f37+/v//f39/f3//f37+
+	/v//f39/f3//f3////////////////////////////////AAAA////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////AAAA////////////
+	//////////f3//////////////f3//////////////f3//////////////f3//////////////
+	f3//////////////f3//////////////f3//////////////f3//////////////f3////////
+	//////f3//////////////f3//////////////f3//////////////f3//////////////f3//
+	////////////f3//////////////f3//////////////f3//////////////f3////////////
+	////////////////////AAAA//////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////////////AAAA////////////////3tbW3tbW3tbW3tbW3tbW3t
+	bW3tbW3tbW3tbW3tbW3tbW3tbW3tbW3tbW3tbW3tbW3tbW3tbW3tbW3tbW3tbW3tbW3tbW3tbW
+	3tbW3tbW3tbW3tbW3tbW3tbW3tbW3tbW3tbW597e////3tbW3tbW3tbW3tbW3tbW3tbW3tbW3t
+	bW3tbW3tbW3tbW3tbW3tbW3tbW3tbW3tbW3tbW3tbW3tbW3tbW3tbW3tbW3tbW3tbW3tbW3tbW
+	3tbW3tbW3tbW3tbW3tbW3tbW3tbW3tbW597e////////////////////////////////AAAA//
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////AAAA////////////3v//ADl7pXsxADl7AAAAYzkAhJR7AABaAAAAAAAApVoA3tbW3s7O
+	3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3t
+	bW3s7O3tbW3s7O3v//ADF7AAAAAAAAYzkAOTFahHs5OTF7OTk5va17OTl7OTExpZxaOTF7ADk5
+	vXsx3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s
+	7O3tbW3s7O////////////////////////////////AAAA////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////AAAA////////////////
+	597e5+fn597e7+fnxt7exq2t597e7+fn597e5+fn597e7+fn597e5+fn597e7+fn597e5+fn59
+	7e7+fn597e5+fn597e7+fn597e5+fn597e7+fn597e5+fn597e7+fn597e7+fn////7+fn597e
+	5+fn597e7+fn597e5+fn597e7+fn597exufnxqWl7+fnxt7exq2t597e7+fn597e5+fn597e7+
+	fn597e5+fn597e7+fn597e5+fn597e7+fn597e5+fn597e7+fn597e7+/v////////////////
+	////////////////AAAA//////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////////AAAA////////////////////9/f3//f39/f3////9/f3//
+	f39/f3////9/f3//f39/f3////9/f3//f39/f3////9/f3//f39/f3////9/f3//f39/f3////
+	9/f3//f39/f3////9/f3//f39/f3////9/f3////9/f3////9/f3//f39/f3////9/f3//f39/
+	f3////9/f3//f39/f3////9/f3//f39/f3////9/f3//f39/f3////9/f3//f39/f3////9/f3
+	//f39/f3////9/f3//f39/f3////9/f3////////////////////////////////AAAA//////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//AAAA////////////////7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v
+	9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+
+	/v7+/v//f3////9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v
+	7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+
+	/v//f3////////////////////////////////AAAA////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////AAAA////////////////9+/v
+	7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+
+	fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v////7+fn9+/v7+/v
+	9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+
+	/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v////////////////////
+	////////////AAAA//////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////AAAA////////////3v//QkKMa4xCAABrAAAAAAAAlGsAjIyMAE
+	KMrYxCQkKMAEJCAAAAAAAAAAAArWsA9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v
+	7+/v9+/v7+/v9+/v7+/v9+/v7+/v9/f33v//AEKMAAAAAAAAa0IAAEJra0IAta2MQkKMta1rra
+	2tlIyMra2tAEKMAAAAQgAA786M9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v
+	9+/v7+/v9+/v7+/v9+/v7+/v9/f3////////////////////////////////AAAA//////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////////////////////////////////////////////////////AA
+	AA//////////////////f37+fn9/f3rc7v/9a17+fn9/f37+/v//f37+fn9/f37+/v//f37+fn
+	9/f37+/v//f37+fn9/f37+/v//f37+fn9/f37+/v//f37+fn9/f37+/v//f37+fn9/f37+/v//
+	f37+fn////7+/v//f37+fn9/f37+/v3vf3zq2t1vf3ra2t3rW1zufn1rW17+/v//f37+fn9/f3
+	7+/v//f37+fn9/f37+/v//f37+fn9/f37+/v//f37+fn9/f37+/v//f37+fn9/f37+/v//f37+
+	fn////////////////////////////////AAAA////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////AAAA////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////AAAA//////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////AAAA////////////////3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s
+	7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW
+	1s7O3s7O1s7O3tbW1s7O3s7O1s7O////1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s
+	7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O
+	3s7O1s7O3tbW1s7O3s7O1s7O////////////////////////////////AAAA//////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////////////////////////////////////////////////AAAA//
+	//////////3v//OTF7Y3s5AABaY1oAAABahFoAhHt7ADl7pXsxOTl7ADExAAAAAAAAAAAApVoA
+	3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O59
+	7e3v//ADl7AAAAAAAAAAAAYzkAADFaAAAAAAAAOQAA3q17vdbWY1p7OTla3q173tbW3s7O3tbW
+	3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O597e//
+	//////////////////////////////AAAA////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////AAAA////////////////5+fn3tbWxt7e
+	vZyc5+fn3tbW597e3tbW5+fn3tbW597e3tbW5+fn3tbW597e3tbW5+fn3tbW597e3tbW5+fn3t
+	bW597e3tbW5+fn3tbW597e3tbW5+fn3tbW597e3tbW5+fn3tbW////3tbW5+fn3tbW597evdbW
+	xq2t3tbW597e3tbW5+fn3tbW597e3tbW5+fn3tbW597e3tbW5+fn3tbW597e3tbW5+fn3tbW59
+	7e3tbW5+fn3tbW597e3tbW5+fn3tbW597e3tbW5+fn3tbW////////////////////////////
+	////AAAA//////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////AAAA////////////////9/f3//////f3////9/f3//////f3////9/f3//
+	////f3////9/f3//////f3////9/f3//////f3////9/f3//////f3////9/f3//////f3////
+	9/f3//////f3////9/f3////////////9/f3//////f3////9/f3//////f3////9/f3//////
+	f3////9/f3//////f3////9/f3//////f3////9/f3//////f3////9/f3//////f3////9/f3
+	//////f3////9/f3////////////////////////////////////AAAA//////////////////
+	//////////////////////////////////////////////////////////////////////////
+	lJTe//+9//////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////////////////////////////////////////////AAAA//////
+	//////////9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn
+	9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v//
+	//7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v
+	7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v//////
+	//////////////////////////AAAA////////////////////////////////////////////
+	////AHO93r1zAEKU3r1zvb29QkKU/96U3v//AEKUlHMAvb29lL29vZSUAEKU3r1zvb293r29vd
+	7eAEKUQgAA3t6U3r29////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////AAAA////////////3v//AEKMAAAAa0IAta2M
+	AEKMAAAAa0IAa2trAEJrAAAAjGsAAEKMAAAAtWsA7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+
+	/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9/f33v//AEKMrYxCQkKMjIxCQkKMQkJC
+	AEJCAAAAAAAAAAAAAAAAQgAAQkJCQkJCQkJCjIxCa0KM7++t9+/v7+/v9+/v7+/v9+/v7+/v9+
+	/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9/f3////////////////////////////////
+	AAAA////////////////////////////////////3qXe/96U////c3O93v+9AEKU3pRC////AH
+	O9/71z3v//AEKUlHMAc0KUAHNzvZRCAEKU3r1zAEKUvb1zvZSUQkKUAEJC3r1zc0KU//+9////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////AAAA//////////////////f37+fn1vf3zq2t//f37+fn9/f37+/v//f37+fn9/
+	f37+/v//f37+fn9/f37+/v//f37+fn9/f37+/v//f37+fn9/f37+/v//f37+fn9/f37+/v//f3
+	7+fn9/f37+/v//f37+fn////7+/v//f37+fn1vf3ra2t3rW17+fn9/f37+/v//f37+fn9/f37+
+	/v//f37+fn9/f37+/v//f37+fn9/f37+/v//f37+fn9/f37+/v//f37+fn9/f37+/v//f37+fn
+	9/f37+/v//f37+fn////////////////////////////////AAAA//////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////////////////////////////////////////AAAA//////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////AAAA////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////AAAA////////////////3s7O1s7O3tbW1s7O3s7O
+	1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s
+	7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O////1s7O3s7O1s7O3tbW1s7O3s7O1s7O
+	3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s
+	7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O////////////////////////////////AAAA
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////AAAA////////////3v//Y1p7OTlapZRaY1p7ADFaAAAAhFoAADl7AAAApVoA3s7O3t
+	bW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW
+	3s7O3tbW3s7O597e3v//ADl7AAAAAAAAAAAAOQAAva17Y1p7hJR7AABaAAAAAAAAhDEA3ta13s
+	7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O
+	3tbW3s7O597e////////////////////////////////AAAA//////////////////////////
+	//////////////////////AHO93r1zAEKU3r1zvb29QkKU/96U3v//AEKUlHMAvb29AEKU3pRC
+	3t7elJS9///e//////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////////////////////////////////////AAAA//////////////
+	//5+fn3tbW597e3tbW5+fn3tbW597e3tbW5+fn3tbW597e3tbW5+fn3tbW597e3tbW5+fn3tbW
+	597e3tbW5+fn3tbW597e3tbW5+fn3tbW597e3tbW5+fn3tbW597e3tbW5+fn3tbW////3tbW5+
+	fn3tbW597e3tbW5+fnvdbWxqWl3tbWrcbn3rWc597e3tbW5+fn3tbW597e3tbW5+fn3tbW597e
+	3tbW5+fn3tbW597e3tbW5+fn3tbW597e3tbW5+fn3tbW597e3tbW5+fn3tbW//////////////
+	//////////////////AAAA////////////////////////////////////3qXe/96U////c3O9
+	3v+9AEKU3pRC////AHO9/71z3v//AEKUlHMAQkKUAEJCvb1zlJSUcwBz//+9//////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////AAAA////////////////9/f3//////f3////9/f3////
+	//f3////9/f3//////f3////9/f3//////f3////9/f3//////f3////9/f3//////f3////9/
+	f3//////f3////9/f3//////f3////9/f3////////////9/f3//////f3////9/f3//////f3
+	////9/f3//////f3////9/f3//////f3////9/f3//////f3////9/f3//////f3////9/f3//
+	////f3////9/f3//////f3////9/f3////////////////////////////////////AAAA////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////AAAA////////////7+/vhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
+	SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE
+	hISEhISElJSU9/f3hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
+	SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE
+	hISElJSU////////////////////////////////AAAA//////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////////////////////////////////AAAA////////////9/f35+
+	fG1sbn///W1tb////Wxtb/rcbGlISE1sbG///W5////+fnxuf/hISUhISEhISEhISEhISEhISE
+	hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISElJSU9/f3/+fG5////+
+	fn5+f/5//nhJTGhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE
+	hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISElJSU//////////////////
+	//////////////AAAA////////////////////////////////vf///729////////////////
+	////////////////3t7////e//////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////AAAA////////////9/f3paWlnJyctaWltb29paWlnJycpaWl
+	paWlpaWlnJycpaWlpaWlpaWlnJycpaWlpaWlpaWlnJycpaWlpaWlpaWlnJycpaWlpaWlpaWlnJ
+	ycpaWlpaWlpaWlnJycpaWlpaWlpaWlpaWl9/f3paWlpaWlnJycpaWlpaWlpaWlnJycpaWlpaWl
+	paWlnJycpaWlpaWlpaWlnJycpaWlpaWlpaWlnJycpaWlpaWlpaWlnJycpaWlpaWlpaWlnJycpa
+	WlpaWlpaWlnJycpaWlpaWlpaWlpaWl////////////////////////////////AAAA////////
+	////3v//3r293v//vb29AEKU3pRCvd7eQkKU3t6Uc0KUlJRz3v/eAEKUQgAA/96UlJS93v/eAE
+	KUvZRCQkKU3t6UAEKUvZRCQkKU3t6Uvb29vb29AEKUvZRCQkKU3t6Uvb29vb29c0KUvd6UQkKU
+	/96UQnO93t6UAEKU3r1zvb29QkKU/96U//////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	AAAA////////////7+/v5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
+	fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn
+	5+fn7+/v7+/v5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
+	fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn
+	7+/v////////////////////////////////AAAA////3qXe/96U3v//AEKUvZRCc0KUAHNzvb
+	1z3pSUAHO9/71zAHO9cwAA3v+9lL29AABzvb1zvb29/729AHO93pRCAHO93r1zAEKU/71zAHO9
+	3r1zAEKU/71zAHO93pRCAHO93r1zAEKU/71zAHO9vXMAAHO93r1zQkKU3t6UAEKU3r1zc0KUAH
+	Nz/71z////////////////////////////////////////////////////////////////////
+	////////////////////////////////////////////////AAAA//////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////AAAA////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////AAAA////////////9/f33s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW
+	3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s
+	7O3tbW3s7O3tbW3s7O3tbW3s7O7+fn9+/v3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O
+	3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW797e9/f33s7O3tbW3s7O3tbW3s7O3tbW3s7O3t
+	bW3s7O3tbW3s7O3tbW3s7O7+fn////////////////////////////////AAAA////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////AAAA
+	////////////7+/v3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s
+	7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW
+	597e9+/v1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s
+	7O3tbW1s7O7+fn7+/v3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW597e
+	////////////////////////////////AAAA//////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////////////////////////AAAA////////////1vf3OTF7OTk5pZ
+	RaOTl7OTEx3rV7OVqUADk5hFoAOTl7pXsx3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O
+	3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O7+/v1u/vADl7hFoAYzl7AFpaOQ
+	AA3q173tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW797e9/f33s7O3tbW
+	3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O7+/v//////////////////////////
+	//////AAAA////////////////////////////////////////////////vd7eAEKUvZRC3r29
+	////AHO93r1zAEKU3r1zvb29QkKU/96U//////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////AAAA////////////////////////vb29////////////////////////
+	vf///729//////////////////////////////////////////////////////////////////
+	//////////////////////////////////3v//3r29////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////AAAA////////////////
+	////////////////////////////vf//lEJzAHOU3r1zc0KU//+9c3O93v+9AEKU3pRC////AH
+	O9/71z////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////AAAA////
+	////////////7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+
+	/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v//f3
+	////9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+
+	/v9+/v9/f3////7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v//f3////
+	////////////////////////////AAAA//////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////////////////////AAAA////////////9/f39+/v7+fn9+/v7+
+	/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn
+	9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v9+/v////7+/v9+/v7+fn9+/v7+/v9+
+	/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn//f39/f39+/v7+fn9+/v
+	7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v9+/v//////////////////////////////
+	//AAAA////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////3t7////e////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////AAAA////////////3v//AEKMQgAAra1rQkKMQkJC986MQmutAEJCjGsAQkKM
+	rYxC9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+
+	/v9+/v7+/v9+/v7+/v//f33v//AEKMa0IAAEJrAAAAQgAA786M9+/v7+/v9+/v7+/v9+/v7+/v
+	9+/v7+/v9+/v7+/v9+/v7+/v9+/v9/f3////7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+
+	/v7+/v9+/v7+/v//f3////////////////////////////////AAAA////////////////////
+	////////////////////////vf//AABz3pRCAHO9/71zvb3e///e////vb3e3v/eAEKU/71zvb
+	3e///eQpTe/71zQpTe/71z////3v//AEKUAAAA3r1zvb29QkKU3t6Uvb29vb29AEKUvZRCAEKU
+	3r1z3r293v//AEKUvZRCAEKU/71zlJS9///ec3O9vd6UQkKU/96Uc3O9c3Nz//+9c3O9c3Nz3t
+	6Uc5S9vb2U3r29////lJS9vd69vb29lL293r29AEKU3pRCvd7elL29AABC/96UAAAA////////
+	////9/f39+/v7+/vta2t7+fn9+/v7+/v9+/v7+fn9+/vre/v962t7+fn9+/v7+/v9+/v7+fn9+
+	/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v9/f3////
+	7+fn1u/vzq2t9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+
+	/v//f39/f39+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v9/f3////////
+	////////////////////////AAAA////////////////////////////////////3qXe/96U//
+	//QpTe/71zc3O9//+9AHO93r1zlHOUAHOl3r1zAEKU3pRCAHO93r1zAEKUvZRCAEKU3pRC////
+	3v//AEKUAAAA3r1z3r29AHO93r1zAEKU/71zAHO9vZRCAEKU3r1zc0KU3v+9AEKUvZRCAEKUvb
+	1zvb293r29lN7evXNCAHO93r1zvd7elJSU3r29vd7eQpSUc3NCQgBzAEJC/71zvf//AABzvZRC
+	AEKUAAAA/71zAHO9c3MAvZSUAEKUAAAA/71zAAAA//////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////////////////////////////////////////////////////AA
+	AA////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////AAAA////////////7+/v3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O
+	1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s
+	7O3s7O1s7O3tbW597e9+/v1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O
+	3tbW1s7O3s7O1s7O3tbW1s7O7+fn7+/v3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s
+	7O1s7O3tbW597e////////////////////////////////AAAA////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////AAAA////////////
+	9/f33s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3t
+	bW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O7+/v9+/v3tbW
+	3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW79
+	7e9/f33s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O7+/v////////////
+	////////////////////AAAA//////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////////////AAAA////////////zu/vOTF7WjEx3tac1s7O3s7O1s
+	7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O
+	3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O597e1vf3ADF7YzEAOTFaYzk5Wlpa3s6U1s7O3t
+	bW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O7+fn7+/v3s7O1s7O3tbW1s7O3s7O
+	1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O597e////////////////////////////////AAAA//
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////AAAA////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////3v//3r29////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////AAAA////////////3v//AEKUvZRCAEKU
+	3r1z3r29lJS93v/eAEKU3pRC3t7e////AHO93r1zAEKU3r1zvb29QkKU/96U3v//AEKUAAAA3r
+	1zvb29QkKU3t6Uvb29vb29AEKUvZRCAEKU3r1z3r293v//lL29vZSUQkKU/96UQnO9c3NCAEJz
+	vZRCvb29AEKU/71zlJS9vd69AEKUvZRCvb293r293v//AEKUAAAA3pRCvd7eQkKU3r1zvf//AA
+	Bz3pRCAHO9vXNC///e////vb3e///eAHO9/71zAHO9AEJCAAAAvXMAAAAA////////////9/f3
+	9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+
+	/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v9+/v////7+/v9+/v
+	7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn//f39/
+	f39+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v9+/v////////////////
+	////////////////AAAA////////////3v//AEKU3r1zAEKU3r1zAEKUcwAA//+9AHO9vb1zlE
+	Jz///ec3O93v+9AEKU3pRC////AHO9/71z3v//AEKUAAAA3r1z3r29AHO93r1zAEKU/71zAHO9
+	vZRCAEKU3r1zc0KU3v+9AEKU3pRCAHO93r1zAEKUcwAAAHNz3r1zQkKUAEJCvb1zAABz3pRCAH
+	O93r1zAEKU/71z3v//AEKUAAAAvb1z3pSUQnO9/96U////QpTe/71zc3O9AHNz3r1zlHOUAHOl
+	/71zc3O9//+9AHO9AAAAAAAA/96UAAAA////////////////7+/v9+/v7+/v9+/v7+/v9+/v7+
+	/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v
+	9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v//f3////9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+
+	/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v7+/v9+/v9/f3////7+/v9+/v7+/v9+/v7+/v9+/v
+	7+/v9+/v7+/v9+/v7+/v9+/v7+/v//f3////////////////////////////////AAAA//////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//AAAA////////////1vf3AEKMQgAA986M7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v
+	7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+
+	fn9+/v9/f33v//ADmMa0IAa0JrQmtrQjk5986M7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v
+	9+/v7+fn9+/v7+/v//f39/f39+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+/v7+/v9+/v7+fn9+
+	/v9/f3////////////////////////////////AAAA////////////////////////////////
+	vf///729//////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////3t7////e//////////////////////////////////////////////////////
+	//////////////////////////////////////////////////AAAA////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////3v//3r29
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////AAAA////////////3v//3r293v//vb29AEKU3pRCvd7eQkKU3t6Uc0KUlJRz3v
+	/eAEKUvZRCQkKU3t6U3r293t7eQnO9QkJC3t6U3r29vd7eQkKU/96UQnO93t6UAEKUAAAA3r1z
+	vb29QkKU3t6Uvb29vb29AEKUvZRCAEKU3r1z3r293v//AEKUvZRCAEKU/71zlJS9///ec3O9vd
+	6UQkKU/96Uc3O9c3Nz//+9c5S9AEJz3pRC////AHO93r1zAEKU3r1zvb29QkKU/96U3v//AEKU
+	/71zQnO93t6UAEKU/71z////AAAA////////////7+/v3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s
+	7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O
+	3s7O1s7O3tbW1s7O3s7O1s7O3tbW597e9+/v1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3t
+	bW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O7+fn7+/v3tbW1s7O3s7O1s7O3tbW1s7O3s7O
+	1s7O3tbW1s7O3s7O1s7O3tbW597e////////////////////////////////AAAA////3qXe/9
+	6U3v//AEKUvZRCc0KUAHNzvb1z3pSUAHO9/71zAHO9cwAA//+9AHO93pRCAHO93r1zlL29vZSU
+	vd7eAABz3r1zAEKU3pRCAHO93r1zQkKU3t6UAEKUAAAA3r1z3r29AHO93r1zAEKU/71zAHO9vZ
+	RCAEKU3r1zc0KU3v+9AEKUvZRCAEKUvb1zvb293r29lN7evXNCAHO93r1zvd7elJSUvb29cwBz
+	AHNz/71z////c3O93v+9AEKU3pRC////AHO9/71z3v//AEKU3r1zQkKU3t6UAEKU/71z////AA
+	AA////////////9/f33s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW
+	3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s
+	7O7+/v9+/v3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O
+	3tbW3s7O3tbW797e9/f33s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O7+
+	/v////////////////////////////////AAAA////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////AAAA////////////zu/vOVp7AAAx
+	AAAAWloAAABaAAAApVoAtc7OOTF7ADExAAAAWloAAABaOQAAOTk5tZRa3s7O1s7O3tbW1s7O3s
+	7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O597e9/f31s7O3s7O1s7O3tbW
+	1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O7+fn7+/v3s7O1s
+	7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O1s7O3tbW1s7O3s7O597e////////////////////////
+	////////MTExAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAMTEx////////////9/f33s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s
+	7O3tbW3s7O3tbW3s7O3tbWvc7OvZyc3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O
+	3tbW3s7O3tbW3s7O3tbW3s7O7+fn9+/v3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3t
+	bW3s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW797e9/f33s7O3tbW3s7O3tbW3s7O3tbW3s7O3tbW
+	3s7O3tbW3s7O3tbW3s7O7+fn//////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////1tbWhISEhISEhISE
+	hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhI
+	SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEtbW11tbWhISEhISEhISEhISEhISE
+	hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEtbW11tbWhISEhISEhI
+	SEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEtbW1////////////////////////////
+	////////////////////////3sb/zjEA/8Zz//////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////////////1s7O/+fGrcbnra2txq2t///W1uf/1sbW///W//////
+	//xuf/hISUhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE
+	hISEhISEhISEhISEhISEtbW11tbW5+fG5+fn1sbn///W////rdb/hISEhISEhISEhISEhISEhI
+	SEhISEhISEhISEhISEhISEhISEhISEtbW11s7O1tbGxtbWhISUhISEhISEhISEhISEhISEhISE
+	hISEhISEhISEhISEtbW1////////////////////////zoS9/8Zz////1oS9/96U1qXezjEA3j
+	EA1qWU/8Zz1qXezjEA51oA1qW9zjEA96VC1qXe1jEA/96UzoS9/8Zz////zoS9zjEAzjEA51oA
+	1oSU996U1lqU/96U//////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////1tbWhISElISEra2tlK2thISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE
+	hISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEtbW11t
+	bWhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISE
+	hISEtbW11tbWhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEtbW1//////
+	//////////////////zoS91jEA/96U1oS9996U1lqU/96UzoS91lpC98ZzzlqUzjEA1jEA1lpC
+	/96U////1qXe/8Zz////zoS91jEA/96UzoS9zjEA78Zz51pz1oSU996U1lqU/96U//////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////zoS998Zz
+	3lqUzoRz1jEAzlpCzjEA1jEAzlpC/8ZzzoS9zjEA1jEAzlpCzjEA/8ZzzoS93jEA//+9zoS998
+	Zz3lqU1oRz1oRzzjEA51oAzoSUzjEA1jEA/96U////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////////////////////zoS9zjEA3jEA//+9//////////////////
+	//////////////////////////////1qXe/8Zz////zoS9zjEA3jEA1oRz/96U////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////1qXe/8Zz////////////////////
+	////////////////////////////1oS9/96U//////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////1oS9/96U////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	zoS9zjEA51oA///e//////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////7///zjFzzjEA76VCzlqU98ZzzlqU74QA1oS9996U1lqU796U3jFzzoRzzjEA51oA1oSU
+	1oRzzjEA51oA1oSU996U1lqU796U3jFz1qWUzjEA51oA1oSU996U1lqU1oRzzjEAzjEAzjEA51
+	oA1qW91jEA1oRz/8Zz1qXezjEA3jEA1oRz996U1lqU/96U////zoS9/8Zz////zoS9zjEAzjEA
+	51oA1oSU996U1lqU1lpC996U1lqU1oRz/8Zz1oS9996U1lqUzlpCzjEA1jEA/96U//////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////3sb/74QA////
+	////1qXe96VC1oS9996U1lqU796U3jFz1oRz/96UzoS9zjEAzjEAzjEA3jEA1oRz996U1lqU79
+	6U1jFzzlpCzjEA3jEA1oRz996U1lqU1oRz98ZzzlqU78Zz51pz1qW9/8Zz1qXe98Zz1lqU/96U
+	zoS91jEA996U1lqU/96U////zoS91jEA/96UzoS9zjEA78Zz51pz1oSU996U1lqU1lpC996U1l
+	qU1oRz/8Zz1oS9996UzlqU1jEA996U1lqU/96U////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////////////1qXezjEA/8Zz////////1qXe96VCzoS9zjEAzjEAzj
+	EA3jEAzoRzzjEA1jEA1lpCzlpCzjEA3jEAzoRzzjEAzjEAzjEA3jEAzoRzzjEA3jEAzoRzzjEA
+	1jEAzlpC3jEA1qWUzjEA51oAzoSU3jEAzoRz98ZzzlqUzjEA1jEAzlpCzjEA1jEA/96U////zo
+	S998Zz3lqU1oRz1oRzzjEA51oAzoSUzjEA1jEAzlpCzjEA1jEAzlpC/8ZzzoS9zjEAzjEAzjEA
+	zjEA1jEA/96U//////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////zoS9zjEA74QA////////zoS996VC////////////////////////////////1oS9/96U
+	////////////////////////////////////////////////////1qXe/8Zz////////////1q
+	Xe/8Zz////////////////////////////////////////zoS9zjEA3jEA1oRz/96U////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	////////////////////////////////////////1oS9/96U//////////////////////////
+	//////////////////////////////////////////////////////1qXe/8Zz////////////
+	////////////////////////////////1oS9/96U////////////////////////////////1q
+	Xe/8Zz////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v8AAAUBAgAAAAAAAAAAAAAAAAAAAAAAAgAAAALVzdWc
+	LhsQk5cIACss+a5EAAAABdXN1ZwuGxCTlwgAKyz5rkwEAAAIBAAAEQAAAAEAAACQAAAAAwAAAJ
+	gAAAAOAAAAuAAAAA8AAADEAAAABAAAANgAAAAGAAAA4AAAAAcAAADoAAAACAAAAPAAAAAJAAAA
+	+AAAAAoAAAAAAQAAFwAAAAgBAAALAAAAEAEAABAAAAAYAQAAEwAAACABAAAWAAAAKAEAAA0AAA
+	AwAQAADAAAAI0DAAACAAAA5AQAAB4AAAAYAAAAQTQgUGFwZXIgKDIxMHgyOTcgbW0pAAAAHgAA
+	AAQAAAAAAAAAHgAAAAwAAABOb2tpYSBPeWoAAAADAAAAyQUPAAMAAACnAQAAAwAAAAoAAAADAA
+	AACgAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAMAAsAAAAAAAAACwAAAAAAAAALAAAAAAAAAAsA
+	AAAAAAAAHhAAABQAAAAQAAAATm9raWEgU2FucyBXaWRlAAYAAABBcmlhbAAMAAAATm9raWEgTG
+	FyZ2UACwAAAE5va2lhIFNhbnMABwAAAFNpbVN1bgAIAAAAVmVyZGFuYQAGAAAAQkxBTksACAAA
+	ADFfQkxBTksAEQAAAHRoaW5rLWNlbGwgU2xpZGUAIQAAAE1pY3Jvc29mdCBPZmZpY2UgRXhjZW
+	wgV29ya3NoZWV0ACkAAAAzLiBJbXBsZW1lbnRhdGlvbiBQbGFubmluZyBQcm9qZWN0IFBsYW4g
+	ADQAAAAzLjEgSW1wbGVtZW50YXRpb24gUGxhbm5pbmcgSGlnaC1sZXZlbCBBcmNoaXRlY3R1cm
+	UALQAAADMuMiBJbXBsZW1lbnRhdGlvbiBQbGFubmluZyBLZXkgZGVwZW5kZW5jaWVzADcAAAAz
+	LjMgSW1wbGVtZW50YXRpb24gUGxhbm5pbmc6IEVwaWMgZWZmb3J0IGluIG1hbiBtb250aHMACA
+	AAAFNsaWRlIDUACAAAAFNsaWRlIDYAMgAAADMuNiBJbXBsZW1lbnRhdGlvbiBQbGFubmluZzog
+	UmVzb3VyY2UgJiBjb3N0IHBsYW4AKwAAADMuNyBJbXBsZW1lbnRhdGlvbiBQbGFubmluZyBSaX
+	NrcyBBbmFseXNpcwAoAAAAMy44IEltcGxlbWVudGF0aW9uIFBsYW5uaW5nIFRlY2hub2xvZ3kg
+	ADMAAAAzLjkgSW1wbGVtZW50YXRpb24gUGxhbm5pbmc6IEVwaWMgcGxhbm5pbmcgc3VtbWFyeQ
+	AMEAAACAAAAB4AAAALAAAARm9udHMgVXNlZAADAAAABgAAAB4AAAAGAAAAVGhlbWUAAwAAAAIA
+	AAAeAAAAFQAAAEVtYmVkZGVkIE9MRSBTZXJ2ZXJzAAMAAAACAAAAHgAAAA0AAABTbGlkZSBUaX
+	RsZXMAAwAAAAoAAAAEAgAAAwAAAAAAAAAgAAAAAQAAADgAAAACAAAAQAAAAAEAAAACAAAADAAA
+	AF9QSURfSExJTktTAAIAAADkBAAAQQAAALwBAAAMAAAAAwAAAAcAAAADAAAABgAAAAMAAAAAAA
+	AAAwAAAAcAAAAfAAAAUwAAAGgAdAB0AHAAOgAvAC8AdwBpAGsAaQBzAC4AaQBuAC4AbgBvAGsA
+	aQBhAC4AYwBvAG0ALwBTAEQARABpAGYAZgBlAHIAZQBuAHQAaQBhAHQAaQBuAGcAUwBXAC8ARA
+	BTAFcAXwBYADAAXwBNAGkAbABlAHMAdABvAG4AZQBfAEMAcgBpAHQAZQByAGkAYQBfAEQAcgBh
+	AGYAdABfAHYAMABfADIAAAAAAB8AAAABAAAAAAAAAAMAAAAHAAAAAwAAAAYAAAADAAAAAAAAAA
+	MAAAAHAAAAHwAAAFMAAABoAHQAdABwADoALwAvAHcAaQBrAGkAcwAuAGkAbgAuAG4AbwBrAGkA
+	YQAuAGMAbwBtAC8AUwBEAEQAaQBmAGYAZQByAGUAbgB0AGkAYQB0AGkAbgBnAFMAVwAvAEQAUw
+	BXAF8AWAAwAF8ATQBpAGwAZQBzAHQAbwBuAGUAXwBDAHIAaQB0AGUAcgBpAGEAXwBEAHIAYQBm
+	AHQAXwB2ADAAXwAyAAAAAAAfAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAA9g8bAAAAFAAAAF/AkeN3jw4AAwD0AwMAYDJkbHUIAAAAZABsAHUAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	ABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAA
+	AA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAA
+	AAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoA
+	AAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOA
+	AAADkAAAA6AAAAOwAAAP7///89AAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEUAAABG
+	AAAARwAAAEgAAABJAAAASgAAAEsAAABMAAAATQAAAE4AAABPAAAAUAAAAFEAAABSAAAAUwAAAF
+	QAAABVAAAAVgAAAFcAAABYAAAAWQAAAFoAAABbAAAAXAAAAF0AAABeAAAAXwAAAGAAAABhAAAA
+	YgAAAGMAAABkAAAAZQAAAGYAAABnAAAAaAAAAGkAAABqAAAAawAAAGwAAABtAAAAbgAAAG8AAA
+	BwAAAAcQAAAHIAAABzAAAAdAAAAHUAAAB2AAAAdwAAAHgAAAB5AAAAegAAAHsAAAB8AAAAfQAA
+	AH4AAAB/AAAAgAAAAIEAAACCAAAAgwAAAIQAAACFAAAAhgAAAIcAAACIAAAAiQAAAIoAAACLAA
+	AAjAAAAI0AAACOAAAAjwAAAJAAAACRAAAAkgAAAJMAAACUAAAAlQAAAJYAAACXAAAAmAAAAJkA
+	AACaAAAAmwAAAJwAAACdAAAAngAAAJ8AAACgAAAAoQAAAKIAAACjAAAApAAAAKUAAACmAAAApw
+	AAAKgAAACpAAAAqgAAAKsAAACsAAAArQAAAK4AAACvAAAAsAAAALEAAACyAAAAswAAALQAAAC1
+	AAAAtgAAALcAAAC4AAAAuQAAALoAAAC7AAAAvAAAAL0AAAC+AAAAvwAAAMAAAADBAAAAwgAAAM
+	MAAADEAAAAxQAAAMYAAADHAAAAyAAAAMkAAADKAAAAywAAAMwAAADNAAAAzgAAAM8AAADQAAAA
+	0QAAANIAAADTAAAA1AAAANUAAADWAAAA1wAAANgAAADZAAAA2gAAANsAAADcAAAA3QAAAN4AAA
+	DfAAAA4AAAAOEAAADiAAAA4wAAAOQAAADlAAAA5gAAAOcAAADoAAAA6QAAAOoAAADrAAAA7AAA
+	AO0AAADuAAAA7wAAAPAAAADxAAAA8gAAAPMAAAD0AAAA9QAAAPYAAAD3AAAA+AAAAPkAAAD6AA
+	AA+wAAAPwAAAD9AAAA/gAAAP8AAAAAAQAAAQEAAAIBAAADAQAABAEAAAUBAAAGAQAABwEAAAgB
+	AAAJAQAACgEAAAsBAAAMAQAADQEAAA4BAAAPAQAAEAEAABEBAAASAQAAEwEAABQBAAAVAQAAFg
+	EAABcBAAAYAQAAGQEAABoBAAAbAQAAHAEAAB0BAAAeAQAAHwEAACABAAAhAQAAIgEAACMBAAAk
+	AQAAJQEAACYBAAAnAQAAKAEAACkBAAAqAQAAKwEAACwBAAAtAQAALgEAAC8BAAAwAQAAMQEAAD
+	IBAAAzAQAANAEAADUBAAA2AQAANwEAADgBAAA5AQAAOgEAADsBAAA8AQAAPQEAAD4BAAA/AQAA
+	QAEAAEEBAABCAQAAQwEAAEQBAABFAQAARgEAAEcBAABIAQAASQEAAEoBAABLAQAATAEAAE0BAA
+	BOAQAATwEAAFABAABRAQAAUgEAAFMBAABUAQAAVQEAAFYBAABXAQAAWAEAAFkBAABaAQAAWwEA
+	AFwBAABdAQAAXgEAAF8BAABgAQAAYQEAAGIBAABjAQAAZAEAAGUBAABmAQAAZwEAAGgBAABpAQ
+	AAagEAAGsBAABsAQAAbQEAAG4BAABvAQAAcAEAAHEBAAByAQAAcwEAAHQBAAB1AQAAdgEAAHcB
+	AAB4AQAAeQEAAHoBAAB7AQAAfAEAAH0BAAB+AQAAfwEAAIABAACBAQAAggEAAIMBAACEAQAAhQ
+	EAAIYBAACHAQAAiAEAAIkBAACKAQAAiwEAAIwBAACNAQAAjgEAAI8BAACQAQAAkQEAAJIBAACT
+	AQAAlAEAAJUBAACWAQAAlwEAAJgBAACZAQAAmgEAAJsBAACcAQAAnQEAAJ4BAACfAQAAoAEAAK
+	EBAACiAQAAowEAAKQBAAClAQAApgEAAKcBAACoAQAAqQEAAKoBAACrAQAArAEAAK0BAACuAQAA
+	rwEAALABAACxAQAAsgEAALMBAAC0AQAAtQEAALYBAAC3AQAAuAEAALkBAAC6AQAAuwEAALwBAA
+	C9AQAAvgEAAL8BAADAAQAAwQEAAMIBAADDAQAAxAEAAMUBAADGAQAAxwEAAMgBAADJAQAAygEA
+	AMsBAADMAQAAzQEAAM4BAADPAQAA0AEAANEBAADSAQAA0wEAANQBAADVAQAA1gEAANcBAADYAQ
+	AA2QEAANoBAADbAQAA3AEAAN0BAADeAQAA3wEAAOABAADhAQAA4gEAAOMBAADkAQAA5QEAAOYB
+	AADnAQAA6AEAAOkBAADqAQAA6wEAAOwBAADtAQAA7gEAAO8BAADwAQAA8QEAAPIBAADzAQAA9A
+	EAAPUBAAD2AQAA9wEAAPgBAAD5AQAA+gEAAPsBAAD8AQAA/QEAAP4BAAD/AQAAAAIAAAECAAAC
+	AgAAAwIAAAQCAAAFAgAABgIAAAcCAAAIAgAACQIAAAoCAAALAgAADAIAAA0CAAAOAgAADwIAAB
+	ACAAARAgAAEgIAABMCAAAUAgAAFQIAABYCAAAXAgAAGAIAABkCAAAaAgAAGwIAABwCAAAdAgAA
+	HgIAAB8CAAAgAgAAIQIAACICAAAjAgAAJAIAACUCAAAmAgAAJwIAACgCAAApAgAAKgIAACsCAA
+	AsAgAALQIAAC4CAAAvAgAAMAIAADECAAAyAgAAMwIAADQCAAA1AgAANgIAADcCAAA4AgAAOQIA
+	ADoCAAA7AgAAPAIAAD0CAAA+AgAAPwIAAEACAABBAgAAQgIAAEMCAABEAgAARQIAAEYCAABHAg
+	AASAIAAEkCAABKAgAASwIAAEwCAABNAgAATgIAAE8CAABQAgAAUQIAAFICAABTAgAAVAIAAFUC
+	AABWAgAAVwIAAFgCAABZAgAAWgIAAFsCAABcAgAAXQIAAF4CAABfAgAAYAIAAGECAABiAgAAYw
+	IAAGQCAABlAgAAZgIAAGcCAABoAgAAaQIAAGoCAABrAgAAbAIAAG0CAABuAgAAbwIAAHACAABx
+	AgAAcgIAAHMCAAB0AgAAdQIAAHYCAAB3AgAAeAIAAHkCAAB6AgAAewIAAHwCAAB9AgAAfgIAAH
+	8CAACAAgAAgQIAAIICAACDAgAAhAIAAIUCAACGAgAAhwIAAIgCAACJAgAAigIAAIsCAACMAgAA
+	jQIAAI4CAACPAgAAkAIAAJECAACSAgAAkwIAAJQCAACVAgAAlgIAAJcCAACYAgAAmQIAAJoCAA
+	CbAgAAnAIAAJ0CAACeAgAAnwIAAKACAAChAgAAogIAAKMCAACkAgAApQIAAKYCAACnAgAAqAIA
+	AKkCAACqAgAAqwIAAKwCAACtAgAArgIAAK8CAACwAgAAsQIAALICAACzAgAAtAIAALUCAAC2Ag
+	AAtwIAALgCAAC5AgAAugIAALsCAAC8AgAAvQIAAL4CAAC/AgAAwAIAAMECAADCAgAAwwIAAMQC
+	AADFAgAAxgIAAMcCAADIAgAAyQIAAMoCAADLAgAAzAIAAM0CAADOAgAAzwIAANACAADRAgAA0g
+	IAANMCAADUAgAA1QIAANYCAADXAgAA2AIAANkCAADaAgAA2wIAANwCAADdAgAA3gIAAN8CAADg
+	AgAA4QIAAOICAADjAgAA5AIAAOUCAADmAgAA5wIAAOgCAADpAgAA6gIAAOsCAADsAgAA7QIAAO
+	4CAADvAgAA8AIAAPECAADyAgAA8wIAAPQCAAD1AgAA9gIAAPcCAAD4AgAA+QIAAPoCAAD7AgAA
+	/AIAAP0CAAD+AgAA/wIAAAADAAABAwAAAgMAAAMDAAAEAwAABQMAAAYDAAAHAwAACAMAAAkDAA
+	AKAwAACwMAAAwDAAANAwAADgMAAA8DAAAQAwAAEQMAABIDAAATAwAAFAMAABUDAAAWAwAAFwMA
+	ABgDAAAZAwAAGgMAABsDAAAcAwAAHQMAAB4DAAAfAwAAIAMAACEDAAAiAwAAIwMAACQDAAAlAw
+	AAJgMAACcDAAAoAwAAKQMAACoDAAArAwAALAMAAC0DAAAuAwAALwMAADADAAAxAwAAMgMAADMD
+	AAA0AwAANQMAADYDAAA3AwAAOAMAADkDAAA6AwAAOwMAADwDAAA9AwAAPgMAAD8DAABAAwAAQQ
+	MAAEIDAABDAwAARAMAAEUDAABGAwAARwMAAEgDAABJAwAASgMAAEsDAABMAwAATQMAAE4DAABP
+	AwAAUAMAAFEDAABSAwAAUwMAAFQDAABVAwAAVgMAAFcDAABYAwAAWQMAAFoDAABbAwAAXAMAAF
+	0DAABeAwAAXwMAAGADAABhAwAAYgMAAGMDAABkAwAAZQMAAGYDAABnAwAAaAMAAGkDAABqAwAA
+	awMAAGwDAABtAwAAbgMAAG8DAABwAwAAcQMAAHIDAABzAwAAdAMAAHUDAAB2AwAAdwMAAHgDAA
+	B5AwAAegMAAHsDAAB8AwAAfQMAAH4DAAB/AwAAgAMAAIEDAACCAwAAgwMAAIQDAACFAwAAhgMA
+	AIcDAACIAwAAiQMAAIoDAACLAwAAjAMAAI0DAACOAwAAjwMAAJADAACRAwAAkgMAAJMDAACUAw
+	AAlQMAAJYDAACXAwAAmAMAAJkDAACaAwAAmwMAAJwDAACdAwAAngMAAJ8DAACgAwAAoQMAAKID
+	AACjAwAApAMAAKUDAACmAwAApwMAAKgDAACpAwAAqgMAAKsDAACsAwAArQMAAK4DAACvAwAAsA
+	MAALEDAACyAwAAswMAALQDAAC1AwAAtgMAALcDAAC4AwAAuQMAALoDAAC7AwAAvAMAAL0DAAC+
+	AwAAvwMAAMADAADBAwAAwgMAAMMDAADEAwAAxQMAAMYDAADHAwAAyAMAAMkDAADKAwAAywMAAM
+	wDAADNAwAAzgMAAM8DAADQAwAA0QMAANIDAADTAwAA1AMAANUDAADWAwAA1wMAANgDAADZAwAA
+	2gMAANsDAADcAwAA3QMAAN4DAADfAwAA4AMAAOEDAADiAwAA4wMAAOQDAADlAwAA5gMAAOcDAA
+	DoAwAA6QMAAOoDAADrAwAA7AMAAO0DAADuAwAA7wMAAPADAADxAwAA8gMAAPMDAAD0AwAA9QMA
+	APYDAAD3AwAA+AMAAPkDAAD6AwAA+wMAAPwDAAD9AwAA/gMAAP8DAAAABAAAAQQAAAIEAAADBA
+	AABAQAAAUEAAAGBAAABwQAAAgEAAAJBAAACgQAAAsEAAAMBAAADQQAAA4EAAAPBAAAEAQAABEE
+	AAASBAAAEwQAABQEAAAVBAAAFgQAABcEAAAYBAAAGQQAABoEAAAbBAAAHAQAAB0EAAAeBAAAHw
+	QAACAEAAAhBAAAIgQAACMEAAAkBAAAJQQAACYEAAAnBAAAKAQAACkEAAAqBAAAKwQAACwEAAAt
+	BAAALgQAAC8EAAAwBAAAMQQAADIEAAAzBAAANAQAADUEAAA2BAAANwQAADgEAAA5BAAAOgQAAD
+	sEAAA8BAAAPQQAAD4EAAA/BAAAQAQAAEEEAABCBAAAQwQAAEQEAABFBAAARgQAAEcEAABIBAAA
+	SQQAAEoEAABLBAAATAQAAE0EAABOBAAATwQAAFAEAABRBAAAUgQAAFMEAABUBAAAVQQAAFYEAA
+	BXBAAAWAQAAFkEAABaBAAAWwQAAFwEAABdBAAAXgQAAF8EAABgBAAAYQQAAGIEAABjBAAAZAQA
+	AGUEAABmBAAAZwQAAGgEAABpBAAAagQAAGsEAABsBAAAbQQAAG4EAABvBAAAcAQAAHEEAAByBA
+	AAcwQAAHQEAAB1BAAAdgQAAHcEAAB4BAAAeQQAAHoEAAB7BAAAfAQAAH0EAAB+BAAAfwQAAIAE
+	AACBBAAAggQAAIMEAACEBAAAhQQAAIYEAACHBAAAiAQAAIkEAACKBAAAiwQAAIwEAACNBAAAjg
+	QAAI8EAACQBAAAkQQAAJIEAACTBAAAlAQAAJUEAACWBAAAlwQAAJgEAACZBAAAmgQAAJsEAACc
+	BAAAnQQAAJ4EAACfBAAAoAQAAKEEAACiBAAAowQAAKQEAAClBAAApgQAAKcEAACoBAAAqQQAAK
+	oEAACrBAAArAQAAK0EAACuBAAArwQAALAEAACxBAAAsgQAALMEAAC0BAAAtQQAALYEAAC3BAAA
+	uAQAALkEAAC6BAAAuwQAALwEAAC9BAAAvgQAAL8EAADABAAAwQQAAMIEAADDBAAAxAQAAMUEAA
+	DGBAAAxwQAAMgEAADJBAAAygQAAMsEAADMBAAAzQQAAM4EAADPBAAA0AQAANEEAADSBAAA0wQA
+	ANQEAADVBAAA1gQAANcEAADYBAAA2QQAANoEAADbBAAA3AQAAN0EAADeBAAA3wQAAOAEAADhBA
+	AA4gQAAOMEAADkBAAA5QQAAOYEAADnBAAA6AQAAOkEAADqBAAA6wQAAOwEAADtBAAA7gQAAO8E
+	AADwBAAA8QQAAPIEAADzBAAA9AQAAPUEAAD2BAAA9wQAAPgEAAD5BAAA+gQAAPsEAAD8BAAA/Q
+	QAAP4EAAD/BAAAAAUAAAEFAAACBQAAAwUAAAQFAAAFBQAABgUAAAcFAAAIBQAACQUAAAoFAAAL
+	BQAADAUAAA0FAAAOBQAADwUAABAFAAARBQAAEgUAABMFAAAUBQAAFQUAABYFAAAXBQAAGAUAAB
+	kFAAAaBQAAGwUAABwFAAAdBQAAHgUAAB8FAAAgBQAAIQUAACIFAAAjBQAAJAUAACUFAAAmBQAA
+	JwUAACgFAAApBQAAKgUAACsFAAAsBQAALQUAAC4FAAAvBQAAMAUAADEFAAAyBQAAMwUAADQFAA
+	A1BQAANgUAADcFAAA4BQAAOQUAADoFAAA7BQAAPAUAAD0FAAA+BQAAPwUAAEAFAABBBQAAQgUA
+	AEMFAABEBQAARQUAAEYFAABHBQAASAUAAEkFAABKBQAASwUAAEwFAABNBQAATgUAAE8FAABQBQ
+	AAUQUAAFIFAABTBQAAVAUAAFUFAABWBQAAVwUAAFgFAABZBQAAWgUAAFsFAABcBQAAXQUAAF4F
+	AABfBQAAYAUAAGEFAABiBQAAYwUAAGQFAABlBQAAZgUAAGcFAABoBQAAaQUAAGoFAABrBQAAbA
+	UAAG0FAABuBQAAbwUAAHAFAABxBQAAcgUAAHMFAAB0BQAAdQUAAHYFAAB3BQAAeAUAAHkFAAB6
+	BQAAewUAAHwFAAB9BQAAfgUAAH8FAACABQAAgQUAAIIFAACDBQAAhAUAAIUFAACGBQAAhwUAAI
+	gFAACJBQAAigUAAIsFAACMBQAAjQUAAI4FAACPBQAAkAUAAJEFAACSBQAAkwUAAJQFAACVBQAA
+	lgUAAJcFAACYBQAAmQUAAJoFAACbBQAAnAUAAJ0FAACeBQAAnwUAAKAFAAChBQAAogUAAKMFAA
+	CkBQAApQUAAKYFAACnBQAAqAUAAKkFAACqBQAAqwUAAKwFAACtBQAArgUAAK8FAACwBQAAsQUA
+	ALIFAACzBQAAtAUAALUFAAC2BQAAtwUAALgFAAC5BQAAugUAALsFAAC8BQAAvQUAAL4FAAC/BQ
+	AAwAUAAMEFAADCBQAAwwUAAMQFAADFBQAAxgUAAMcFAADIBQAAyQUAAMoFAADLBQAAzAUAAM0F
+	AADOBQAAzwUAANAFAADRBQAA0gUAANMFAADUBQAA1QUAANYFAADXBQAA2AUAANkFAADaBQAA2w
+	UAANwFAADdBQAA3gUAAN8FAADgBQAA4QUAAOIFAADjBQAA5AUAAOUFAADmBQAA5wUAAOgFAADp
+	BQAA6gUAAOsFAADsBQAA7QUAAO4FAADvBQAA8AUAAPEFAADyBQAA8wUAAPQFAAD1BQAA9gUAAP
+	cFAAD4BQAA+QUAAPoFAAD7BQAA/AUAAP0FAAD+BQAA/wUAAAAGAAABBgAAAgYAAAMGAAAEBgAA
+	BQYAAAYGAAAHBgAACAYAAAkGAAAKBgAACwYAAAwGAAANBgAADgYAAA8GAAAQBgAAEQYAABIGAA
+	ATBgAAFAYAABUGAAAWBgAAFwYAABgGAAAZBgAAGgYAABsGAAAcBgAAHQYAAB4GAAAfBgAAIAYA
+	ACEGAAAiBgAAIwYAACQGAAAlBgAAJgYAACcGAAAoBgAAKQYAACoGAAArBgAALAYAAC0GAAAuBg
+	AALwYAADAGAAAxBgAAMgYAADMGAAA0BgAANQYAADYGAAA3BgAAOAYAADkGAAA6BgAAOwYAADwG
+	AAA9BgAAPgYAAD8GAABABgAAQQYAAEIGAABDBgAARAYAAEUGAABGBgAARwYAAEgGAABJBgAASg
+	YAAEsGAABMBgAATQYAAE4GAABPBgAAUAYAAFEGAABSBgAAUwYAAFQGAABVBgAAVgYAAFcGAABY
+	BgAAWQYAAFoGAABbBgAAXAYAAF0GAABeBgAAXwYAAGAGAABhBgAAYgYAAGMGAABkBgAAZQYAAG
+	YGAABnBgAAaAYAAGkGAABqBgAAawYAAGwGAABtBgAAbgYAAG8GAABwBgAAcQYAAHIGAABzBgAA
+	dAYAAHUGAAB2BgAAdwYAAHgGAAB5BgAAegYAAHsGAAB8BgAAfQYAAH4GAAB/BgAAgAYAAIEGAA
+	CCBgAAgwYAAIQGAACFBgAAhgYAAIcGAACIBgAAiQYAAIoGAACLBgAAjAYAAI0GAACOBgAAjwYA
+	AJAGAACRBgAAkgYAAJMGAACUBgAAlQYAAJYGAACXBgAAmAYAAJkGAACaBgAAmwYAAJwGAACdBg
+	AAngYAAJ8GAACgBgAAoQYAAKIGAACjBgAApAYAAKUGAACmBgAApwYAAKgGAACpBgAAqgYAAKsG
+	AACsBgAArQYAAK4GAACvBgAAsAYAALEGAACyBgAAswYAALQGAAC1BgAAtgYAALcGAAC4BgAAuQ
+	YAALoGAAC7BgAAvAYAAL0GAAC+BgAAvwYAAMAGAADBBgAAwgYAAMMGAADEBgAAxQYAAMYGAADH
+	BgAAyAYAAMkGAADKBgAAywYAAMwGAADNBgAAzgYAAM8GAADQBgAA0QYAANIGAADTBgAA1AYAAN
+	UGAADWBgAA1wYAANgGAADZBgAA2gYAANsGAADcBgAA3QYAAN4GAADfBgAA4AYAAOEGAADiBgAA
+	4wYAAOQGAADlBgAA5gYAAOcGAADoBgAA6QYAAOoGAADrBgAA7AYAAO0GAADuBgAA7wYAAPAGAA
+	DxBgAA8gYAAPMGAAD0BgAA9QYAAPYGAAD3BgAA+AYAAPkGAAD6BgAA+wYAAPwGAAD9BgAA/gYA
+	AP8GAAAABwAAAQcAAAIHAAADBwAABAcAAAUHAAAGBwAABwcAAAgHAAAJBwAACgcAAAsHAAAMBw
+	AADQcAAA4HAAAPBwAAEAcAABEHAAASBwAAEwcAABQHAAAVBwAAFgcAABcHAAAYBwAAGQcAABoH
+	AAAbBwAAHAcAAB0HAAAeBwAAHwcAACAHAAAhBwAAIgcAACMHAAAkBwAAJQcAACYHAAAnBwAAKA
+	cAACkHAAAqBwAAKwcAACwHAAAtBwAALgcAAC8HAAAwBwAAMQcAADIHAAAzBwAANAcAADUHAAA2
+	BwAANwcAADgHAAA5BwAAOgcAADsHAAA8BwAAPQcAAD4HAAA/BwAAQAcAAEEHAABCBwAAQwcAAE
+	QHAABFBwAARgcAAEcHAABIBwAASQcAAEoHAABLBwAATAcAAE0HAABOBwAATwcAAFAHAABRBwAA
+	UgcAAFMHAABUBwAAVQcAAFYHAABXBwAAWAcAAFkHAABaBwAAWwcAAFwHAABdBwAAXgcAAF8HAA
+	BgBwAAYQcAAGIHAABjBwAAZAcAAGUHAABmBwAAZwcAAGgHAABpBwAAagcAAGsHAABsBwAAbQcA
+	AG4HAABvBwAAcAcAAHEHAAByBwAAcwcAAHQHAAB1BwAAdgcAAHcHAAB4BwAAeQcAAHoHAAB7Bw
+	AAfAcAAH0HAAB+BwAAfwcAAIAHAACBBwAAggcAAIMHAAD+////hQcAAIYHAACHBwAAiAcAAIkH
+	AACKBwAAiwcAAIwHAACNBwAAjgcAAI8HAACQBwAAkQcAAJIHAACTBwAAlAcAAJUHAACWBwAAlw
+	cAAJgHAACZBwAAmgcAAJsHAACcBwAAnQcAAJ4HAACfBwAAoAcAAKEHAACiBwAAowcAAKQHAACl
+	BwAApgcAAKcHAACoBwAAqQcAAKoHAACrBwAArAcAAK0HAACuBwAArwcAALAHAACxBwAAsgcAAL
+	MHAAC0BwAAtQcAALYHAAC3BwAAuAcAALkHAAC6BwAAuwcAALwHAAC9BwAAvgcAAL8HAADABwAA
+	wQcAAMIHAADDBwAAxAcAAMUHAADGBwAAxwcAAMgHAADJBwAAygcAAMsHAADMBwAAzQcAAM4HAA
+	DPBwAA0AcAANEHAADSBwAA0wcAANQHAADVBwAA1gcAANcHAADYBwAA2QcAANoHAADbBwAA3AcA
+	AN0HAADeBwAA3wcAAOAHAADhBwAA4gcAAOMHAADkBwAA5QcAAOYHAADnBwAA6AcAAOkHAADqBw
+	AA6wcAAOwHAADtBwAA/v///+8HAADwBwAA8QcAAPIHAADzBwAA9AcAAPUHAAD+////9wcAAPgH
+	AAD5BwAA+gcAAPsHAAD8BwAA/QcAAP7////9/////f////3////9/////f////3////9/////f
+	////3////9/////f////3////9/////f////3////9/////f///xAIAAD+////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////////////////
+	//////////////////////////////////////////////////////////////UgBvAG8AdAAg
+	AEUAbgB0AHIAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB
+	YABQH//////////wMAAAAQjYFkm0/PEYbqAKoAuSnoAAAAAAAAAAAAAAAAAAAAAAAAAAD+////
+	AAAAAAAAAABQAGkAYwB0AHUAcgBlAHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAEgACAf///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAudgAAAAAAAEMAdQByAHIAZQBuAHQAIABVAHMAZQByAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAIBAQAAAP//////////AAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9gcAAAAQAAAAAAAABQBTAHUAbQBtAGEAcg
+	B5AEkAbgBmAG8AcgBtAGEAdABpAG8AbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAgEC
+	AAAABQAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEBwAAUNIAAA
+	AAAABQAG8AdwBlAHIAUABvAGkAbgB0ACAARABvAGMAdQBtAGUAbgB0AAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAKAACAf///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAADwAAACbjw4AAAAAAAUARABvAGMAdQBtAGUAbgB0AFMAdQBtAG0AYQByAHkASQBu
+	AGYAbwByAG0AYQB0AGkAbwBuAAAAAAAAAAAAAAA4AAIBBAAAAP//////////AAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7gcAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////
+	////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAP///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+	AAAAAAAAAAAAAAAAAAAAAA==
+ATTENDEE;CN="ext Tuomas.J.Iivarinen@tieto.com";RSVP=TRUE:mailto:Tuomas.J.Ii
+	varinen@tieto.com
+ATTENDEE;CN="ext Pawel.Grygiel@tieto.com";RSVP=TRUE:mailto:Pawel.Grygiel@ti
+	eto.com
+ATTENDEE;CN="Lehtonen Kalle.Ju (Nokia-D/Tampere)";RSVP=TRUE:mailto:kalle.ju
+	.lehtonen@nokia.com
+ATTENDEE;CN="Tiitinen Tommi (Nokia-D/Tampere)";RSVP=TRUE:mailto:tommi.tiiti
+	nen@nokia.com
+ATTENDEE;CN="Ojala Jouni (Nokia-D/Tampere)";RSVP=TRUE:mailto:jouni.ojala@no
+	kia.com
+ATTENDEE;CN="V Ravi-Iyer (Nokia-D/Bangalore)";RSVP=TRUE:mailto:ravi-iyer.v@
+	nokia.com
+ATTENDEE;CN="Murugasen Mathan (Nokia-D/Bangalore)";RSVP=TRUE:mailto:Mathan.
+	Murugasen@nokia.com
+CLASS:PUBLIC
+CREATED:20100519T104559Z
+DESCRIPTION:When: 19.05.2010 10:00-11:00 (GMT+02:00) Helsinki\, Kyiv\, Riga
+	\, Sofia\, Tallinn\, Vilnius.\nWhere: Live Meeting\n\nNote: The GMT offset
+	 above does not reflect daylight saving time adjustments.\n\n*~*~*~*~*~*~*
+	~*~*~*\n\nAgenda:\n\nGo through Day view X0 material and discussion open i
+	ssue.\n\n\n \nBr\,\nDongsheng.\n\n----------------------------------------
+	--------------------------------------------------------------------------
+	---------------------\nFinland: +358 7180 71870\; \nPoland: +48 71 718 121
+	5 \nBeijing:+8610 8711 1870 \nChengdu: +86 288 689 0188 ext 1870 and press
+	 "#" \n\nConference ID: 21439 andPIN:1017\n-+-----+-----+-----+-----+-----
+	+-----+-----+-----+-\n\n\nDongsheng Lu has invited you to present at an on
+	line meeting using Microsoft® Office Live Meeting service.\nJoin the meet
+	ing <https://www206.livemeeting.com/cc/_XML/nokia/join?id=D2BTWM&role=pres
+	ent&pw=F2H=s\;'=X> \nAUDIO INFORMATION \nComputer Audio\nTo use computer a
+	udio\, you need speakers and a microphone\, or a headset.\nFIRST-TIME USER
+	S \nTo save time before the meeting\, check your system <http://go.microso
+	ft.com/fwlink/?LinkId=90703>  to make sure it is ready to use Office Live 
+	Meeting.\nNotes \nOffice Live Meeting can be used to record meetings. By p
+	articipating in this meeting\, you agree that your communications may be r
+	ecorded at any time during the meeting. You will be notified on screen if 
+	recording of the meeting is active.\nTROUBLESHOOTING \nUnable to join the 
+	meeting?  Follow these steps:\n	1.	Copy this address and paste into your w
+	eb browser: \n		https://www206.livemeeting.com/cc/_XML/nokia/join\n	2.	Cop
+	y and paste the required information:\n		Meeting ID: D2BTWM\n		Entry Code:
+	 F2H=s\;'=X\n		Location: https://www206.livemeeting.com/cc/_XML/nokia\nIf 
+	you still cannot enter the meeting\, contact support. <http://r.office.mic
+	rosoft.com/r/rlidLiveMeeting?p1=12&p2=en_US&p3=LMInfo&p4=support> \nNOTICE
+	 \nOffice Live Meeting can be used to record meetings. By participating in
+	 this meeting\, you agree that your communications may be monitored or rec
+	orded at any time during the meeting.\n\n\n
+DTEND:20100519T080000Z
+DTSTAMP:20100518T125406Z
+DTSTART:20100519T070000Z
+LAST-MODIFIED:20100519T104559Z
+LOCATION:Live Meeting
+ORGANIZER;CN="Lu Dongsheng (Nokia-D/Tampere)":mailto:dongsheng.lu@nokia.com
+PRIORITY:5
+SEQUENCE:0
+SUMMARY;LANGUAGE=en-us:Day view X0 workshop.
+TRANSP:OPAQUE
+UID:040000008200E00074C5B7101A82E00800000000F000B626A1F6CA01000000000000000
+	0100000004D2DBA4A9642AB49B9120B2E5F04066A
+X-ALT-DESC;FMTTYPE=text/html:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//E
+	N">\n<HTML>\n<HEAD>\n<META NAME="Generator" CONTENT="MS Exchange Server ve
+	rsion 08.00.0681.000">\n<TITLE></TITLE>\n</HEAD>\n<BODY>\n<!-- Converted f
+	rom text/rtf format -->\n\n<P><FONT FACE="Calibri">When: 19.05.2010 10:00-
+	11:00 (GMT+02:00) Helsinki\, Kyiv\, Riga\, Sofia\, Tallinn\, Vilnius.</FON
+	T>\n\n<BR><FONT FACE="Calibri">Where: Live Meeting</FONT>\n</P>\n\n<P><FON
+	T FACE="Calibri">Note: The GMT offset above does not reflect daylight savi
+	ng time adjustments.</FONT>\n</P>\n\n<P><FONT FACE="Calibri">*~*~*~*~*~*~*
+	~*~*~*</FONT>\n</P>\n\n<P><B><FONT SIZE=2 FACE="Arial">Agenda:</FONT></B>\
+	n</P>\n\n<P><FONT SIZE=2 FACE="Arial">Go through Day view X0 material and 
+	discussion open issue.</FONT>\n</P>\n<BR>\n\n<P><FONT FACE="Calibri"></FON
+	T>&nbsp\;\n\n<BR><FONT SIZE=2 FACE="Arial">Br\,</FONT>\n\n<BR><FONT SIZE=2
+	 FACE="Arial">Dongsheng.</FONT>\n</P>\n\n<P><FONT SIZE=2 FACE="Arial">----
+	--------------------------------------------------------------------------
+	---------------------------------------------------------</FONT></P>\n\n<P
+	><FONT SIZE=2 FACE="Arial">Finland: +358 7180 71870\; </FONT>\n\n<BR><FONT
+	 SIZE=2 FACE="Arial">Poland: +48 71 718 1215 </FONT>\n\n<BR><FONT SIZE=2 F
+	ACE="Arial">Beijing:+8610 8711 1870 </FONT>\n\n<BR><FONT SIZE=2 FACE="Aria
+	l">Chengdu: +86 288 689 0188 ext 1870 and press &quot\;#&quot\; </FONT>\n<
+	/P>\n\n<P><B><FONT SIZE=2 FACE="Arial">Conference ID: 21439 andPIN:1017</F
+	ONT></B>\n\n<BR><FONT SIZE=2 FACE="Arial">-+-----+-----+-----+-----+-----+
+	-----+-----+-----+-</FONT>\n</P>\n<BR>\n\n<P><FONT SIZE=2 FACE="Tahoma">Do
+	ngsheng Lu has invited you to present at an online meeting using Microsoft
+	® Office Live Meeting service.</FONT>\n\n<BR><A HREF="https://www206.live
+	meeting.com/cc/_XML/nokia/join?id=D2BTWM&amp\;role=present&amp\;pw=F2H=s\;
+	'=X"><U></U><U></U><U><FONT COLOR="#0000FF" FACE="Tahoma">Join the meeting
+	</FONT></U></A>\n\n<BR><B><FONT COLOR="#004D80" FACE="Tahoma">AUDIO INFORM
+	ATION</FONT><FONT COLOR="#000080" FACE="Tahoma"></FONT> </B>\n\n<BR><B><FO
+	NT COLOR="#4D4D4D" SIZE=2 FACE="Tahoma">Computer Audio</FONT></B>\n\n<BR><
+	FONT SIZE=2 FACE="Tahoma">To use computer audio\, you need speakers and a 
+	microphone\, or a headset.</FONT>\n\n<BR><B><FONT COLOR="#004D80" FACE="Ta
+	homa">FIRST-TIME USERS</FONT><FONT COLOR="#000080" FACE="Tahoma"></FONT> <
+	/B>\n\n<BR><FONT SIZE=2 FACE="Tahoma">To save time before the meeting\, </
+	FONT><A HREF="http://go.microsoft.com/fwlink/?LinkId=90703"><U></U><U><FON
+	T COLOR="#0000FF" SIZE=2 FACE="Tahoma">check your system</FONT></U></A><FO
+	NT SIZE=2 FACE="Tahoma"> to make sure it is ready to use Office Live Meeti
+	ng.</FONT>\n\n<BR><B><FONT COLOR="#004D80" FACE="Tahoma">Notes</FONT><FONT
+	 COLOR="#000080" FACE="Tahoma"></FONT> </B>\n\n<BR><FONT SIZE=2 FACE="Taho
+	ma">Office Live Meeting can be used to record meetings. By participating i
+	n this meeting\, you agree that your communications may be recorded at any
+	 time during the meeting. You will be notified on screen if recording of t
+	he meeting is active.</FONT></P>\n\n<P><B><FONT COLOR="#004D80" FACE="Taho
+	ma">TROUBLESHOOTING</FONT><FONT COLOR="#000080" FACE="Tahoma"></FONT> </B>
+	\n\n<BR><FONT SIZE=2 FACE="Tahoma">Unable to join the meeting?&nbsp\; Foll
+	ow these steps:</FONT>\n\n<BR>&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&n
+	bsp\; <FONT SIZE=2 FACE="Tahoma">1.&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\; Cop
+	y this address and paste into your web browser: </FONT>\n\n<BR>&nbsp\;&nbs
+	p\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\; &nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;
+	&nbsp\;&nbsp\; <FONT SIZE=2 FACE="Tahoma"><A HREF="https://www206.livemeet
+	ing.com/cc/_XML/nokia/join">https://www206.livemeeting.com/cc/_XML/nokia/j
+	oin</A></FONT>\n\n<BR>&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\; <F
+	ONT SIZE=2 FACE="Tahoma">2.&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\; Copy and pa
+	ste the required information:</FONT>\n\n<BR>&nbsp\;&nbsp\;&nbsp\;&nbsp\;&n
+	bsp\;&nbsp\;&nbsp\; &nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\; <FON
+	T SIZE=2 FACE="Tahoma">Meeting ID: D2BTWM</FONT>\n\n<BR>&nbsp\;&nbsp\;&nbs
+	p\;&nbsp\;&nbsp\;&nbsp\;&nbsp\; &nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;
+	&nbsp\; <FONT SIZE=2 FACE="Tahoma">Entry Code: F2H=s\;'=X</FONT>\n\n<BR>&n
+	bsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\;&nbsp\; &nbsp\;&nbsp\;&nbsp\;&nbsp
+	\;&nbsp\;&nbsp\;&nbsp\; <FONT SIZE=2 FACE="Tahoma">Location: <A HREF="http
+	s://www206.livemeeting.com/cc/_XML/nokia">https://www206.livemeeting.com/c
+	c/_XML/nokia</A></FONT>\n\n<BR><FONT SIZE=2 FACE="Tahoma">If you still can
+	not enter the meeting\, </FONT><A HREF="http://r.office.microsoft.com/r/rl
+	idLiveMeeting?p1=12&amp\;p2=en_US&amp\;p3=LMInfo&amp\;p4=support"><U></U><
+	U><FONT COLOR="#0000FF" SIZE=2 FACE="Tahoma">contact support.</FONT></U></
+	A>\n\n<BR><B><FONT COLOR="#004D80" FACE="Tahoma">NOTICE</FONT><FONT COLOR=
+	"#000080" FACE="Tahoma"></FONT> </B>\n\n<BR><FONT SIZE=2 FACE="Tahoma">Off
+	ice Live Meeting can be used to record meetings. By participating in this 
+	meeting\, you agree that your communications may be monitored or recorded 
+	at any time during the meeting.</FONT></P>\n<BR>\n\n</BODY>\n</HTML>
+X-MICROSOFT-CDO-BUSYSTATUS:BUSY
+X-MICROSOFT-CDO-IMPORTANCE:1
+X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
+X-MICROSOFT-DISALLOW-COUNTER:FALSE
+X-MS-OLK-APPTLASTSEQUENCE:0
+X-MS-OLK-CONFTYPE:0
+END:VEVENT
+END:VCALENDAR
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/tsrc/unittest_calenviewerservice/data/meeting.vcs	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,23 @@
+BEGIN:VCALENDAR
+PRODID:-//Microsoft Corporation//Outlook 12.0 MIMEDIR//EN
+VERSION:1.0
+BEGIN:VEVENT
+DTSTART:20100514T053000Z
+DTEND:20100514T093000Z
+LOCATION:Hara 5004 
+UID:040000008200E00074C5B7101A82E00800000000C0BE6AE8BFE7CA01000000000000000
+	0100000008F4AF94160A11240BBE3C983058E3269
+DESCRIPTION;ENCODING=QUOTED-PRINTABLE:=
+When: Friday, May 14, 2010 11:00 AM-3:00 PM (GMT+05:30) Chennai, Kolkata,=
+ Mumbai, New Delhi.=0D=0AWhere: Hara 5004 =0D=0A=0D=0ANote: The GMT offse=
+t above does not reflect daylight saving time adjustments.=0D=0A=0D=0A*~*=
+~*~*~*~*~*~*~*~*=0D=0A=0D=0AHello All,=0D=0A=0D=0AAs all of you know Ravi=
+ is taking Experience Owner responsibility from wk 19 and like to discuss=
+ with us face to face the Organizer opportunity and future. =0D=0AHe will=
+ put further agenda of this meeting.=0D=0A=0D=0AThe workshop will be thre=
+e hours but due to room availability 2 hrs will be pre lunch session and =
+1 hr  post lunch session.=0D=0A=0D=0ARegards=0D=0ASudhansu=0D=0A=0D=0A
+SUMMARY:workshop to discuss possibilities on organizer..
+PRIORITY:3
+END:VEVENT
+END:VCALENDAR
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/tsrc/unittest_calenviewerservice/inc/test_calenviewerservice.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,44 @@
+/*
+* 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:
+*
+*/
+
+#ifndef __TEST_CALENVIWRSRV_H__
+#define __TEST_CALENVIWRSRV_H__
+
+#include <QObject>
+#include <xqappmgr.h>
+
+class TestCalenViewerService : public QObject
+{
+	Q_OBJECT
+public:
+    TestCalenViewerService();
+    ~TestCalenViewerService();
+    
+private slots:
+    void init();
+    void cleanup();
+    
+    void testOpeningVCal();
+    void testOpeningICal();
+    
+private:
+    
+};
+
+#endif      // __TEST_CALENVIWRSRV_H__
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/tsrc/unittest_calenviewerservice/rom/unittest_calenviewerservice.iby	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2006-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:   Image description file for test project
+*
+*/
+
+#ifndef __UT_CALENVIEWER_SERVICE_IBY__
+#define __UT_CALENVIEWER_SERVICE_IBY__
+
+S60_APP_EXE(utcalenviewerservice)
+S60_APP_RESOURCE(utcalenviewerservice)
+
+// Application registration file.
+data=DATAZ_\private\10003a3f\import\apps\utcalenviewerservice_reg.rsc		\private\10003a3f\import\apps\utcalenviewerservice_reg.rsc
+
+// Test files
+data=DATAZ_\data\others\meeting.vcs		\data\others\meeting.vcs
+data=DATAZ_\data\others\meeting.ics		\data\others\meeting.ics
+
+#endif		// __UT_CALENVIEWER_SERVICE_IBY__
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/tsrc/unittest_calenviewerservice/src/main.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,45 @@
+/*
+* 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:
+*
+*/
+
+// System includes
+#include <QTest>
+#include <hbapplication.h>
+
+// User includes
+#include "test_calenviewerservice.h"
+
+int main(int argc, char *argv[])
+{
+	HbApplication app(argc, argv);
+	
+	TestCalenViewerService tc;
+	
+	 char *args[3];	
+	 args[0] = argv[0];
+	 args[1] = "-o";	
+	 args[2] = "c:\\data\\TestCalenViewerService.txt";
+ 
+	int ret = QTest::qExec(&tc, 3, args);
+	// Core dump if HbIconLoader instance is not destroyed before the
+	// application instance. HbIconLoader uses QCoreApplication::aboutToQuit()
+	// signal to destroy itself. app.exec() where the signal is normally emitted
+	// is not called here. So, invoking the signal explicitly.
+	QMetaObject::invokeMethod(&app, "aboutToQuit", Qt::DirectConnection);
+	return ret;
+}
+
+// End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/tsrc/unittest_calenviewerservice/src/test_calenviewerservice.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,92 @@
+/*
+* 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:
+*
+*/
+
+#include <xqaiwdeclplat.h>
+#include <QtTest/QtTest>
+
+#include "test_calenviewerservice.h"
+
+TestCalenViewerService::TestCalenViewerService()
+{
+    // No implementation yet
+}
+
+TestCalenViewerService::~TestCalenViewerService()
+{
+    // No implementation yet
+}
+
+void TestCalenViewerService::init()
+{
+    // No implementation yet
+}
+
+void TestCalenViewerService::cleanup()
+{
+    // No implementation yet
+}
+
+void TestCalenViewerService::testOpeningVCal()
+{
+    QTest::qWait(2);
+    
+    QFile file("z:\\data\\others\\meeting.vcs");
+
+    XQApplicationManager mAppMgr;
+    XQAiwRequest *request;
+    QVERIFY(request = mAppMgr.create(file));
+    
+    // Set function parameters
+    QList<QVariant> args;
+    args << file.fileName();
+    request->setArguments(args);
+    request->setEmbedded(true);
+
+    // Send the request
+    bool res;
+    QVERIFY(res = request->send());
+    
+    delete request;
+}
+
+void TestCalenViewerService::testOpeningICal()
+{
+    // TODO: Both the test cases cannot be run in sequence
+    // due to some issues in Qt/Highway framework. Need to
+    // re-check on newer version and then modify the test case
+    // if required
+    
+    /*QTest::qWait(2);
+    
+    QFile file("z:\\data\\others\\meeting.ics");
+
+    XQApplicationManager mAppMgr;
+    XQAiwRequest *request;
+    QVERIFY(request = mAppMgr.create(file));
+    
+    // Set function parameters
+    QList<QVariant> args;
+    args << file.fileName();
+    request->setArguments(args);
+    request->setEmbedded(true);
+
+    // Send the request
+    bool res;
+    QVERIFY(res = request->send());
+    
+    delete request;*/
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/tsrc/unittest_calenviewerservice/unittest_calenviewerservice.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,42 @@
+#
+#  Copyright (c) 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 is the project specification file for the calenviewerservice.
+#
+
+TEMPLATE = app
+TARGET = utcalenviewerservice
+CONFIG += qtestlib
+CONFIG += symbian_test
+CONFIG += hb
+DEPENDPATH += . inc src
+INCLUDEPATH += .
+
+# Input
+HEADERS += inc/test_calenviewerservice.h
+SOURCES += src/main.cpp src/test_calenviewerservice.cpp
+
+symbian : {
+
+	TARGET.CAPABILITY = ALL -TCB
+	TARGET.UID3 = 0xE0003364
+
+	INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+	
+	LIBS += -lxqserviceutil -lxqservice
+	
+	BLD_INF_RULES.prj_testexports += \
+		"./rom/unittest_calenviewerservice.iby		CORE_APP_LAYER_IBY_EXPORT_PATH(unittest_calenviewerservice.iby)" \
+		"./data/meeting.vcs		z:/data/others/meeting.vcs" \
+		"./data/meeting.ics		z:/data/others/meeting.ics"
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/bwins/calenviewsu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,162 @@
+EXPORTS
+	?scrollingFinished@CalenPreviewPane@@QAEXXZ @ 1 NONAME ; void CalenPreviewPane::scrollingFinished(void)
+	?fetchEntriesAndUpdateModel@CalenMonthView@@QAEXXZ @ 2 NONAME ; void CalenMonthView::fetchEntriesAndUpdateModel(void)
+	?setDate@CalenMonthView@@AAEXXZ @ 3 NONAME ; void CalenMonthView::setDate(void)
+	?showHideRegionalInformation@CalenMonthView@@AAEXXZ @ 4 NONAME ; void CalenMonthView::showHideRegionalInformation(void)
+	?updateMonthGridWithEventIndicators@CalenMonthGrid@@QAEXAAV?$QList@VCalenMonthData@@@@@Z @ 5 NONAME ; void CalenMonthGrid::updateMonthGridWithEventIndicators(class QList<class CalenMonthData> &)
+	?handleGridItemActivated@CalenMonthView@@QAEXXZ @ 6 NONAME ; void CalenMonthView::handleGridItemActivated(void)
+	?setFocusToProperDay@CalenMonthGrid@@AAEXXZ @ 7 NONAME ; void CalenMonthGrid::setFocusToProperDay(void)
+	??1CalenPreviewPane@@UAE@XZ @ 8 NONAME ; CalenPreviewPane::~CalenPreviewPane(void)
+	?mousePressEvent@CalenMonthGrid@@EAEXPAVQGraphicsSceneMouseEvent@@@Z @ 9 NONAME ; void CalenMonthGrid::mousePressEvent(class QGraphicsSceneMouseEvent *)
+	?completePopulation@CalenMonthView@@AAEXXZ @ 10 NONAME ; void CalenMonthView::completePopulation(void)
+	??0CalenAgendaViewWidget@@QAE@AAVMCalenServices@@PAVCalenDocLoader@@@Z @ 11 NONAME ; CalenAgendaViewWidget::CalenAgendaViewWidget(class MCalenServices &, class CalenDocLoader *)
+	?handleAppendingRows@CalenMonthGrid@@AAEXAAV?$QList@VCalenMonthData@@@@@Z @ 12 NONAME ; void CalenMonthGrid::handleAppendingRows(class QList<class CalenMonthData> &)
+	?handleChangeOrientation@CalenMonthView@@AAEXXZ @ 13 NONAME ; void CalenMonthView::handleChangeOrientation(void)
+	?staticMetaObject@CalenSettingsView@@2UQMetaObject@@B @ 14 NONAME ; struct QMetaObject const CalenSettingsView::staticMetaObject
+	?docLoader@CalenAgendaView@@QAEPAVCalenDocLoader@@XZ @ 15 NONAME ; class CalenDocLoader * CalenAgendaView::docLoader(void)
+	?getStaticMetaObject@CalenSettingsView@@SAABUQMetaObject@@XZ @ 16 NONAME ; struct QMetaObject const & CalenSettingsView::getStaticMetaObject(void)
+	?updateMonthDataArrayWithActiveDates@CalenMonthView@@AAEXXZ @ 17 NONAME ; void CalenMonthView::updateMonthDataArrayWithActiveDates(void)
+	?scrollingFinished@CalenMonthGrid@@QAEXXZ @ 18 NONAME ; void CalenMonthGrid::scrollingFinished(void)
+	?setCurrentIdex@CalenMonthGrid@@QAEXH@Z @ 19 NONAME ; void CalenMonthGrid::setCurrentIdex(int)
+	?setupView@CalenAgendaView@@QAEXPAVCalenDocLoader@@@Z @ 20 NONAME ; void CalenAgendaView::setupView(class CalenDocLoader *)
+	??_ECalenMonthGrid@@UAE@I@Z @ 21 NONAME ; CalenMonthGrid::~CalenMonthGrid(unsigned int)
+	?trUtf8@CalenPreviewPane@@SA?AVQString@@PBD0@Z @ 22 NONAME ; class QString CalenPreviewPane::trUtf8(char const *, char const *)
+	?trUtf8@CalenMonthGrid@@SA?AVQString@@PBD0@Z @ 23 NONAME ; class QString CalenMonthGrid::trUtf8(char const *, char const *)
+	?populatePrevMonth@CalenMonthView@@QAEXXZ @ 24 NONAME ; void CalenMonthView::populatePrevMonth(void)
+	?qt_metacall@CalenSettingsView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 25 NONAME ; int CalenSettingsView::qt_metacall(enum QMetaObject::Call, int, void * *)
+	??1CalenPluginLabel@@UAE@XZ @ 26 NONAME ; CalenPluginLabel::~CalenPluginLabel(void)
+	?handleLeftEffectCompleted@CalenMonthView@@AAEXABUEffectStatus@HbEffect@@@Z @ 27 NONAME ; void CalenMonthView::handleLeftEffectCompleted(struct HbEffect::EffectStatus const &)
+	?getStaticMetaObject@CalenMonthGrid@@SAABUQMetaObject@@XZ @ 28 NONAME ; struct QMetaObject const & CalenMonthGrid::getStaticMetaObject(void)
+	?trUtf8@CalenSettingsView@@SA?AVQString@@PBD0H@Z @ 29 NONAME ; class QString CalenSettingsView::trUtf8(char const *, char const *, int)
+	?qt_metacast@CalenMonthView@@UAEPAXPBD@Z @ 30 NONAME ; void * CalenMonthView::qt_metacast(char const *)
+	?staticMetaObject@CalenMonthView@@2UQMetaObject@@B @ 31 NONAME ; struct QMetaObject const CalenMonthView::staticMetaObject
+	?setupView@CalenMonthView@@QAEXPAVCalenDocLoader@@@Z @ 32 NONAME ; void CalenMonthView::setupView(class CalenDocLoader *)
+	?metaObject@CalenMonthGrid@@UBEPBUQMetaObject@@XZ @ 33 NONAME ; struct QMetaObject const * CalenMonthGrid::metaObject(void) const
+	?startAutoScroll@CalenPreviewPane@@QAEXXZ @ 34 NONAME ; void CalenPreviewPane::startAutoScroll(void)
+	?doLazyLoading@CalenMonthView@@QAEXXZ @ 35 NONAME ; void CalenMonthView::doLazyLoading(void)
+	?setView@CalenMonthGrid@@QAEXPAVCalenMonthView@@@Z @ 36 NONAME ; void CalenMonthGrid::setView(class CalenMonthView *)
+	??1CalenSettingsView@@UAE@XZ @ 37 NONAME ; CalenSettingsView::~CalenSettingsView(void)
+	?Date@CalenPreviewPane@@QAE?AVQDateTime@@XZ @ 38 NONAME ; class QDateTime CalenPreviewPane::Date(void)
+	?tr@CalenPreviewPane@@SA?AVQString@@PBD0H@Z @ 39 NONAME ; class QString CalenPreviewPane::tr(char const *, char const *, int)
+	?metaObject@CalenMonthView@@UBEPBUQMetaObject@@XZ @ 40 NONAME ; struct QMetaObject const * CalenMonthView::metaObject(void) const
+	??0CalenPreviewPane@@QAE@AAVMCalenServices@@PAVQGraphicsItem@@@Z @ 41 NONAME ; CalenPreviewPane::CalenPreviewPane(class MCalenServices &, class QGraphicsItem *)
+	?rowsInPrevMonth@CalenMonthView@@QAEHXZ @ 42 NONAME ; int CalenMonthView::rowsInPrevMonth(void)
+	?handlePrependingRows@CalenMonthGrid@@AAEXAAV?$QList@VCalenMonthData@@@@@Z @ 43 NONAME ; void CalenMonthGrid::handlePrependingRows(class QList<class CalenMonthData> &)
+	?metaObject@CalenPreviewPane@@UBEPBUQMetaObject@@XZ @ 44 NONAME ; struct QMetaObject const * CalenPreviewPane::metaObject(void) const
+	?clearListModel@CalenAgendaView@@QAEXXZ @ 45 NONAME ; void CalenAgendaView::clearListModel(void)
+	?gestureEvent@CalenMonthGrid@@MAEXPAVQGestureEvent@@@Z @ 46 NONAME ; void CalenMonthGrid::gestureEvent(class QGestureEvent *)
+	??0CalenDayView@@QAE@AAVMCalenServices@@@Z @ 47 NONAME ; CalenDayView::CalenDayView(class MCalenServices &)
+	?populateNextMonth@CalenMonthView@@QAEXXZ @ 48 NONAME ; void CalenMonthView::populateNextMonth(void)
+	?handleRightEffectCompleted@CalenMonthView@@AAEXABUEffectStatus@HbEffect@@@Z @ 49 NONAME ; void CalenMonthView::handleRightEffectCompleted(struct HbEffect::EffectStatus const &)
+	?qt_metacast@CalenMonthGrid@@UAEPAXPBD@Z @ 50 NONAME ; void * CalenMonthGrid::qt_metacast(char const *)
+	?firstDayOfGrid@CalenMonthView@@QAE?AVQDateTime@@XZ @ 51 NONAME ; class QDateTime CalenMonthView::firstDayOfGrid(void)
+	?rowsInFutMonth@CalenMonthView@@QAEHXZ @ 52 NONAME ; int CalenMonthView::rowsInFutMonth(void)
+	?launchDayView@CalenMonthView@@QAEXXZ @ 53 NONAME ; void CalenMonthView::launchDayView(void)
+	?getCurrGridIndex@CalenMonthView@@QAEHXZ @ 54 NONAME ; int CalenMonthView::getCurrGridIndex(void)
+	?gestureEvent@CalenPreviewPane@@MAEXPAVQGestureEvent@@@Z @ 55 NONAME ; void CalenPreviewPane::gestureEvent(class QGestureEvent *)
+	?prependRows@CalenMonthGrid@@QAEXXZ @ 56 NONAME ; void CalenMonthGrid::prependRows(void)
+	?orientationChanged@CalenMonthGrid@@MAEXW4Orientation@Qt@@@Z @ 57 NONAME ; void CalenMonthGrid::orientationChanged(enum Qt::Orientation)
+	?qt_metacall@CalenPreviewPane@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 58 NONAME ; int CalenPreviewPane::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?trUtf8@CalenPreviewPane@@SA?AVQString@@PBD0H@Z @ 59 NONAME ; class QString CalenPreviewPane::trUtf8(char const *, char const *, int)
+	??1CalenThickLinesDrawer@@UAE@XZ @ 60 NONAME ; CalenThickLinesDrawer::~CalenThickLinesDrawer(void)
+	?setView@CalenPreviewPane@@QAEXPAVCalenMonthView@@@Z @ 61 NONAME ; void CalenPreviewPane::setView(class CalenMonthView *)
+	??_ECalenMonthView@@UAE@I@Z @ 62 NONAME ; CalenMonthView::~CalenMonthView(unsigned int)
+	??1CalenAgendaView@@UAE@XZ @ 63 NONAME ; CalenAgendaView::~CalenAgendaView(void)
+	?populatePreviewPane@CalenMonthView@@QAEXAAVQDateTime@@@Z @ 64 NONAME ; void CalenMonthView::populatePreviewPane(class QDateTime &)
+	??0CalenSettingsView@@QAE@AAVMCalenServices@@PAVQGraphicsItem@@@Z @ 65 NONAME ; CalenSettingsView::CalenSettingsView(class MCalenServices &, class QGraphicsItem *)
+	??0CalenAgendaView@@QAE@AAVMCalenServices@@@Z @ 66 NONAME ; CalenAgendaView::CalenAgendaView(class MCalenServices &)
+	?updateModelWithPrevMonth@CalenMonthView@@QAEXXZ @ 67 NONAME ; void CalenMonthView::updateModelWithPrevMonth(void)
+	?stopScrolling@CalenPreviewPane@@QAEXXZ @ 68 NONAME ; void CalenPreviewPane::stopScrolling(void)
+	?refreshView@CalenSettingsView@@QAEXXZ @ 69 NONAME ; void CalenSettingsView::refreshView(void)
+	?addBackgroundFrame@CalenMonthView@@AAEXXZ @ 70 NONAME ; void CalenMonthView::addBackgroundFrame(void)
+	?createGrid@CalenMonthView@@AAEXXZ @ 71 NONAME ; void CalenMonthView::createGrid(void)
+	?tr@CalenPreviewPane@@SA?AVQString@@PBD0@Z @ 72 NONAME ; class QString CalenPreviewPane::tr(char const *, char const *)
+	?getStaticMetaObject@CalenPreviewPane@@SAABUQMetaObject@@XZ @ 73 NONAME ; struct QMetaObject const & CalenPreviewPane::getStaticMetaObject(void)
+	?launchPreviousView@CalenSettingsView@@AAEXXZ @ 74 NONAME ; void CalenSettingsView::launchPreviousView(void)
+	?setCurrGridIndex@CalenMonthView@@QAEXH@Z @ 75 NONAME ; void CalenMonthView::setCurrGridIndex(int)
+	?setDateToLabel@CalenMonthView@@AAEXXZ @ 76 NONAME ; void CalenMonthView::setDateToLabel(void)
+	?addWeekNumbers@CalenMonthView@@AAEXXZ @ 77 NONAME ; void CalenMonthView::addWeekNumbers(void)
+	?downGesture@CalenMonthGrid@@AAEXXZ @ 78 NONAME ; void CalenMonthGrid::downGesture(void)
+	?qt_metacall@CalenThickLinesDrawer@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 79 NONAME ; int CalenThickLinesDrawer::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?setupView@CalenDayView@@QAEXPAVCalenDocLoader@@@Z @ 80 NONAME ; void CalenDayView::setupView(class CalenDocLoader *)
+	?upGesture@CalenMonthGrid@@AAEXXZ @ 81 NONAME ; void CalenMonthGrid::upGesture(void)
+	??1CalenMonthView@@UAE@XZ @ 82 NONAME ; CalenMonthView::~CalenMonthView(void)
+	?dateFromContext@CalenMonthView@@AAE?AVQDateTime@@ABVMCalenContext@@@Z @ 83 NONAME ; class QDateTime CalenMonthView::dateFromContext(class MCalenContext const &)
+	?staticMetaObject@CalenMonthGrid@@2UQMetaObject@@B @ 84 NONAME ; struct QMetaObject const CalenMonthGrid::staticMetaObject
+	?trUtf8@CalenMonthGrid@@SA?AVQString@@PBD0H@Z @ 85 NONAME ; class QString CalenMonthGrid::trUtf8(char const *, char const *, int)
+	?paint@CalenThickLinesDrawer@@EAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 86 NONAME ; void CalenThickLinesDrawer::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+	?initializeForm@CalenSettingsView@@QAEXXZ @ 87 NONAME ; void CalenSettingsView::initializeForm(void)
+	?tr@CalenMonthGrid@@SA?AVQString@@PBD0H@Z @ 88 NONAME ; class QString CalenMonthGrid::tr(char const *, char const *, int)
+	?handlePanGestureFinished@CalenMonthGrid@@AAEXXZ @ 89 NONAME ; void CalenMonthGrid::handlePanGestureFinished(void)
+	?goToToday@CalenMonthView@@AAEXXZ @ 90 NONAME ; void CalenMonthView::goToToday(void)
+	?trUtf8@CalenThickLinesDrawer@@SA?AVQString@@PBD0H@Z @ 91 NONAME ; class QString CalenThickLinesDrawer::trUtf8(char const *, char const *, int)
+	?onContextChanged@CalenMonthView@@EAEXXZ @ 92 NONAME ; void CalenMonthView::onContextChanged(void)
+	?qt_metacast@CalenPreviewPane@@UAEPAXPBD@Z @ 93 NONAME ; void * CalenPreviewPane::qt_metacast(char const *)
+	?getCurrentIndex@CalenMonthGrid@@QAEHXZ @ 94 NONAME ; int CalenMonthGrid::getCurrentIndex(void)
+	?tr@CalenSettingsView@@SA?AVQString@@PBD0H@Z @ 95 NONAME ; class QString CalenSettingsView::tr(char const *, char const *, int)
+	?removeWeekNumbers@CalenMonthView@@AAEXXZ @ 96 NONAME ; void CalenMonthView::removeWeekNumbers(void)
+	?trUtf8@CalenMonthView@@SA?AVQString@@PBD0H@Z @ 97 NONAME ; class QString CalenMonthView::trUtf8(char const *, char const *, int)
+	??0CalenMonthView@@QAE@AAVMCalenServices@@@Z @ 98 NONAME ; CalenMonthView::CalenMonthView(class MCalenServices &)
+	?getStaticMetaObject@CalenThickLinesDrawer@@SAABUQMetaObject@@XZ @ 99 NONAME ; struct QMetaObject const & CalenThickLinesDrawer::getStaticMetaObject(void)
+	?setNoEntriesLabel@CalenPreviewPane@@QAEXPAVHbLabel@@@Z @ 100 NONAME ; void CalenPreviewPane::setNoEntriesLabel(class HbLabel *)
+	??0CalenThickLinesDrawer@@QAE@W4WidgetType@CalendarNamespace@@PAVQGraphicsItem@@@Z @ 101 NONAME ; CalenThickLinesDrawer::CalenThickLinesDrawer(enum CalendarNamespace::WidgetType, class QGraphicsItem *)
+	?onLocaleChanged@CalenMonthView@@UAEXH@Z @ 102 NONAME ; void CalenMonthView::onLocaleChanged(int)
+	?doPopulation@CalenMonthView@@UAEXXZ @ 103 NONAME ; void CalenMonthView::doPopulation(void)
+	?tr@CalenMonthView@@SA?AVQString@@PBD0H@Z @ 104 NONAME ; class QString CalenMonthView::tr(char const *, char const *, int)
+	?captureScreenshot@CalenNativeView@@QAEX_N@Z @ 105 NONAME ; void CalenNativeView::captureScreenshot(bool)
+	?GetInstanceListL@CalenPreviewPane@@AAEXXZ @ 106 NONAME ; void CalenPreviewPane::GetInstanceListL(void)
+	?getInstanceList@CalenMonthView@@AAEXAAV?$QList@VQDate@@@@VQDateTime@@1@Z @ 107 NONAME ; void CalenMonthView::getInstanceList(class QList<class QDate> &, class QDateTime, class QDateTime)
+	?tr@CalenMonthView@@SA?AVQString@@PBD0@Z @ 108 NONAME ; class QString CalenMonthView::tr(char const *, char const *)
+	??0CalenMonthGrid@@QAE@PAVQGraphicsItem@@@Z @ 109 NONAME ; CalenMonthGrid::CalenMonthGrid(class QGraphicsItem *)
+	?refreshViewOnGoToDate@CalenMonthView@@EAEXXZ @ 110 NONAME ; void CalenMonthView::refreshViewOnGoToDate(void)
+	?appendRows@CalenMonthGrid@@QAEXXZ @ 111 NONAME ; void CalenMonthGrid::appendRows(void)
+	?HandleNotification@CalenAgendaView@@UAEXW4TCalenNotification@@@Z @ 112 NONAME ; void CalenAgendaView::HandleNotification(enum TCalenNotification)
+	?tr@CalenThickLinesDrawer@@SA?AVQString@@PBD0H@Z @ 113 NONAME ; class QString CalenThickLinesDrawer::tr(char const *, char const *, int)
+	??0CalenPluginLabel@@QAE@AAVMCalenServices@@PAVQGraphicsItem@@@Z @ 114 NONAME ; CalenPluginLabel::CalenPluginLabel(class MCalenServices &, class QGraphicsItem *)
+	?mouseReleaseEvent@CalenMonthGrid@@EAEXPAVQGraphicsSceneMouseEvent@@@Z @ 115 NONAME ; void CalenMonthGrid::mouseReleaseEvent(class QGraphicsSceneMouseEvent *)
+	?updateMonthGridWithInActiveMonths@CalenMonthGrid@@QAEXAAV?$QList@VCalenMonthData@@@@@Z @ 116 NONAME ; void CalenMonthGrid::updateMonthGridWithInActiveMonths(class QList<class CalenMonthData> &)
+	?getCurrentDay@CalenMonthView@@QAE?AVQDateTime@@XZ @ 117 NONAME ; class QDateTime CalenMonthView::getCurrentDay(void)
+	?staticMetaObject@CalenPreviewPane@@2UQMetaObject@@B @ 118 NONAME ; struct QMetaObject const CalenPreviewPane::staticMetaObject
+	?doPopulation@CalenAgendaView@@UAEXXZ @ 119 NONAME ; void CalenAgendaView::doPopulation(void)
+	?tr@CalenSettingsView@@SA?AVQString@@PBD0@Z @ 120 NONAME ; class QString CalenSettingsView::tr(char const *, char const *)
+	?onTwoSecondsTimeout@CalenPreviewPane@@QAEXXZ @ 121 NONAME ; void CalenPreviewPane::onTwoSecondsTimeout(void)
+	?tr@CalenThickLinesDrawer@@SA?AVQString@@PBD0@Z @ 122 NONAME ; class QString CalenThickLinesDrawer::tr(char const *, char const *)
+	?staticMetaObject@CalenThickLinesDrawer@@2UQMetaObject@@B @ 123 NONAME ; struct QMetaObject const CalenThickLinesDrawer::staticMetaObject
+	?populateWithInstanceView@CalenMonthView@@AAEXXZ @ 124 NONAME ; void CalenMonthView::populateWithInstanceView(void)
+	?trUtf8@CalenThickLinesDrawer@@SA?AVQString@@PBD0@Z @ 125 NONAME ; class QString CalenThickLinesDrawer::trUtf8(char const *, char const *)
+	??1CalenAgendaViewWidget@@UAE@XZ @ 126 NONAME ; CalenAgendaViewWidget::~CalenAgendaViewWidget(void)
+	?populateLabel@CalenPreviewPane@@QAEXVQDateTime@@@Z @ 127 NONAME ; void CalenPreviewPane::populateLabel(class QDateTime)
+	?doPopulation@CalenDayView@@UAEXXZ @ 128 NONAME ; void CalenDayView::doPopulation(void)
+	??1CalenDayView@@UAE@XZ @ 129 NONAME ; CalenDayView::~CalenDayView(void)
+	?updateModelWithFutureMonth@CalenMonthView@@QAEXXZ @ 130 NONAME ; void CalenMonthView::updateModelWithFutureMonth(void)
+	?monthDataList@CalenMonthView@@QAE?AV?$QList@VCalenMonthData@@@@XZ @ 131 NONAME ; class QList<class CalenMonthData> CalenMonthView::monthDataList(void)
+	?updateMonthGridModel@CalenMonthGrid@@QAEXAAV?$QList@VCalenMonthData@@@@H_N@Z @ 132 NONAME ; void CalenMonthGrid::updateMonthGridModel(class QList<class CalenMonthData> &, int, bool)
+	??1CalenMonthGrid@@UAE@XZ @ 133 NONAME ; CalenMonthGrid::~CalenMonthGrid(void)
+	?metaObject@CalenThickLinesDrawer@@UBEPBUQMetaObject@@XZ @ 134 NONAME ; struct QMetaObject const * CalenThickLinesDrawer::metaObject(void) const
+	?updateWeekNumGridModel@CalenMonthView@@AAEXXZ @ 135 NONAME ; void CalenMonthView::updateWeekNumGridModel(void)
+	?qt_metacast@CalenThickLinesDrawer@@UAEPAXPBD@Z @ 136 NONAME ; void * CalenThickLinesDrawer::qt_metacast(char const *)
+	?prepareForPopulation@CalenMonthView@@AAEXXZ @ 137 NONAME ; void CalenMonthView::prepareForPopulation(void)
+	?handlePreviewPaneGesture@CalenMonthView@@QAEX_N@Z @ 138 NONAME ; void CalenMonthView::handlePreviewPaneGesture(bool)
+	?updateDayLabel@CalenMonthView@@AAEXXZ @ 139 NONAME ; void CalenMonthView::updateDayLabel(void)
+	?setActiveDates@CalenMonthGrid@@AAEXVQDate@@@Z @ 140 NONAME ; void CalenMonthGrid::setActiveDates(class QDate)
+	?trUtf8@CalenMonthView@@SA?AVQString@@PBD0@Z @ 141 NONAME ; class QString CalenMonthView::trUtf8(char const *, char const *)
+	?setContextForActiveDay@CalenMonthView@@QAEXH@Z @ 142 NONAME ; void CalenMonthView::setContextForActiveDay(int)
+	?trUtf8@CalenSettingsView@@SA?AVQString@@PBD0@Z @ 143 NONAME ; class QString CalenSettingsView::trUtf8(char const *, char const *)
+	??_ECalenSettingsView@@UAE@I@Z @ 144 NONAME ; CalenSettingsView::~CalenSettingsView(unsigned int)
+	??_ECalenThickLinesDrawer@@UAE@I@Z @ 145 NONAME ; CalenThickLinesDrawer::~CalenThickLinesDrawer(unsigned int)
+	?metaObject@CalenSettingsView@@UBEPBUQMetaObject@@XZ @ 146 NONAME ; struct QMetaObject const * CalenSettingsView::metaObject(void) const
+	?getStaticMetaObject@CalenMonthView@@SAABUQMetaObject@@XZ @ 147 NONAME ; struct QMetaObject const & CalenMonthView::getStaticMetaObject(void)
+	?changeOrientation@CalenMonthView@@EAEXW4Orientation@Qt@@@Z @ 148 NONAME ; void CalenMonthView::changeOrientation(enum Qt::Orientation)
+	?paint@CalenMonthGrid@@EAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 149 NONAME ; void CalenMonthGrid::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+	?tr@CalenMonthGrid@@SA?AVQString@@PBD0@Z @ 150 NONAME ; class QString CalenMonthGrid::tr(char const *, char const *)
+	?qt_metacast@CalenSettingsView@@UAEPAXPBD@Z @ 151 NONAME ; void * CalenSettingsView::qt_metacast(char const *)
+	?qt_metacall@CalenMonthView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 152 NONAME ; int CalenMonthView::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?disconnectAboutToQuitEvent@CalenAgendaView@@QAEXXZ @ 153 NONAME ; void CalenAgendaView::disconnectAboutToQuitEvent(void)
+	?setActiveDay@CalenMonthView@@AAEXVQDateTime@@@Z @ 154 NONAME ; void CalenMonthView::setActiveDay(class QDateTime)
+	?itemActivated@CalenMonthGrid@@QAEXABVQModelIndex@@@Z @ 155 NONAME ; void CalenMonthGrid::itemActivated(class QModelIndex const &)
+	?qt_metacall@CalenMonthGrid@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 156 NONAME ; int CalenMonthGrid::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?createEditor@CalenMonthView@@AAEXXZ @ 157 NONAME ; void CalenMonthView::createEditor(void)
+	??_ECalenPreviewPane@@UAE@I@Z @ 158 NONAME ; CalenPreviewPane::~CalenPreviewPane(unsigned int)
+	?getActiveDay@CalenMonthView@@QAE?AVQDateTime@@XZ @ 159 NONAME ; class QDateTime CalenMonthView::getActiveDay(void)
+	?addRemoveActionsInMenu@CalenMonthView@@AAEXXZ @ 160 NONAME ; void CalenMonthView::addRemoveActionsInMenu(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/dayview.pri	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,60 @@
+# 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:  Project definition include file for Day View
+
+# Input
+
+# Enables panning-effect when swiching between days
+# Uncomment to enable
+#DEFINES	+= CALENDAYVIEW_PANNING_ENABLED
+
+INCLUDEPATH += ./dayview/inc \
+              $${EPOCROOT}sf/mw/hb/include/hbwidgets/private
+
+DEPENDPATH += ./dayview/inc \
+			  ./dayview/src			 
+ 
+HEADERS += calendayview.h \
+		   calendaycommonheaders.h \
+		   calendayutils.h \
+		   calendaycontentscrollarea.h \
+		   calendayhourscrollarea.h \
+		   calendaycontentwidget.h \
+		   calendaymodelmanager.h \
+		   calendaymodel.h \
+		   calendayitemview.h \
+		   calendaycontainer.h \
+		   calendayinfo.h \
+		   calendayitem.h \
+		   calendayhourelement.h \
+		   calendaystatusstrip.h \
+		   calendayeventspane.h
+		   
+SOURCES += calendayview.cpp \
+		   calendayutils.cpp \
+		   calendaycontentscrollarea.cpp \
+		   calendayhourscrollarea.cpp \
+		   calendaycontentwidget.cpp \
+		   calendaymodelmanager.cpp \
+		   calendaymodel.cpp \
+		   calendayitemview.cpp \
+		   calendaycontainer.cpp \
+		   calendayinfo.cpp \
+		   calendayitem.cpp \
+		   calendayhourelement.cpp \
+		   calendaystatusstrip.cpp \
+		   calendayeventspane.cpp
+		   
+RESOURCES += dayview/resources/calendaywidgets.qrc
+
+# End of file	--Don't remove this.
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/inc/calendaycommonheaders.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,67 @@
+/*
+* 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:  CalenDay commons.
+*
+*/
+
+#ifndef CALENDAYCOMMONHEADERS_H_
+#define CALENDAYCOMMONHEADERS_H_
+
+// Constants
+
+/*!
+ Default timeout for scrolling between days [ms]
+ */
+const int KCalenScrollDaysTimeout = 600;
+
+/*!
+ Value [%] defines how long (depending on content area width) should horizontal
+ pan gesture be to change day to previous/next.
+ If the gesture is shorter - current view is not changed.
+ */
+const int KCalenHScrollMoveParam = 30;  //!< Percentage
+
+/*!
+ Value [degree] defines the max. angle of swipe gesture which should change day.
+ */
+const qreal KCalenSwipeAngle = 30;
+
+
+// Enumerations
+
+/*!
+ \enum CalenPanDirection
+ \brief Enumeration identifies pan gesture directions.
+ */
+enum CalenPanDirection
+{
+    ECalenPanNotSet = 0,
+    ECalenPanVertical,
+    ECalenPanHorizontal
+};
+
+/*!
+ \enum CalenScrollDirection
+ \brief Enumeration identifies horizontal scroll directions of scroll area.
+ 
+ ECalenScrollNoDayChange means that move does not change the current day.
+ */
+enum CalenScrollDirection
+{
+    ECalenScrollNoDayChange = 0,
+    ECalenScrollToNext,
+    ECalenScrollToPrev
+};
+
+#endif /* CALENDAYCOMMONHEADERS_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/inc/calendaycontainer.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,191 @@
+/*
+* 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:  Day view control of calendar
+*
+*/
+
+#ifndef CALENDAYCONTAINER_H
+#define CALENDAYCONTAINER_H
+
+//System includes
+#include <QDateTime>
+
+#include "../../../../../mw/hb/src/hbwidgets/itemviews/hbabstractitemcontainer_p.h"
+
+//User includes
+
+//Forward declarations
+class CalenDayInfo;
+class TouchEventAbsorber;
+
+class CalenDayContainer : public HbAbstractItemContainer
+{
+    Q_OBJECT
+
+public:
+    
+    /**
+     * Constructor. 
+     */
+    CalenDayContainer(QGraphicsItem *parent = 0);
+
+    /**
+     * Destructor.
+     */
+    ~CalenDayContainer();
+
+    /**
+     * 
+     */
+    void itemAdded (int index, HbAbstractViewItem *item, bool animate);
+    
+    /**
+     * 
+     */
+    void itemRemoved (HbAbstractViewItem *item, bool animate);
+    
+    /**
+     * 
+     */
+    void reset();
+    
+    /**
+     * 
+     */
+    void viewResized (const QSizeF &size);
+    
+    /**
+     * Sets day's info structer to the container.
+     * 
+     * @param dayInfo Day info.
+     */
+    void setDayInfo( CalenDayInfo* dayInfo );
+    
+public slots:
+
+    /**
+     * Slot handles layout switch.
+     * @param orientation Current device orientation
+     */
+    void orientationChanged(Qt::Orientation orientation);
+    
+protected:
+
+    /**
+     * 
+     */
+    HbAbstractViewItem * createDefaultPrototype() const;
+    
+    /**
+     * 
+     */
+    void setItemModelIndex(HbAbstractViewItem *item, const QModelIndex &index);
+    
+    /**
+     * Updates geometry of a timed event.
+     */
+    void updateTimedEventGeometry(HbAbstractViewItem *item, 
+                                  const QModelIndex &index);
+    
+    /**
+     * Updates geometry of a all-day events	
+     */
+    void updateAllDayEventGeometry(HbAbstractViewItem *item, 
+                                  const QModelIndex &index);
+    
+    /**
+     * Structure with event layout values.
+     * 
+     * eventAreaX X value for event area start.
+     * eventAreaWidth The width of event area.
+     * eventMargin Margins between the multiple events.
+     * slotHeight Half hour slot's height.
+     * unitInPixels no. of pixels in 1un
+     */
+
+    struct LayoutValues {
+					LayoutValues()
+						:eventAreaX(0),
+						 eventAreaWidth(0),
+						 eventMargin(0),
+						 slotHeight(0),
+						 unitInPixels(0),
+						 maxColumns(0)
+						 {}
+						
+    	qreal eventAreaX;
+    	qreal eventAreaWidth;
+    	qreal eventMargin;
+    	qreal slotHeight;
+    	qreal unitInPixels;
+    	int maxColumns;
+    };
+    
+    /**
+     * Gets event layout values.
+     * 
+     * @param layoutValues structure to be filled with layout data
+     */
+    void getTimedEventLayoutValues(LayoutValues& layoutValues);
+    
+    
+    /**
+     *  creates absorbers which prevent touching to small items
+     *  (according to UI spec items smaller than ... are untouchable)
+     */
+    void createTouchEventAbsorbers();
+    
+    /**
+     * 
+     */
+    TouchEventAbsorber* crateAbsorberBetweenSlots(int startSlot, int endSlot);
+    
+private:
+    
+    bool mGeometryUpdated;
+
+    QDateTime mDateTime;
+    
+    /**
+     * Day event info.
+     * Not own.
+     */
+    CalenDayInfo* mInfo;
+    
+    LayoutValues mLayoutValues;
+    QList<TouchEventAbsorber*> mAbsorbers;
+};
+
+
+
+class TouchEventAbsorber : public HbWidget
+    	{
+	Q_OBJECT
+    public:
+    	TouchEventAbsorber(QGraphicsItem *parent=0);
+    	~TouchEventAbsorber();
+    	
+    protected:
+        void gestureEvent(QGestureEvent *event);
+        
+#ifdef _DEBUG
+        void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
+				QWidget *widget);
+#endif
+        
+    	};
+
+#endif // CALENDAYCONTAINER_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/inc/calendaycontentscrollarea.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,80 @@
+/*
+ * 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:  CalenDayContentScrollArea class definition.
+ *
+ */
+
+#ifndef CALENDAYCONTENTSCROLLAREA_H_
+#define CALENDAYCONTENTSCROLLAREA_H_
+
+// System includes
+#include <hbscrollarea.h>
+
+// User includes
+#include "calendaycommonheaders.h"
+
+// Class declaration
+class CalenDayContentScrollArea : public HbScrollArea
+{
+Q_OBJECT
+
+public:
+    CalenDayContentScrollArea(QGraphicsItem *parent = 0);
+    virtual ~CalenDayContentScrollArea();
+
+signals:
+    void scrollAreaMoveStarted(CalenScrollDirection scrollTo);
+    void scrollAreaMoveFinished(CalenScrollDirection scrollTo);
+
+public slots:
+    void scrollToMiddleWidget();
+
+protected:
+    bool scrollByAmount(const QPointF &delta);
+    
+    void gestureEvent(QGestureEvent *event);
+    bool eventFilter(QObject *obj, QEvent *event);
+    bool event(QEvent *e);
+    
+private:	// private functions
+    void checkPanDirection(QPanGesture *panGesture);
+    void moveTo(const QPointF &newPosition, int time = 0);
+    
+private slots:
+    void moveFinished();
+    void orientationChanged(Qt::Orientation orientation);
+
+private:    // data
+    QPointF mStartPosition;  //!< Start position of movement
+
+    qreal mContentWidth; //!< Content width
+    
+    Qt::Orientation mOrientation;   //!< Stores current orientation
+
+    /*!
+     \brief Pan gesture direction indicator
+     
+     Member is used when switching widgets by panning gesture is enabled.
+     */
+    CalenPanDirection mPanDayDirection;
+    
+    bool mIsMoving; //!< Indicates if moving of scroll area is in progress
+    
+    /*!
+     \brief Scroll area horizontal move direction
+     */
+    CalenScrollDirection mMoveDirection;
+};
+
+#endif /* CALENDAYCONTENTSCROLLAREA_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/inc/calendaycontentwidget.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,75 @@
+/*
+ * 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);
+    ~CalenDayContentWidget();
+
+    void add(HbWidget* item, CalenWidgetPosition where = ECalenLastWidget);
+    HbWidget* take(CalenWidgetPosition which);
+    void remove(CalenWidgetPosition which);
+
+signals:
+    void widgetsRelayoutFinished(CalenScrollDirection scrollTo);
+    void scrollPositionChanged(const QPointF &newPos);
+
+public slots:
+    void relayoutWidgets(CalenScrollDirection scrollTo);
+    void widgetScrolled(const QPointF &newPos);
+    
+private:
+    void initializeViews(QGraphicsItem *parent);
+
+private:
+    QGraphicsLinearLayout* mLayout; //!< Linear layout for day views
+
+    QList<HbWidget*> mWidgets; //!< List of widget instances
+    
+    CalenDayModelManager &mModelManager;  //!< Reference to model manager
+};
+
+#endif /* CALENDAYCONTENTWIDGET_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/inc/calendayeventspane.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,44 @@
+/*
+* 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:  Day view control of calendar
+*
+*/
+
+#ifndef CALENDAYEVENTSPANE_H_
+#define CALENDAYEVENTSPANE_H_
+
+// System includes
+#include <QPen>
+#include <HbWidget>
+
+class CalenDayEventsPane : public HbWidget
+{
+public:
+    CalenDayEventsPane(HbWidget *parent=0);
+    virtual ~CalenDayEventsPane();
+    
+    void drawTopLine(bool drawTopLine = false);
+    
+protected:
+    void paint(QPainter * painter, const QStyleOptionGraphicsItem * option, 
+        QWidget * widget);
+    
+private:
+    QColor mHourLineColor;
+    qreal mUnitInPixels;
+    QPen mCustomDashedPen;
+    bool mDrawTopLine;      //!< Flag indicates if top line should be drawn
+};
+
+#endif /* CALENDAYEVENTSPANE_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/inc/calendayhourelement.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,61 @@
+/*
+* 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:  Day view control of calendar
+*
+*/
+
+#ifndef CALENDAYHOURELEMENT_H
+#define CALENDAYHOURELEMENT_H
+
+//System includes
+#include <QTime>
+#include <QPen>
+#include <hbwidget.h>
+
+//User includes
+
+
+//Forward declarations
+class CalenDayHourScrollArea;
+
+class CalenDayHourElement : public HbWidget
+{
+	Q_OBJECT
+
+public:
+    
+    /**
+     * Constructor.
+     */
+    CalenDayHourElement(const QTime &time, QGraphicsItem *parent=0);
+    
+    /**
+     * Destructor.
+     */
+    virtual ~CalenDayHourElement();
+
+    /**
+     * 
+     */
+    void paint(QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget);
+
+private:
+    
+    CalenDayHourScrollArea *mContainer;
+    QTime mHour;
+    QColor mHourLineColor;
+    qreal mUnitInPixels;
+};
+
+#endif // CALENDAYHOURELEMENT_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/inc/calendayhourscrollarea.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,52 @@
+/*
+ * 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:  CalenDayHourScrollArea class definition.
+ *
+ */
+
+#ifndef CALENDAYHOURSCROLLAREA_H_
+#define CALENDAYHOURSCROLLAREA_H_
+
+// System includes
+#include <hbscrollarea.h>
+#include <QDateTime>
+
+// User includes
+#include "calendaycommonheaders.h"
+
+//forward declarations
+class CalenDayHourElement;
+
+// Class declaration
+class CalenDayHourScrollArea : public HbScrollArea
+{
+Q_OBJECT
+
+public:
+    CalenDayHourScrollArea(QGraphicsItem *parent = 0);
+    virtual ~CalenDayHourScrollArea();
+    void setDateTime(const QDateTime &dateTime);
+    QDateTime dateTime() const;
+    
+    void scrollToHour(int hour);
+
+public slots:
+    void scrollVertically(const QPointF &newPosition);
+    
+private:
+    QDateTime mDateTime;
+    QList<CalenDayHourElement*> mHourElements;
+};
+
+#endif /* CALENDAYHOURSCROLLAREA_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/inc/calendayinfo.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,759 @@
+/*
+* 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:  Storage class for day and week views.
+*
+*/
+
+#ifndef  CALENDAYINFO_H
+#define  CALENDAYINFO_H
+
+//  INCLUDES
+#include <e32std.h>
+#include <QList>
+#include <QDateTime>
+#include <QAbstractItemModel>
+
+#include <calinstance.h>
+#include "caleninstanceid.h"
+
+
+//
+/** Scrolling directions **/
+enum TScrollDirection
+    {
+    EScrollUp,
+    EScrollDown,
+    EScrollLeft,
+    EScrollRight
+    };
+
+//Constants
+const int KFSCalMaxDescriptionLength = 100;
+const int KFSCalStartingHour = 8;
+const int KFSCalSlotsInHour = 2;
+
+/**
+ * An interval containing a start and end slot.
+ * The start slot belongs to the interval, the end slot
+ * is the first slot outside of the interval. If the end slot
+ * is before or at the same slot as the start slot, the interval
+ * is considered empty.
+ */
+class CalenSlotInterval
+    {
+public:
+    /**
+     * Check if this interval overlaps the second interval.
+     */
+    bool Overlaps( const CalenSlotInterval& aInterval ) const;
+
+    /**
+     * Add aOffset to all slot coordinates later than aPos
+     */
+    void AddOffset( int aOffset, int aPos );
+
+    /**
+     * Set this interval to be the minimum interval
+     * containing both this original interval and aInterval.
+     */
+    void Union( const CalenSlotInterval& aInterval );
+
+    /**
+     * Check if aInterval lies directly next to this interval.
+     */
+    bool Adjacent( const CalenSlotInterval& aInterval ) const;
+
+    /**
+     * Check if this interval is empty.
+     */
+    bool IsEmpty() const;
+
+    /**
+     * Set this interval to be the area contained in both
+     * this interval and to aInterval.
+     */
+    void Intersect( const CalenSlotInterval& aInterval );
+
+    /**
+     * Remove aInterval from this interval. If aInterval lies
+     * within this interval, the result is two separate intervals.
+     * This object contains one of them, aSecondPart contains the other one.
+     * If the result is just one single interval, this interval contains that
+     * and aSecondPart is set to an empty interval.
+     */
+    void Subtract( const CalenSlotInterval& aInterval, CalenSlotInterval& aSecondPart );
+
+    /**
+     * Check if this interval starts later than aInterval.
+     */
+    bool operator>( const CalenSlotInterval& aInterval ) const;
+
+    /**
+     * The starting slot of the interval. This is the first slot
+     * that belongs to the interval.
+     */
+    int iStartSlot;
+    
+    /**
+     * The ending slot of the interval. This is the first slot
+     * that doesn't belong to the interval.
+     */
+    int iEndSlot;
+    };
+
+
+/**
+ * Class for storing a calendar instance and the range it occupies.
+ */
+struct CalenTimedEventInfo : public CalenSlotInterval
+    {
+public:
+    /**
+     * The id of the calendar instance
+     */
+    TCalenInstanceId iId;
+    
+    /**
+     * Status of the entry, needed for setting the displayed color later
+     */
+    AgendaEntry::Status iStatus;
+    
+    /**
+     * Replication status of the entry, needed for setting the displayed color
+     * later.
+     */
+//    AgendaEntry::TReplicationStatus iReplicationStatus;
+    };
+
+/**
+ * Class for storing general time intervals and their associated
+ * status (needed for displaying the interval).
+ */
+struct CalenEventInterval : public CalenSlotInterval
+    {
+public:
+    /**
+     * The status of this interval, if it represents only one calendar
+     * instance.
+     */
+    AgendaEntry::Status iStatus;
+    
+    /**
+     * The replication status of this interval, if it represents only one
+     * calendar instance.
+     */
+//    AgendaEntry::TReplicationStatus iReplicationStatus;
+    
+    /**
+     * A flag saying that this interval represents a conflict between two or
+     * more calendar instances.
+     */
+    bool iOverlap;
+    };
+
+
+
+/**
+ * A class containing a sequence of non-overlapping events,
+ * visualised as a column.
+ */
+class CalenTimeColumn : public CalenSlotInterval
+    {
+public:
+
+    /**
+     * Explicitly frees the memory used by the event array.
+     */
+    void Close();
+
+    /**
+     * Add a new event to this column. Events must be added sequentially,
+     * and must not overlap earlier events in this column.
+     */
+    void AddEvent( const CalenTimedEventInfo& aEvent );
+
+    /**
+     * Check if a new event can be added to this column.
+     */
+    bool CanFitEvent( const CalenTimedEventInfo& aEvent );
+
+    /**
+     * Check if this column contains an event with the id aId.
+     */
+    bool ContainsEvent( const TCalenInstanceId& aId );
+
+    /**
+     * Add aOffset to all slot coordinates later than aPos
+     */
+    void AddOffset( int aOffset, int aPos );
+
+    /**
+     * Event array.
+     */
+    QList<CalenTimedEventInfo> iEventArray;
+    };
+
+
+/**
+ * A class containing one or more columns with events,
+ * where every event overlaps at least one event in some other
+ * column. (Otherwise that event should be added to a separate region.)
+ */
+class CalenTimeRegion : public CalenSlotInterval
+    {
+public:
+    
+    /**
+     * Explicitly frees the memory used by data structures.
+     */
+    void Close();
+
+    /**
+     * Check if the given interval overlaps with this region.
+     */
+    bool Overlaps( const CalenSlotInterval& aInterval ) const;
+
+    /**
+     * Add an event to this region. Events must be added sequentially,
+     * and must overlap this region (unless it's the first event of the region).
+     */
+    void AddEvent( const CalenTimedEventInfo& aEvent );
+
+    /**
+     * Add aOffset to all slot coordinates later than aPos
+     */
+    void AddOffset( int aOffset, int aPos );
+
+private:
+    
+    /**
+     * Add the event to the bookkeeping of overlapping/nonoverlapping
+     * intervals.
+     */
+    void AddInterval( const CalenTimedEventInfo& aEvent );
+    
+public:
+
+    QList<CalenTimeColumn> iColumns;
+    QList<CalenEventInterval> iIntervals;
+    };
+
+
+/**
+ * A container struct, used by the clients of the slot info storage,
+ * to provide data in.
+ */
+struct SCalenApptInfo
+    {
+    QModelIndex iIndex;
+    QDateTime iStartTime;
+    QDateTime iEndTime;
+    bool iAllDay;
+    TCalenInstanceId iId;
+    AgendaEntry::Status iStatus;
+//    AgendaEntry::TReplicationStatus iReplicationStatus;
+    TBufC<KFSCalMaxDescriptionLength> iSummary;
+    TUint32 iColor;
+    };
+
+
+/**
+ * Storage class for storing all calendar instances within one day. This
+ * class organises the data according to the way it will be needed in the
+ * day and week view.
+ */
+class CalenDayInfo
+    {
+public:
+
+    enum TSlotsInHour
+        {
+        EOne = 1,
+        ETwo,
+        EThree,
+        EFour
+        };
+
+public:  // Constructors and destructor
+
+    /**
+     * C++ default constructor.
+     */
+    CalenDayInfo( TSlotsInHour aSlotsInHour );
+    
+    /**
+     * Destructor
+     */
+    virtual ~CalenDayInfo();
+
+
+public:     // New functions
+
+    /**
+     * Reset the storage, remove all data and set the state back to normal.
+     */
+    void Reset();
+
+    /**
+     * Add a timed event. All timed events must be added in increasing
+     * order (sorted by starting time).
+     */
+    void InsertTimedEvent( const SCalenApptInfo& aItemInfo );
+    
+    /**
+     * Add an untimed event.
+     */
+//    void InsertUntimedEventL( const CCalInstance& aInstance );
+    
+    /**
+     * Add an untimed event. (Nonleaving version, useful for testing.)
+     */
+    void InsertUntimedEvent( AgendaEntry::Type aType,
+                             const TCalenInstanceId& aId );
+    /**
+     * Add an allday event.
+     */
+    void InsertAlldayEvent( const SCalenApptInfo& aItemInfo );
+
+    /**
+     * Is the given event allday event
+     * @param aStart time to be checked
+     * @param aEnd time to be checked
+     * @return true if this is allday event, false otherwise
+     */
+    static bool IsAlldayEvent( QDateTime aStart, QDateTime aEnd );
+
+    /**
+     * Is the given event allday event
+     * @param aInstance Instance to be checked
+     * @return true if this is allday event, false otherwise
+     */
+//    static bool IsAlldayEvent( const CCalInstance& aInstance );
+
+    /**
+     * Return the slot number where this class would insert the
+     * untimed events if nothing else is specified.
+     */
+    int SuggestedUntimedSlotPos();
+    
+    /**
+     * Return how many untimed slots is needed for this day.
+     */
+    int NeededUntimedSlotCount();
+
+    /**
+     * Update the indexing to take the current amount of untimed slots
+     * into account. This must be called after all untimed events
+     * have been added.
+     *
+     * @param aSlot the slot where the untimed events are to be added.
+     *              If negative, uses the default, otherwise aSlot must
+     *              be less than or equal to the default position as
+     *              returned by SuggestedUntimedSlotPos().
+     * @param aUntimedCount the number of slots to insert for untimed events. If
+     *                      aSlot is specified, this must be larger or equal
+     *                      to NeededUntimedSlotCount().
+     */
+    int UpdateUntimedPos( int aSlot = -1, int aUntimedCount = 0 );
+
+    /**
+     * Return the first slot containing a non-allday event.
+     * If this class doesn't contain any data, returns KErrNotFound.
+     */
+    int FirstOccupiedSlot();
+    
+    /**
+     * Return the last slot containing a non-allday event.
+     * If this class doesn't contain any data, returns KErrNotFound.
+     */
+    int LastOccupiedSlot();
+
+    int EarliestEndSlot();
+    int LastStartSlot();
+
+
+    /**
+     * Convert a starting time into a slot index.
+     */
+    int SlotIndexForStartTime( QDateTime aStartTime );
+    
+    /**
+     * Convert an ending time into a slot index.
+     */
+    int SlotIndexForEndTime( QDateTime aStartTime );
+
+    /**
+     * Get information about where the item aItemInfo
+     * should be displayed. The parameters are filled
+     * on return.
+     *
+     * @param aStartSlot    the first slot of the event
+     * @param aEndSlot      the first slot after the event
+     * @param aColumnIndex  the column in which this event is located
+     * @param aColumns      the total number of columns in the region
+     *                      this event belongs to
+     */
+    void GetLocation( const SCalenApptInfo& aItemInfo,
+                      int& aStartSlot,
+                      int& aEndSlot,
+                      int& aColumnIndex,
+                      int& aColumns );
+
+    /**
+     * Get the number of allday events
+     */
+    int AlldayCount();
+    
+    /**
+     * Get the number of todo events
+     */
+    int TodoCount();
+
+    /**
+     * Check if a slot is the first slot of an hour.
+     */
+    bool IsHourStartSlot( const int& aSlotIndex ) const;
+    
+    /**
+     * Check if a slot is an extra slot (for untimed events).
+     */
+    bool IsExtraSlot( const int& aSlotIndex ) const;
+    
+    /**
+     * Convert a slot index into a hour
+     */
+    int HourFromSlotIndex( const int& aSlotIndex ) const;
+    
+    /**
+     * Convert a hour into a slot index.
+     */
+    int SlotIndexFromHour( int aHour );
+
+    /**
+     * Rounds the slot number up (towards earlier hours) to an even hour
+     */
+    int RoundHourUp( int aSlot );
+
+    /**
+     * Rounds the slot number down (towards later hours) to an even hour
+     */
+    int RoundHourDown( int aSlot );
+
+    /**
+     * Get the starting slot of the current selection
+     */
+    void GetSelectedSlot( int& aSlot, int& aRegion, int& aColumnIndex, int& aColumns );
+    
+    /**
+     * Try to move the selection in the given direction
+     *
+     * @return true if able to move the selection, false if
+     *         unable to move (indicating that the selection should move
+     *         to the next/previous day).
+     */
+    bool MoveSelection( TScrollDirection aDirection );
+
+    /**
+     * Move the selected slot within the currently selected event.
+     */
+    void MoveSelectionInEvent( TScrollDirection aDirection );
+
+    /**
+     * Make sure the selected slot within the currently selected event is valid.
+     */
+    void UpdateSelectionInEvent();
+
+    /**
+     * Check if any event currently is selected.
+     */
+    bool IsEventSelected() const;
+    
+    /**
+     * Check if the current selection actually denotes
+     * more than one event (the todo event slot is selected,
+     * containing more than one todo).
+     */
+    bool IsMultipleEventsSelected() const;
+    
+    /**
+     * Check if an allday event currently is selected.
+     */
+    bool IsAlldayEventSelected() const;
+
+    /**
+     * Get the instance id of the currently selected event.
+     */
+    TCalenInstanceId SelectedEvent();
+
+    /**
+     * Update the state to make the given calendar instance selected
+     *
+     * @return KErrNotFound if the instance isn't found, KErrNone otherwise.
+     */
+    int SelectEvent( const TCalenInstanceId& aId );
+
+    /**
+     * Get the instance id of an untimed event. Maximally one
+     * todo event is counted into this, i.e. aIndex = 1 never returns
+     * a todo event even though there are more than one.
+     */
+    TCalenInstanceId UntimedEvent( int aIndex );
+
+    /**
+     * Get info about an allday event.
+     */
+    const CalenTimedEventInfo& AlldayEvent( int aIndex );
+
+    /**
+     * Move the selection to the given slot, possibly selecting
+     * an event.
+     */
+    void SelectSlot( int aSlot );
+
+    /**
+     * Return the list of regions.
+     */
+    const QList<CalenTimeRegion>& RegionList() const;
+
+    /**
+     * Get the list of event intervals (for use in week view and ribbon).
+     */
+    void GetEventIntervals( QList<CalenEventInterval>& aArray ) const;
+
+    /**
+     * Return the interval which is selected currently.
+     */
+    CalenSlotInterval SelectedInterval();
+    
+    /**
+     * Sets selection within a region
+     * 
+     * @param aRegion Region index.
+     * @param aColumn Column index.
+     * @param aSlot   Slot number (has to be aligned to full hour).
+     */
+    bool SetSelectionInRegion( int aRegion, int aColumn, int aSlot );
+
+private:
+
+    enum TMoveDirection
+        {
+        EMoveDirectionUp = -1,
+        EMoveDirectionDown = 1
+        };
+
+    /**
+     * See if any region overlaps the given interval. Regions are searched
+     * in the direction specified by aDirection, e.g. if aDirection < 0,
+     * this returns the last overlapping region, if aDirection > 0, returns
+     * the first overlapping instead.
+     *
+     * @return the index of the found overlapping region, or -1 if no
+     *         matching region was found.
+     */
+    int FindRegion( const CalenSlotInterval& aInterval, int aDirection );
+
+    /**
+     * See if any event overlaps the given interval within the current column.
+     * Events are searched in the direction specified by aDirection,
+     * e.g. if aDirection < 0, this returns the last overlapping event,
+     * if aDirection > 0, returns the first overlapping instead.
+     *
+     * @return the index within the column of the overlapping event, or -1 if no
+     *         matching event was found.
+     */
+    int FindEvent( const CalenSlotInterval& aInterval, int aDirection );
+
+    /**
+     * Update the selection state by selecting the first event which ends at
+     * the end of the current region.
+     */
+    void EnterRegionFromBelow();
+    
+    /**
+     * Update the selection state by selecting the first event which starts
+     * at the start of the current region.
+     */
+    void EnterRegionFromAbove();
+
+    /**
+     * Try to move the selection in the given direction, when an
+     * empty area is selected.
+     *
+     * @return true if able to move the selection, false if
+     *         unable to move (indicating that the selection should move
+     *         to the next/previous day).
+     */
+    bool MoveInEmptyArea( TScrollDirection aDirection );
+    
+    /**
+     * Try to move the selection in the given direction, when the
+     * selection is in a region.
+     *
+     * @return true if able to move the selection, false if
+     *         unable to move (indicating that the selection should move
+     *         to the next/previous day).
+     */
+    bool MoveInRegion( TScrollDirection aDirection );
+    
+    /**
+     * Try to move the selection in the given direction, when an
+     * allday event is selected
+     *
+     * @return true if able to move the selection, false if
+     *         unable to move (indicating that the selection should move
+     *         to the next/previous day).
+     */
+    bool MoveInAlldayEvent( TScrollDirection aDirection );
+
+    /**
+     * Update the selection state by moving from one ordinary event column
+     * to another, in the given direction
+     */
+    void MoveBetweenColumns( TScrollDirection aDirection );
+
+    /**
+     * Update the selection state by moving in the given direction
+     */
+    void MoveInColumn( int aDirection );
+    
+    /**
+     * The selection should be moved out of the current region (in the given
+     * direction), update the selection state according to what there is
+     * outside of the region.
+     */
+    void MoveOutFromRegion( int aDirection );
+
+    /**
+     * Set the selected slot within the current event according to the selection
+     * direction.
+     */
+    void SetSelectionInEvent( int aDirection );
+
+    /**
+     * Determines how large area to scan for new events/regions when moving in the
+     * given direction.
+     *
+     * I.e., if moving upwards, returns the whole interval from the start of aInterval
+     * up to the next slot which can be focused as an empty slot. If aInterval doesn't
+     * start on an even hour, the returned interval is from the start of the first whole
+     * hour before the interval, to the start of aInterval.
+     *
+     * If moving downwards, returns the whole interval from the end of aInterval to the
+     * end of the next whole hour after the interval.
+     *
+     */
+    CalenSlotInterval NextFocusArea( const CalenSlotInterval& aInterval, int aDirection );
+
+    /**
+     * Return the next slot to focus if moving in the given direction from the interval
+     * and focusing an empty slot.
+     */
+    int NextEmptyFocusSlot( const CalenSlotInterval& aInterval, int aDirection );
+    
+    /**
+     * Return the interval which the current selection state represents, if
+     * an empty area is selected.
+     */
+    CalenSlotInterval EmptySelectionInterval();
+
+    /**
+     * Backup the whole selection state.
+     */
+    void StoreOrigSelection();
+    
+    /**
+     * Check if the current selection state is valid, if not, reset it
+     * to the backed up copy
+     * @return true if selection state is valid, false if not.
+     */
+    bool ValidateSelection();
+
+private:    // New data
+
+    QList<CalenTimeRegion> iRegionList;
+    QList<TCalenInstanceId> iUntimedEvents;
+    QList<TCalenInstanceId> iTodoEvents;
+    QList<CalenTimedEventInfo> iAlldayEvents;
+
+    int iLastStartSlot;
+    int iEarliestEndSlot;
+    /**
+     * The total number of untimed slots.
+     */
+    int iUntimedSlotCount;
+    /**
+     * The slot index of the first untimed slot.
+     */
+    int iFirstUntimedSlot;
+    /**
+     * The number of empty untimed slots.
+     */
+    int iEmptyUntimedSlots;
+    /**
+     * The number of slots per hour.
+     */
+    TSlotsInHour iSlotsInHour;
+
+    /**
+     * Chooses which allday event is selected. If none currently is selected,
+     * this is negative. This variable overrides the rest selection variables.
+     * If this points to an allday event, the other variables are ignored,
+     * except iSelectedSlot which is used for returning to the original place
+     * if moving back to the ordinary events.
+     */
+    int iSelectedAlldayEvent;
+
+    /**
+     * Chooses which region currently is selected. If none currently is selected,
+     * this is negative. If this points to a region, iSelectedColumn and
+     * iSelectedColumnEventIndex are taken into account.
+     */
+    int iSelectedRegion;
+
+    /**
+     * Chooses which column is selected within the currently selected region.
+     * If this is equal to the number of columns, the last, implicit, empty column
+     * is selected.
+     */
+    int iSelectedColumn;
+    /**
+     * Chooses which event is selected within the currently selected column. If
+     * none is selected, this is negative.
+     */
+    int iSelectedColumnEventIndex;
+    /**
+     * Chooses which slot in the day currently is in focus. This must always point
+     * to a valid slot. If an event is selected within a column, it points to an
+     * slot within that event. If no event is selected, it points to the start
+     * of the currently selected empty time region (which is iSlotsInHour slots long).
+     * If an allday event is selected, this points to the last selected slot in the
+     * ordinary day area.
+     */
+    int iSelectedSlot;
+
+    // copies of the current selection state, to be used for reverting to the original
+    // state if the selection is moved to an invalid position
+    int iOrigSelectedAlldayEvent;
+    int iOrigSelectedRegion;
+    int iOrigSelectedColumn;
+    int iOrigSelectedSlot;
+    int iOrigSelectedColumnEventIndex;
+
+    };
+
+#endif // CALENDAYINFO_H
+
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/inc/calendayitem.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,62 @@
+/*
+* 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:  Day view control of calendar
+*
+*/
+
+#ifndef CALENDAYITEM_H
+#define CALENDAYITEM_H
+
+//System includes
+#include <hbabstractviewitem.h>
+#include <hbtextitem.h>
+#include <hbframeitem.h>
+
+//Forward declarations
+class AgendaEntry;
+class CalenDayStatusStrip;
+
+
+class CalenDayItem : public HbAbstractViewItem
+{
+    Q_OBJECT
+    Q_PROPERTY( bool eventDescription READ hasEventDescription )
+    Q_PROPERTY( bool backgroundFrame READ hasBackgroundFrame )
+    
+public:
+    CalenDayItem();
+    virtual ~CalenDayItem();
+    HbAbstractViewItem * createItem();
+    void updateChildItems();
+    bool hasEventDescription() const { return mEventDesc->isVisible();}
+    bool hasBackgroundFrame() const { return mBg->isVisible();}
+
+protected:
+    void resizeEvent(QGraphicsSceneResizeEvent *event);
+
+private:
+    CalenDayItem(const CalenDayItem &source);
+	void setDescription(const AgendaEntry &entry, bool allDayEvent);
+    void setStatusStrip(const AgendaEntry &entry, bool allDayEvent);
+
+    bool mUpdated;
+    HbFrameItem *mBg;
+    HbTextItem *mEventDesc;
+    CalenDayStatusStrip *mColorStripe;
+    qreal mEventDescMinWidth;
+    qreal mFrameMinWidth; 
+    
+};
+
+#endif // CALENDAYITEM_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/inc/calendayitemview.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,184 @@
+/*
+* 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:  Day view control of calendar
+*
+*/
+
+#ifndef CALENDAYITEMVIEW_H
+#define CALENDAYITEMVIEW_H
+
+//System includes
+#include <hbabstractitemview.h>
+#include <hbmenu.h>
+
+//User includes
+
+//Forward declarations
+class CalenDayInfo;
+class CalenDayContainer;
+class MCalenServices;
+
+class CalenDayItemView : public HbAbstractItemView
+{
+    Q_OBJECT
+
+public:
+    enum CalendarPanDirection {
+        CalendarPanNotSet,
+        CalendarPanVertical,
+        CalendarPanHorizontal
+    };
+
+    enum CalendaRecycleDays {
+        CalendarNoRecycle,
+        CalendarBackwardRecycle,
+        CalendarForwardRecycle
+    };
+
+    /**
+     * Constructor.
+     */
+    CalenDayItemView(MCalenServices &services, HbModelIterator* iterator, QGraphicsItem *parent);
+
+    /**
+     * Destructor.
+     */
+    ~CalenDayItemView();
+
+    /**
+     * 
+     */
+    void scrollTo(const QModelIndex &index, HbAbstractItemView::ScrollHint hint = EnsureVisible);
+
+public slots:
+
+    /**
+     * 
+     */
+    virtual void reset();
+    
+    /**
+     * Handles signal that is emitted when reset() is called, before the model's
+     * internal state (e.g. persistent model indexes) has been invalidated.
+     */
+    void modelAboutToBeReset();
+    
+    /**
+     * Handles signal that is emitted when reset() is called, after the model's
+     * internal state (e.g. persistent model indexes) has been invalidated.
+     */
+    void modelReset();
+
+    /**
+     * 
+     */
+    void scrollVertically(const QPointF &newPosition);
+    
+private slots:
+    
+    /**
+     * This function is called when a touch down event is received within Abstract view item that is representing index.
+     */
+    void itemPressed(const QPointF &position);
+    
+    /**
+     * This function is called when a touch release event is received within Abstract view item that is representing index.
+     */
+    void itemReleased(const QPointF &position);
+    
+    /**
+     * This function is called when the item specified by index is activated by the user.
+     */
+    void itemActivated(const QPointF &position);
+    
+    /**
+     * This function is called when long press event is received within Abstract view item viewItem. 
+     * 
+     * @param item The item.
+     * @param coords is scene position where the long press event happened
+     */
+    void itemLongPressed(HbAbstractViewItem*, QPointF);
+    
+    /**
+     * Slot which is called whenever the orientation of the device changes
+     * @param orientation Current device orientation
+     */
+    void orientationChanged(Qt::Orientation orientation);
+    
+    /**
+     * Opens currently selected model item.
+     */
+    void openSelectedItem();
+    
+    /**
+     * Edits currently selected model item.
+     */
+    void editSelectedItem();
+    
+    /**
+     * Deletes currently selected model item.
+     */
+    void deleteSelectedItem(); 
+
+private:
+    
+    /**
+     * Connects item view's slots.
+     */
+    void setupSlots();
+    
+    /**
+     * Creates Context menu.
+     */
+    void setupContextMenu();
+    
+    /**
+     * Sets context to currently selected model item and issues calendar command.
+     * 
+     * @param command Calendar command.
+     */
+    bool issueCommandOnSelectedItem( int command );
+    
+    /**
+     * Clears current selection in Selection Model.
+     */
+    void clearSelectionInModel();
+
+private:
+
+    /**
+     * Calendar services. Not owned.
+     */
+    MCalenServices  &mServices;
+    
+    /**
+     * Item container.
+     */
+    CalenDayContainer* mContainer;
+    
+    /**
+     * Day event info.
+     * Own.
+     */
+    CalenDayInfo* mInfo;
+    
+    /**
+     * context menu
+     */
+    HbMenu* mContextMenu;
+};
+
+#endif // CALENDAYITEMVIEW_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/inc/calendaymodel.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,64 @@
+/*
+* 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);
+	
+    // from QAbstractListModel
+	int rowCount(const QModelIndex &parent = QModelIndex()) const;
+    QVariant data(const QModelIndex &index, int role) const;
+    
+	void refreshModel(const QDateTime &date);
+	
+	QDateTime modelDate() const;
+	
+	
+private:
+    void loadAndStoreInstances(const QDateTime& date);
+    
+private:
+    MCalenServices &mServices;
+    QVariantList mEntryList;
+    QDateTime mDateTime;
+};
+
+#endif //CALENDAYMODEL_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/inc/calendaymodelmanager.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,69 @@
+/*
+* 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: Model manager holds models for three day views
+*
+*/
+#ifndef CALENDAYMODELMANAGER_H
+#define CALENDAYMODELMANAGER_H
+
+#include <QObject>
+#include <QMap>
+#include <QDateTime>
+
+#include "calendaycommonheaders.h"
+
+class QAbstractItemModel;
+class MCalenServices; 
+class CalenDayModel;
+
+class CalenDayModelManager : public QObject
+{
+    Q_OBJECT
+
+public:
+    enum ModelDay {
+		PreviousDay = 0,
+		CurrentDay = 1,
+		NextDay = 2,
+		NumberOfDays
+    };
+
+public:
+    CalenDayModelManager(MCalenServices &services, bool emptyModels,
+								QObject *parent = 0);
+    ~CalenDayModelManager();
+
+    QAbstractItemModel &getModel(CalenDayModelManager::ModelDay day);
+    
+    void refreshAllModels();
+    void refreshSingleModel(CalenDayModelManager::ModelDay day);
+    MCalenServices &getServices() {
+        return mServices;
+    }
+    
+public slots:
+	void viewsScrollingFinished(CalenScrollDirection scrollTo);
+
+private:
+	void createAllModels();
+	void moveBackward();
+	void moveForeward();
+
+private:
+    QMap<ModelDay, CalenDayModel*> mModels;
+    MCalenServices &mServices;
+    QDateTime mCurrentDayTime;
+};
+
+#endif//CALENDAYMODELMANAGER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/inc/calendaystatusstrip.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,94 @@
+/*
+ * 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:  Day view control of calendar
+ *
+ */
+
+
+#ifndef CALENDAYSTATUSSTRIP_H
+#define CALENDAYSTATUSSTRIP_H
+
+#include <QTime>
+#include <HbWidget>
+
+class CalenDayStatusStrip : public HbWidget
+{
+    Q_OBJECT
+    Q_ENUMS(DrawingStyle)
+public:
+    /*!
+      \brief It specifiy how status Strip should be drawed.
+      
+      OnlyFrame -- draw not filled rectangle
+      StripWithLines -- draw filled rectangle with transparent diagonal lines
+      Filled -- draw filled rectangle     
+     */
+    enum DrawingStyle
+    {
+        OnlyFrame,
+        StripWithLines,
+        Filled
+    };
+    
+    
+    CalenDayStatusStrip(HbWidget *parent = 0);
+    ~CalenDayStatusStrip();
+    
+    qreal range() const;
+
+    QColor color() const;
+
+    CalenDayStatusStrip::DrawingStyle drawingStyle() const;
+    
+    QPair<QTime,QTime> startEndTime() const;
+    
+    void setRange(qreal mRange);
+
+    void setColor(QColor mStripColor);
+    
+    void setDrawingStyle(CalenDayStatusStrip::DrawingStyle mDrawingStyle);
+    
+    void setStartEndTime(const QTime &startTime, const QTime &endTime);
+
+    
+protected:
+    void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, 
+               QWidget *widget = 0);
+    
+    QPolygonF diagonalLine(QPointF startPoint, qreal dx, qreal dy);
+    
+
+    QPair<QTime,QTime> calculateStartEndPostion(
+                                                    const QTime &startTime, 
+                                                    const QTime &endTime
+                                                   );
+    
+    qreal calculateMinuteHeight(const QTime &start, const QTime &end);
+    
+private:
+    qreal mRange; //!<Distanse beatween lines
+    QColor mColor;//!<Color of status stripe
+    CalenDayStatusStrip::DrawingStyle mDrawingStyle;//!<Specify style of drawing
+    /*!
+       Orginal start and end time of event
+     */
+    QPair<QTime,QTime> mStartEndEventTime;
+    
+    static const qreal mMinute;//!<It keep info how much seconds are in minute
+    static const qreal mMinimumTime;//!<It keep info about minimum timeline in minutes
+};
+
+Q_DECLARE_METATYPE(CalenDayStatusStrip::DrawingStyle)
+
+#endif // CALENDAYSTATUSSTRIP_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/inc/calendayutils.h	Thu Jul 22 16:32:51 2010 +0100
@@ -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:  CalenDayUtils utility class header.
+*
+*/
+
+#ifndef CALENDAYUTILS_H_
+#define CALENDAYUTILS_H_
+
+// Forward declarations
+class HbMainWindow;
+class QDateTime;
+class AgendaEntry;
+
+class CalenDayUtils
+{
+public:
+    static CalenDayUtils *instance();
+    ~CalenDayUtils();
+    
+    qreal screenWidth() const;
+    qreal hourElementWidth() const;
+    qreal hourElementHeight() const;
+    qreal contentWidth() const;
+    
+    Qt::Orientation orientation() const;
+    
+    HbMainWindow* mainWindow();
+    
+    bool isHorizontalSwipe(qreal angle) const;
+    
+    /**
+     * Get event's start/end time fromm agenda entry.
+     * Start/end time are validated to be within the current day (the case of
+     * multi-day events)
+     * @param start [out] valid start time
+     * @param end [out] valid end time
+     * @param entry [in] agenda entry asociated with the event.
+     * @param currentDate [in] current date
+     */
+    void getEventValidStartEndTime( QDateTime& start, QDateTime& end,
+                                   AgendaEntry& entry, QDateTime& currentDate );
+    
+protected:
+    CalenDayUtils();
+    
+private:
+    qreal calculateHourElementWidth() const;
+    qreal calculateHourElementHeight() const;
+    
+private:    // data
+    
+    static CalenDayUtils* mInstance;
+    
+    HbMainWindow* mMainWindow;  //!< Pointer to main window
+    
+    qreal mHourElementWidth;    //!< The width of hour element
+    qreal mHourElementHeight;   //!< The height of hour element
+};
+
+#endif /* CALENDAYUTILS_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/inc/calendayview.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,204 @@
+/*
+* 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: CalenDayView class definition.
+*
+*/
+
+#ifndef CALEDAYVIEW_H
+#define CALEDAYVIEW_H
+
+// System includes
+#include <QDateTime>
+#include <xqsettingskey.h>
+
+// User includes
+#include "calennativeview.h"
+#include "calendaycommonheaders.h"
+#include "hb_calencommands.hrh"      // command ids
+
+// Forward declarations
+class QGraphicsLinearLayout;
+class XQSettingsManager;
+class QVariant;
+class HbGroupBox;
+class AgendaEntry;
+class CalenDocLoader;
+class CalenDayContentScrollArea;
+class CalenDayContentWidget;
+class CalenDayHourScrollArea;
+class CalenDayModelManager;
+
+
+// Constants
+
+
+#ifdef  CALENVIEWS_DLL
+#define CALENDAYVIEW_EXPORT Q_DECL_EXPORT
+#else
+#define CALENDAYVIEW_EXPORT Q_DECL_IMPORT
+#endif
+
+class CalenDayView : public CalenNativeView
+{
+    Q_OBJECT
+
+public:
+    
+    /**
+     * Constructor.
+     * 
+     * @param services Calendar services.
+     */
+    CALENDAYVIEW_EXPORT CalenDayView( MCalenServices &services );
+    
+    /**
+     * Destructor.
+     */
+    CALENDAYVIEW_EXPORT virtual ~CalenDayView();
+    
+public:
+
+//From CalenNativeView
+    
+    /**
+     * Handles locale change.
+     * 
+     * @param reason Change reason.
+     */    
+    virtual void onLocaleChanged(int reason);
+    
+//From CalenView
+    
+    /**
+     * Handles view (re)population.
+     * 
+     */
+    CALENDAYVIEW_EXPORT virtual void doPopulation();
+    
+    /**
+     * Informs the organizer that the view's population is complete.
+     */
+    virtual void populationComplete();
+   
+//From MCalenNotificationHandler
+    
+    /**
+     * The function handles calendar notifications.
+     */
+    virtual void HandleNotification( const TCalenNotification notification );
+
+public:
+    //API
+    
+    /**
+     * Sets up the view accroding to the 'xml'
+     * 
+     * @param docLoader Loaded document.
+     */
+    CALENDAYVIEW_EXPORT void setupView(CalenDocLoader* docLoader);
+
+private slots:
+
+    /**
+     * Handles 'back' functionality;
+     */
+    void onBack();
+    
+    /**
+     * Updates selected date member and context
+     */
+    void dayChangeStarted(CalenScrollDirection direction);
+    
+    /**
+     * Refreshes the model
+     */
+    void dayChanged(CalenScrollDirection direction);
+    
+    /**
+     * Sets new date as heading text. Triggerd after fadeOut effect.
+     */
+    void setHeadingText(const HbEffect::EffectStatus &status);
+    
+    /**
+     * Handles actions from menu
+     */
+    void runNewMeeting();
+    void runGoToToday();
+    void runChangeToAgendaView();
+    void runLunarData();
+    
+    void showRegionalInformation(const HbEffect::EffectStatus &status);
+    void showRegionalInformationFadeIn();
+    void showHideRegionalInformationChanged(const XQSettingsKey& key, const QVariant& var);
+
+public slots:
+	void changeView(TCalenCommandId viewId);
+private:
+    /**
+     * 
+     */
+    void getCurrentDate();
+
+    /**
+     * setup menu for the view
+     */
+    void setupMenu();
+    
+    /**
+     * Connects view's slots.
+     */
+    void setupSlots();
+
+    /**
+     * Scrolls content to correct position after view repopulation
+     */
+    void setupViewport();
+
+private: // members related to view management and gesture handling
+    
+    CalenDayContentScrollArea* mContentScrollArea;  //!< Scroll area for content (events)
+    
+    CalenDayContentWidget* mContentWidget;    //!< Content widget
+    
+    CalenDayHourScrollArea* mHourScrollArea;  //!< Scroll area for hour elements
+    
+    CalenDayModelManager* mModelManager;
+    
+    QGraphicsLinearLayout* mVLayout;
+    
+   
+private:    
+
+    XQSettingsManager* mSettingsManager;
+    XQSettingsKey mRegionalInfo;
+    MCalenServices  &mServices;
+	
+    /**
+     * Current date/time.
+     */
+    QDateTime mDate;
+    
+    HbGroupBox *mHeadingLabel;
+    
+    HbGroupBox *mRegionalInfoGroupBox;
+    /*!
+     * \brief It keep pointer to go to Today action from menu. 
+     */
+    HbAction *mGoToTodayMenuAction;
+};
+
+
+#endif // CALEDAYVIEW_H
+
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/resources/calendayhourelement.css	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,28 @@
+CalenDayHourElement{
+    layout: customCalendarLayout;
+}
+
+CalenDayHourElement::time {
+	color: var(qtc_cal_view_text);
+
+	fixed-width: 8.04un;
+	font-variant: secondary;
+	text-height: var(hb-param-text-height-secondary);
+	
+	text-align: right;	
+}
+
+CalenDayHourElement::ampm {
+	color: var(qtc_cal_view_text);
+
+	fixed-width: 8.04un;
+	font-variant: secondary;
+	text-height: var(hb-param-text-height-secondary);
+	
+	text-align: right;	
+}
+
+CalenDayHourElement::bottomSpacer{ 
+	pref-height: 3un;
+	size-policy-vertical: expanding; 
+} 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/resources/calendayhourelement.widgetml	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,14 @@
+<hbwidget version="0.1" type="CalenDayHourElement">
+
+  <layout name="customCalendarLayout" type="mesh">
+    <meshitem src="time" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-var(hb-param-margin-gene-middle-vertical)"/>
+	<meshitem src="time" srcEdge="BOTTOM" dst="ampm" dstEdge="TOP" spacing="var(hb-param-margin-gene-middle-vertical)"/>
+    <meshitem src="time" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-var(hb-param-margin-gene-middle-horizontal)"/>
+	<meshitem src="time" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-middle-horizontal)"/>
+
+    <meshitem src="ampm" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="0un" spacer="bottomSpacer"/>
+    <meshitem src="ampm" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-var(hb-param-margin-gene-middle-horizontal)"/>
+    <meshitem src="ampm" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-middle-horizontal)"/>
+  </layout>
+
+</hbwidget>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/resources/calendayitem.css	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,30 @@
+CalenDayItem{
+    layout: noIconLayout;
+}
+
+CalenDayItem[!eventDescription][!backgroundFrame]{
+    layout: noIconNoTextNoBkgLayout;
+}
+
+CalenDayItem[!eventDescription][backgroundFrame]{
+    layout: noIconNoTextLayout;
+}
+
+CalenDayItem::eventDescription {
+    color: var(qtc_cal_meeting_text); 
+    font-variant: secondary;
+    text-height: var(hb-param-text-height-secondary);
+    text-align: center center;
+    text-line-count-min: 1;
+    size-policy-vertical: expanding;
+}
+ 
+CalenDayItem::colorStripe {
+    pref-width: 1.5un;
+    size-policy-horizontal: fixed; 
+}
+
+CalenDayItem::spacerItem{
+    pref-width: 1.5un;
+    size-policy-horizontal: expanding; 
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/resources/calendayitem.widgetml	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,37 @@
+<hbwidget version="0.1" type="CalenDayItem">
+    <!-- layout for timed and all-day event bubble -->
+    <layout name="noIconLayout" type="mesh">
+        <meshitem src="backgroundFrame" srcEdge="TOP" dst="" dstEdge="TOP" />
+        <meshitem src="backgroundFrame" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" />
+        <meshitem src="backgroundFrame" srcEdge="LEFT" dst="" dstEdge="LEFT" />
+        <meshitem src="backgroundFrame" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+      
+        <meshitem src="colorStripe" srcEdge="TOP" dst="" dstEdge="TOP" />
+        <meshitem src="colorStripe" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" />      
+        <meshitem src="colorStripe" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-var(hb-param-margin-gene-middle-horizontal)"/>
+        <meshitem src="colorStripe" srcEdge="RIGHT" dst="eventDescription" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)"/>
+        
+        <meshitem src="eventDescription" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-var(hb-param-margin-gene-middle-vertical)" />
+        <meshitem src="eventDescription" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="var(hb-param-margin-gene-middle-vertical)" />
+        <meshitem src="eventDescription" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-right)"/>
+    </layout>
+	
+    <layout name="noIconNoTextLayout" type="mesh">
+        <meshitem src="backgroundFrame" srcEdge="TOP" dst="" dstEdge="TOP" />
+        <meshitem src="backgroundFrame" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" />
+        <meshitem src="backgroundFrame" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+        <meshitem src="backgroundFrame" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+      
+        <meshitem src="colorStripe" srcEdge="TOP" dst="" dstEdge="TOP" />
+        <meshitem src="colorStripe" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" />      
+        <meshitem src="colorStripe" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-var(hb-param-margin-gene-middle-horizontal)"/>
+        <meshitem src="colorStripe" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacer="spacerItem"/>
+    </layout>
+	
+    <layout name="noIconNoTextNoBkgLayout" type="mesh">
+        <meshitem src="colorStripe" srcEdge="TOP" dst="" dstEdge="TOP" />
+        <meshitem src="colorStripe" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" />      
+        <meshitem src="colorStripe" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+        <meshitem src="colorStripe" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+    </layout>
+</hbwidget>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/resources/calendaywidgets.qrc	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,10 @@
+<RCC>
+    <qresource prefix="/" >
+        <file>calendayhourelement.css</file>
+        <file>calendayhourelement.widgetml</file>
+        <file>calendayitem.css</file>
+        <file>calendayitem.widgetml</file>
+	<file>fade_out.fxml</file>
+	<file>fade_in.fxml</file>
+    </qresource> 
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/resources/fade_in.fxml	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,10 @@
+<layers>
+  <visual>
+    <param name="opacity" type="anim">
+      <duration>0.2</duration>
+      <style>linear</style>
+	  <keyframe at="0.0">0.0</keyframe>
+      <keyframe at="1.0">1.0</keyframe>
+    </param>   
+  </visual>
+</layers>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/resources/fade_out.fxml	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,10 @@
+<layers>
+  <visual>
+    <param name="opacity" type="anim">
+      <duration>0.2</duration>
+      <style>linear</style>
+	  <keyframe at="0.0">1.0</keyframe>
+      <keyframe at="1.0">0.0</keyframe>
+    </param>   
+  </visual>
+</layers>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/src/calendaycontainer.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,531 @@
+/*
+* 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:  Day view control of calendar
+*
+*/
+
+//System includes
+#include <QTime>
+#include <QGraphicsLinearLayout>
+#include <QGesture>
+
+#ifdef _DEBUG
+	#include <QPainter>
+#endif
+
+#include <hbabstractitemview.h>
+#include <hbtextitem.h>
+#include <hbmodeliterator.h>
+#include <hbinstance.h>
+
+//User includes
+#include "calendaycontainer.h"
+#include "calendayutils.h"
+#include "calendayeventspane.h"
+#include "calendayitem.h"
+#include "calendaymodel.h"
+#include "calendayinfo.h"
+#include "calendayview.h"
+
+// -----------------------------------------------------------------------------
+// CalenDayContainer()
+// Constructor
+// -----------------------------------------------------------------------------
+//
+CalenDayContainer::CalenDayContainer(QGraphicsItem *parent) :
+    HbAbstractItemContainer(parent), mGeometryUpdated(false), mInfo(0)
+{
+    getTimedEventLayoutValues(mLayoutValues);
+    
+    // Get the height of element
+    qreal paneHeight = CalenDayUtils::instance()->hourElementHeight();
+    
+    QGraphicsLinearLayout* timeLinesLayout = new QGraphicsLinearLayout(
+        Qt::Vertical, this);
+    for (int i = 0; i < 24; i++) {
+        CalenDayEventsPane* element = new CalenDayEventsPane(this);
+        element->setPreferredHeight(paneHeight);
+        element->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
+		// Draw top line at midnight
+        if (i == 0) {
+            element->drawTopLine(true);
+        }
+        timeLinesLayout->addItem(element);
+    }
+    timeLinesLayout->setContentsMargins(0.0, 0.0, 0.0, 0.0);
+    timeLinesLayout->setSpacing(0.0);
+
+    setLayout(timeLinesLayout);
+}
+
+// -----------------------------------------------------------------------------
+// ~CalenDayContainer()
+// Destructor
+// -----------------------------------------------------------------------------
+//
+CalenDayContainer::~CalenDayContainer()
+{
+}
+
+// -----------------------------------------------------------------------------
+// itemAdded()
+// 
+// -----------------------------------------------------------------------------
+//
+void CalenDayContainer::itemAdded( int index, HbAbstractViewItem *item, 
+                                     bool animate )
+{
+    Q_UNUSED( index )
+    Q_UNUSED( item )
+    Q_UNUSED( animate )
+}
+
+// -----------------------------------------------------------------------------
+// reset()
+// 
+// -----------------------------------------------------------------------------
+//
+void CalenDayContainer::reset()
+{
+	// remove absorbers if exist
+	if (mAbsorbers.count())
+		{
+		qDeleteAll(mAbsorbers);
+		mAbsorbers.clear();
+		}
+	
+	// shrink event area when all-day events available after reset
+	getTimedEventLayoutValues(mLayoutValues);
+	
+    // position need to be maintained while changing model
+    QPointF position(pos());
+    HbAbstractItemContainer::reset();
+    setPos( position );
+}
+
+// -----------------------------------------------------------------------------
+// itemRemoved()
+// 
+// -----------------------------------------------------------------------------
+//
+void CalenDayContainer::itemRemoved( HbAbstractViewItem *item, bool animate )
+{
+    Q_UNUSED( item )
+    Q_UNUSED( animate )
+}
+
+// -----------------------------------------------------------------------------
+// viewResized()
+// 
+// -----------------------------------------------------------------------------
+//
+void CalenDayContainer::viewResized (const QSizeF &size)
+{
+    resize(size);
+    if (!mGeometryUpdated) {
+        mGeometryUpdated = true;
+        updateGeometry();
+    }
+}
+
+// -----------------------------------------------------------------------------
+// createDefaultPrototype()
+// 
+// -----------------------------------------------------------------------------
+//
+HbAbstractViewItem * CalenDayContainer::createDefaultPrototype() const
+{
+    CalenDayItem *calendarViewItem = new CalenDayItem;
+    return calendarViewItem;
+}
+
+// -----------------------------------------------------------------------------
+// setItemModelIndex()
+// 
+// -----------------------------------------------------------------------------
+//
+void CalenDayContainer::setItemModelIndex(HbAbstractViewItem *item, 
+                                            const QModelIndex &index)
+{
+    QVariant variant = index.data( CalenDayEntry );
+    AgendaEntry entry = variant.value<AgendaEntry>();
+    
+    if (entry.isTimedEntry()) {
+        updateTimedEventGeometry( item, index );
+        item->setParentItem(this);
+    	}
+    else if( entry.type() == AgendaEntry::TypeEvent ){
+        updateAllDayEventGeometry( item, index );
+        item->setParentItem(this);
+    	} 
+    else {
+    	item->setVisible(false);
+    }
+    
+    // last item
+    if (index.row() == index.model()->rowCount() - 1) {
+    	createTouchEventAbsorbers();
+    }
+
+    HbAbstractItemContainer::setItemModelIndex(item, index);
+}
+
+// -----------------------------------------------------------------------------
+// updateTimedEventGeometry()
+// Updates geometry of a timed event.
+// -----------------------------------------------------------------------------
+//
+void CalenDayContainer::updateTimedEventGeometry(HbAbstractViewItem *item, 
+                                                   const QModelIndex &index)
+{
+//safety check
+    if ( !mInfo ) {
+        return;
+    }
+    
+    QVariant variant = index.data( CalenDayEntry );
+    AgendaEntry entry = variant.value<AgendaEntry>();
+    
+//1. get 'virtual' event position from DayInfo
+//TODO: k.g.: Day Info should store model index instead of keeping redundant data
+    SCalenApptInfo apptInfo;
+    apptInfo.iIndex = index;
+    
+    QDateTime start;
+    QDateTime end;
+    QDateTime currentDate;
+    currentDate = static_cast<const CalenDayModel*>(index.model())->modelDate();
+    CalenDayUtils::instance()->getEventValidStartEndTime( start, end, entry,
+                                                          currentDate );
+    apptInfo.iStartTime = start;
+    apptInfo.iEndTime = end;
+    
+    TCalenInstanceId id = TCalenInstanceId::nullInstanceId();
+    id.mEntryLocalUid = index.row(); //index.row() - temporary ID
+    id.mInstanceTime = apptInfo.iStartTime; 
+    apptInfo.iId = id;
+    apptInfo.iAllDay = 0;
+    apptInfo.iColor = 0xffff;
+    
+    int startSlot, endSlot, columnIdx, columns;
+    mInfo->GetLocation( apptInfo, startSlot, endSlot, columnIdx, columns );
+    
+
+//2. set timed event's geometry
+    qreal eventStartX(mLayoutValues.eventAreaX );
+    qreal eventStartY(0.0);
+    qreal eventWidth(mLayoutValues.eventAreaWidth);
+    qreal eventHeight(0.0);
+       
+    //event's startY/height
+    eventStartY = startSlot * mLayoutValues.slotHeight;
+    eventHeight = (endSlot - startSlot) * mLayoutValues.slotHeight;
+
+    //event's startX/width
+    eventWidth /= columns;
+    
+    //In case when eventWidth will be smaller then 3.0un we need to 
+    //make spacings between events smaller.
+    //Check whether it's possible to shring them so the bubbles 
+    //width can stay at 3.0un (time stripe + frame margins).
+    qreal minWidth = 3.0 * mLayoutValues.unitInPixels; 
+    if(eventWidth - mLayoutValues.eventMargin < minWidth){
+        
+        //Calculate new margin value
+        //from totalMarginSpace we need to subtract 
+        //mLayoutValues.eventMargin because first margin is always 1.5un
+        qreal totalMarginSpace =  mLayoutValues.eventAreaWidth - minWidth * columns - mLayoutValues.eventMargin;
+        qreal newMarginValue = totalMarginSpace / (columns - 1);
+        
+        //check if we managed to pack all the events into space we have
+        if(newMarginValue > 0){
+            
+            eventWidth = minWidth;
+        }
+        else{
+            //there's not enough space
+            //new minWidth it's 1.5un (time stripe only)
+            minWidth = 1.5 * mLayoutValues.unitInPixels; 
+            totalMarginSpace =  mLayoutValues.eventAreaWidth - minWidth * columns - mLayoutValues.eventMargin;
+            newMarginValue = totalMarginSpace / (columns - 1);
+            eventWidth = minWidth;
+        }
+        
+        //First column margin should be always 1.5un (mLayoutValues.eventMargin)
+        eventStartX += columnIdx * (eventWidth + newMarginValue) + mLayoutValues.eventMargin;
+    }
+    else{
+        //add margins between the event
+        eventStartX += columnIdx * eventWidth + mLayoutValues.eventMargin;
+        eventWidth -= mLayoutValues.eventMargin;
+    }
+    
+    QRectF eventGeometry( eventStartX, eventStartY, eventWidth, eventHeight );
+    item->setGeometry(eventGeometry);}
+
+
+// -----------------------------------------------------------------------------
+// updateAllDayEventGeometry()
+// Updates geometry of a timed event.
+// -----------------------------------------------------------------------------
+//
+void CalenDayContainer::updateAllDayEventGeometry(HbAbstractViewItem *item, 
+                                                   const QModelIndex &index)
+{
+	//safety check
+	if ( !mInfo ) {
+	      return;
+	}
+	    
+	QVariant variant = index.data( CalenDayEntry );
+	AgendaEntry entry = variant.value<AgendaEntry>();
+	    
+	//1. get 'virtual' event position from DayInfo
+	//TODO: k.g.: Day Info should store model index instead of keeping redundant data    
+	SCalenApptInfo apptInfo;
+	apptInfo.iIndex = index;
+	
+	
+	QDateTime start;
+    QDateTime end;
+    QDateTime currentDate;
+    currentDate = static_cast<const CalenDayModel*>(index.model())->modelDate();
+    CalenDayUtils::instance()->getEventValidStartEndTime( start, end, entry,
+                                                          currentDate );
+    apptInfo.iStartTime = start;
+    apptInfo.iEndTime = end;
+	
+	TCalenInstanceId id = TCalenInstanceId::nullInstanceId();
+	id.mEntryLocalUid = index.row(); //index.row() - temporary ID
+	id.mInstanceTime = apptInfo.iStartTime; 
+	apptInfo.iId = id;
+	apptInfo.iAllDay = true;
+	apptInfo.iColor = 0xffff;
+	
+	int startSlot, endSlot, columnIdx, columns;
+	mInfo->GetLocation( apptInfo, startSlot, endSlot, columnIdx, columns );
+	
+	//2. set timed event's geometry
+	qreal eventStartX(0.0);
+	qreal eventStartY(0.0);
+	qreal eventWidth(mLayoutValues.eventAreaX);
+	qreal eventHeight = (endSlot - startSlot) * mLayoutValues.slotHeight;
+
+	
+	//event's startX/width
+	if ( columns > 1 ) {
+		eventWidth /= columns;
+		eventStartX += columnIdx * eventWidth + mLayoutValues.eventMargin;
+		//add margins between the event
+		eventWidth -= mLayoutValues.eventMargin;
+	} else {
+		eventStartX += mLayoutValues.eventMargin;
+		eventWidth -= mLayoutValues.eventMargin;
+	}
+	
+	QRectF eventGeometry( eventStartX, eventStartY, eventWidth, eventHeight );
+	item->setGeometry(eventGeometry);
+	    
+}
+
+
+// -----------------------------------------------------------------------------
+// movingBackwards()
+// 
+// -----------------------------------------------------------------------------
+//
+void CalenDayContainer::getTimedEventLayoutValues(LayoutValues& layoutValues)
+{
+    // get the width of content area
+    qreal contentWidth = CalenDayUtils::instance()->contentWidth();
+//1.time column width -> eventAreaX[out]
+    HbStyle style;
+    HbDeviceProfile deviceProfile;
+    layoutValues.unitInPixels = deviceProfile.unitValue();
+    
+    if ( mInfo && mInfo->AlldayCount())
+    	{ // 9.5 -> all-day area width 
+    	layoutValues.eventAreaX = 9.5 * layoutValues.unitInPixels;
+    	}
+    else
+    	{
+    	layoutValues.eventAreaX = 0;
+    	}
+    
+//2. event area width -> eventAreaWidth[out]
+    qreal emptyRightColumnWidth(0.0);
+    emptyRightColumnWidth = 6.0 * layoutValues.unitInPixels; //pix (according to UI spec)
+    layoutValues.eventAreaWidth = contentWidth - emptyRightColumnWidth - layoutValues.eventAreaX ;
+//3. margins between the overlapping events -> eventMargin[out]
+    layoutValues.eventMargin = 1.5 * layoutValues.unitInPixels;
+//4. half-hour slot'h height -> slotHeight[out]
+    //curent slot height corresponds to half an hour
+    layoutValues.slotHeight = 
+        CalenDayUtils::instance()->hourElementHeight() / 2;
+    
+    // 8.2 un (min. touchable event) from layout guide
+    layoutValues.maxColumns = layoutValues.eventAreaWidth / (8.2 * layoutValues.unitInPixels);  
+}
+
+// -----------------------------------------------------------------------------
+// setDayInfo()
+// Sets day's info structer to the container.
+// -----------------------------------------------------------------------------
+//
+void CalenDayContainer::setDayInfo( CalenDayInfo* dayInfo )
+{
+    mInfo = dayInfo;
+}
+
+// -----------------------------------------------------------------------------
+// orientationChanged()
+// Slot handles layout switch.
+// -----------------------------------------------------------------------------
+//
+void CalenDayContainer::orientationChanged(Qt::Orientation orientation)
+{
+	getTimedEventLayoutValues(mLayoutValues);
+	
+    Q_UNUSED( orientation )
+    QList<HbAbstractViewItem *> items = this->items();
+    int count(items.count());
+    for (int i = 0; i < count; i++) {
+        QModelIndex modelIndex = items[i]->modelIndex();
+        if (modelIndex.isValid()) {
+            QVariant variant = modelIndex.data(CalenDayEntry);
+            AgendaEntry entry = variant.value<AgendaEntry> ();
+            if (entry.isTimedEntry()) {
+                updateTimedEventGeometry(items[i], modelIndex);
+            }
+        }
+    }
+    
+    createTouchEventAbsorbers();
+}
+
+// -----------------------------------------------------------------------------
+// createTouchEventAbsorbers()
+// Creates absorbers which prevent touching to small items
+// -----------------------------------------------------------------------------
+//
+void CalenDayContainer::createTouchEventAbsorbers()
+{
+	// remove absorbers if exist
+	if (mAbsorbers.count())
+		{
+		qDeleteAll(mAbsorbers);
+		mAbsorbers.clear();
+		}
+	
+	const QList<CalenTimeRegion>& regionList = mInfo->RegionList();
+	
+	for(int i=0; i < regionList.count(); i++)
+		{
+		if(regionList[i].iColumns.count() > mLayoutValues.maxColumns )
+			{
+			TouchEventAbsorber* absorber = 
+				crateAbsorberBetweenSlots(regionList[i].iStartSlot, regionList[i].iEndSlot);
+			
+			mAbsorbers.append(absorber);
+			}
+		}
+	
+}
+
+// -----------------------------------------------------------------------------
+// crateAbsorberBetweenSlots()
+// Creates single absorber in given location
+// -----------------------------------------------------------------------------
+//
+TouchEventAbsorber *CalenDayContainer::crateAbsorberBetweenSlots
+												(int startSlot, int endSlot)
+{
+    TouchEventAbsorber *absorber = new TouchEventAbsorber(this);
+    absorber->setZValue(1000);
+    absorber->setVisible(true);
+    
+    absorber->setGeometry( mLayoutValues.eventAreaX,			// x
+			startSlot * mLayoutValues.slotHeight,				// y
+			mLayoutValues.eventAreaWidth,						// w
+			(endSlot-startSlot) * mLayoutValues.slotHeight ); 	// h
+    
+    return absorber;
+}
+
+
+// -----------------------------------------------------------------------------
+// TouchEventAbsorber::gestureEvent()
+// Handles tap event on overlapping area (currently it leads to Agenda View - 
+// as described in UI spec)
+// -----------------------------------------------------------------------------
+//
+void TouchEventAbsorber::gestureEvent(QGestureEvent *event)
+{
+    QTapGesture *tapGesture = qobject_cast<QTapGesture*> (event->gesture(
+        Qt::TapGesture));
+    
+    if (tapGesture && tapGesture->state() == Qt::GestureFinished)
+    	{
+    	CalenDayView* dayView = static_cast<CalenDayView*>
+                (CalenDayUtils::instance()->mainWindow()->currentView());
+    	
+    	dayView->changeView(ECalenAgendaView);
+    	}
+}
+
+// -----------------------------------------------------------------------------
+// TouchEventAbsorber()
+// default ctor
+// -----------------------------------------------------------------------------
+//
+TouchEventAbsorber::TouchEventAbsorber(QGraphicsItem *parent) : HbWidget(parent)
+{
+#ifdef _DEBUG
+    setFlag(QGraphicsItem::ItemHasNoContents, false);
+#endif	
+    grabGesture(Qt::TapGesture);    	    
+}
+
+// -----------------------------------------------------------------------------
+// TouchEventAbsorber()
+// default dtor
+// -----------------------------------------------------------------------------
+//
+TouchEventAbsorber::~TouchEventAbsorber()
+{
+	
+}
+
+// -----------------------------------------------------------------------------
+// TouchEventAbsorber::paint()
+// used for debugging purposes to see absorbers areas
+// -----------------------------------------------------------------------------
+//
+#ifdef _DEBUG
+void TouchEventAbsorber::paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
+								QWidget *widget)
+{
+	Q_UNUSED(option)
+	Q_UNUSED(widget)
+	
+	painter->save();
+	QPen pen;
+	pen.setWidth(2);
+	pen.setColor(Qt::red);
+	painter->setPen(pen);
+	painter->drawRect(boundingRect());
+	painter->restore();
+}
+#endif
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/src/calendaycontentscrollarea.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,412 @@
+/*
+ * 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:  CalenDayContentScrollArea implementation.
+ *
+ */
+
+// System includes
+#include <QGraphicsLinearLayout>
+#include <QGesture>
+
+#include <hbinstance.h>
+#include <hbswipegesture.h>
+
+// User includes
+#include "calendaycontentscrollarea.h"
+#include "calendayutils.h"
+
+/*!
+ \class CalenDayContentScrollArea
+ \brief Scrollable container class for content widgets.
+ 
+ It handles horizontal scrolling and swipe or pan gestures.
+ */
+
+/*!
+ \brief Constructor
+ 
+ Configures scroll area settings and resets internal stares of widget.
+ Gets the width of device.
+ 
+ \param parent The parent of scroll area widget
+ */
+CalenDayContentScrollArea::CalenDayContentScrollArea(QGraphicsItem *parent) :
+    HbScrollArea(parent), mPanDayDirection(ECalenPanNotSet), mIsMoving(false),
+    mMoveDirection(ECalenScrollNoDayChange)
+{
+    // Set scroll settings
+    setScrollDirections(Qt::Horizontal);
+    setClampingStyle(StrictClamping);
+    setHorizontalScrollBarPolicy(HbScrollArea::ScrollBarAlwaysOff);
+    
+#ifdef CALENDAYVIEW_PANNING_ENABLED
+    grabGesture(Qt::PanGesture);
+    ungrabGesture(Qt::SwipeGesture);
+#else
+    grabGesture(Qt::SwipeGesture);
+    ungrabGesture(Qt::PanGesture);
+#endif
+
+    // Get the width of content area and orientation of screen
+    mContentWidth = CalenDayUtils::instance()->contentWidth();
+    mOrientation = CalenDayUtils::instance()->orientation();
+
+    // Connect to main window's orientationChanged SIGNAL to handle orientation
+    // switching
+    connect(CalenDayUtils::instance()->mainWindow(), 
+        SIGNAL(orientationChanged(Qt::Orientation)), this,
+        SLOT(orientationChanged(Qt::Orientation)));
+}
+
+/*!
+ \brief Destructor
+ */
+CalenDayContentScrollArea::~CalenDayContentScrollArea()
+{
+}
+
+/*!
+ \brief Scrolls to middle widget.
+ 
+ Scrolling to middle widget is done if needed.
+ Resets internal pan direction flag.
+ */
+void CalenDayContentScrollArea::scrollToMiddleWidget()
+{
+    QPointF currentPosition = contentWidget()->pos();
+    QPointF destPosition = QPointF(mContentWidth, currentPosition.y());
+
+    // Scroll only when x position is wrong
+    if (currentPosition.x() != destPosition.x()) {
+        scrollContentsTo(QPointF(mContentWidth, currentPosition.y()), 0);
+    }
+
+    // Reset pan direction flag and scrolling flag
+    mPanDayDirection = ECalenPanNotSet;
+}
+
+/*!
+ \brief Scrolls the view by the amount indicated by "delta".
+ 
+ Checks the direction of pan gesture and promotes leading direction.
+ 
+ \param delta Move offset
+ \return Returns TRUE if the view was able to scroll, FALSE otherwise
+ */
+bool CalenDayContentScrollArea::scrollByAmount(const QPointF &delta)
+{
+    QPointF newDelta(delta);
+    if (mPanDayDirection == ECalenPanVertical) {
+        newDelta.setX(0);
+    }
+    else
+        if (mPanDayDirection == ECalenPanHorizontal) {
+            newDelta.setY(0);
+        }
+        else {
+            // Pan direction not set
+        }
+
+    return HbScrollArea::scrollByAmount(newDelta);
+}
+
+/*!
+ \brief Handles pan gesture event (horizontal) or swipe gesture. 
+ 
+ Ignores vertical pan gestures.
+ 
+ \param event Gesture event to be handled
+ */
+void CalenDayContentScrollArea::gestureEvent(QGestureEvent *event)
+{
+#ifdef CALENDAYVIEW_PANNING_ENABLED
+    // Process a pan gesture event
+    if (QPanGesture *panGesture = qobject_cast<QPanGesture*> (event->gesture(
+        Qt::PanGesture))) {
+
+        // Checks pan gesture direction
+        checkPanDirection(panGesture);
+
+        // Put the gesture forward before working with finished gesture
+        HbScrollArea::gestureEvent(event);
+
+        // If gesture is finished move the scroll area to next or previous 
+        // widget or resume to gesture start point
+        if (panGesture->state() == Qt::GestureFinished) {
+            // Pan direction should be reseted when scrolling ends
+
+            // Gets the offset of pan gesture.
+            QPointF offset = panGesture->offset();
+
+            // Note: in horizontal orientation x should is treaten as Y, y as X.
+            QPointF movement;
+            if (mOrientation == Qt::Vertical) {
+                movement = offset;
+            }
+            else {
+                movement.setX(offset.y());
+                movement.setY(offset.x());
+            }
+
+            // Gesture was long enough for place movement
+            if (qAbs(movement.x()) > (KCalenHScrollMoveParam * mContentWidth / 100)) {
+                if (movement.x() < 0) {
+                    mMoveDirection = ECalenScrollToNext;
+                    moveTo(QPointF((-mStartPosition.x() + mContentWidth),
+                        -mStartPosition.y()), KCalenScrollDaysTimeout);
+                }
+                else {
+                    mMoveDirection = ECalenScrollToPrev;
+                    moveTo(QPointF(-mStartPosition.x() - mContentWidth,
+                        -mStartPosition.y()), KCalenScrollDaysTimeout);
+                }
+            }
+            // Gesture was short one, reset to gesture start point
+            else {
+                qreal startPos = mStartPosition.x();
+                bool isNegative = false;
+                if (startPos < 0) {
+                    isNegative = true;
+                }
+                startPos = qAbs(startPos);
+                qreal normalizeValue = mContentWidth / 2;
+
+                while (startPos > normalizeValue) {
+                    normalizeValue += mContentWidth;
+                }
+
+                if (isNegative) {
+                    mStartPosition.setX(-(normalizeValue - (mContentWidth / 2)));
+                }
+                else {
+                    mStartPosition.setX(normalizeValue - (mContentWidth / 2));
+                }
+
+                mMoveDirection = ECalenScrollNoDayChange;
+                moveTo(-mStartPosition, KCalenScrollDaysTimeout);
+            }
+        }
+    }
+    else {
+        HbScrollArea::gestureEvent(event);
+    }
+#else
+    // Let the content scroll area ignore pan gestures
+    if (QPanGesture *panGesture = qobject_cast<QPanGesture *> (event->gesture(
+                Qt::PanGesture))) {
+        // do nothing with pan gesture
+    }
+
+    if (HbSwipeGesture *swipeGesture =
+        qobject_cast<HbSwipeGesture *> (event->gesture(Qt::SwipeGesture))) {
+        if (swipeGesture->state() == Qt::GestureStarted) {
+            mStartPosition = contentWidget()->pos();
+            
+            qreal swipeAngle = swipeGesture->sceneSwipeAngle();
+            if (CalenDayUtils::instance()->isHorizontalSwipe(swipeAngle)) {
+                if (QSwipeGesture::Left == 
+                    swipeGesture->sceneHorizontalDirection()) {
+                    mMoveDirection = ECalenScrollToNext;
+                    moveTo(QPointF((-mStartPosition.x() + mContentWidth),
+                            -mStartPosition.y()), KCalenScrollDaysTimeout);
+                }
+                else if (QSwipeGesture::Right == 
+                    swipeGesture->sceneHorizontalDirection()) {
+                    mMoveDirection = ECalenScrollToPrev;
+                    moveTo(QPointF(-mStartPosition.x() - mContentWidth,
+                            -mStartPosition.y()), KCalenScrollDaysTimeout);
+                }
+            }
+        }
+    }
+#endif
+}
+
+/*!
+ \brief Filters pan gesture events.
+ 
+ Filters events if this object has been installed as an event filter for
+ the watched object. Handles horizontal pan gestures (ignores vertical).
+ When moving scroll area all gesture events are blocked.
+ 
+ \param obj Watched object
+ \param event Event to be filtered
+ \return Returns TRUE if event was handled. FALSE otherwise.
+ */
+bool CalenDayContentScrollArea::eventFilter(QObject *obj, QEvent *event)
+{
+    Q_UNUSED(obj);
+
+    bool handled = false;
+
+    // Check if we get a gesture event
+    if (event->type() == QEvent::Gesture) {
+
+        // Blocks handling of gesture events if scrolling started by 
+        // pan gesture is in progress
+        if (mIsMoving) {
+            handled = true;
+        }
+        else {
+            QGestureEvent* gesture = static_cast<QGestureEvent*> (event);
+
+            // Check if we get a pan gesture
+            QPanGesture *panGesture = qobject_cast<QPanGesture*> (
+                gesture->gesture(Qt::PanGesture));
+            if (panGesture) {
+                checkPanDirection(panGesture);
+                if (mPanDayDirection == ECalenPanHorizontal) {
+                    gestureEvent(gesture);
+                    handled = true;
+                }
+            }
+        }
+    }
+
+    return handled;
+}
+
+/*!
+ \brief Overriden event handler.
+ 
+ Handles events:
+ - gesture/focus events blocked when horizontal scrolling is in progress
+ - layout request event - scrolls to middle widget if current position is wrong
+ 
+ \param e Event to be handled
+ \return Returns TRUE if event was handled. FALSE otherwise.
+ */
+bool CalenDayContentScrollArea::event(QEvent *e)
+{
+    bool result = false;
+
+    // Blocks base class handler for certain events if scrolling started
+    // by pan gesture is in progress
+    if (mIsMoving && (e->type() == QEvent::Gesture || e->type()
+        == QEvent::GestureOverride || e->type() == QEvent::FocusOut
+        || e->type() == QEvent::FocusIn)) {
+        result = true;
+    }
+    if (!result) {
+        // Call base class handler
+        result = HbScrollArea::event(e);
+        
+        // Scroll to middle widget when layout request
+        if (e->type() == QEvent::LayoutRequest) {
+            scrollToMiddleWidget();
+        }  
+    }
+
+    return result;
+}
+
+/*!
+ \brief Checks the direction of pan gesture.
+ 
+ Changes the scrolling style according to movement direction, 
+ stores the orientation of the pan gesture.
+ Function is used when switching widgets by panning gesture is enabled.
+ 
+ \param panGesture Pan gesture event
+ */
+void CalenDayContentScrollArea::checkPanDirection(QPanGesture *panGesture)
+{
+    // Gets the offset of pan gesture.
+    QPointF offset = panGesture->offset();
+
+    // Note: in horizontal orientation x should is treaten as Y, y as X.
+    QPointF movement;
+    if (mOrientation == Qt::Vertical) {
+        movement = offset;
+    }
+    else {
+        movement.setX(offset.y());
+        movement.setY(offset.x());
+    }
+
+    // If gesture is started check leading movement direction
+    if (panGesture->state() == Qt::GestureStarted) {
+        if (qAbs(movement.x()) < qAbs(movement.y())) {
+            mPanDayDirection = ECalenPanVertical;
+        }
+        else {
+            mStartPosition = contentWidget()->pos();
+            mPanDayDirection = ECalenPanHorizontal;
+        }
+    }
+}
+
+/*!
+ \brief Scrolls the contents to the newPosition in a given time.
+ 
+ Sets the flag to indicate that scrolling is in progress. Use this function
+ for scrolling with timeout > 0 to block gesture and focus events during
+ scroll area movement.
+ 
+ \param newPosition Destination position
+ \param time Time of scroll movement
+ */
+void CalenDayContentScrollArea::moveTo(const QPointF &newPosition, int time)
+{
+    // Connect to scrollingEnded SIGNAL to get feedback when scrolling ends
+    connect(this, SIGNAL(scrollingEnded()), this, SLOT(moveFinished()));
+    
+    // Scroll the content to new position and set isMoving flag
+    scrollContentsTo(newPosition, time);
+    mIsMoving = true;
+    
+    // Emit signal that moving has just started
+    if (mMoveDirection != ECalenScrollNoDayChange) {
+        emit scrollAreaMoveStarted(mMoveDirection);
+    }
+}
+
+/*!
+ \brief Slot which is called when moving of scroll area is finished.
+ 
+ Resets internal isMoving flag.
+ */
+void CalenDayContentScrollArea::moveFinished()
+{
+    // Disconnect from signal, move is finished now
+    disconnect(this, SIGNAL(scrollingEnded()), this, SLOT(moveFinished()));
+    mIsMoving = false;
+    
+    // Emit signal that moving has just finished and reset direction
+    if (mMoveDirection != ECalenScrollNoDayChange) {
+        emit scrollAreaMoveFinished(mMoveDirection);
+        mMoveDirection = ECalenScrollNoDayChange;
+    }
+}
+
+/*!
+ \brief Slot which is called whenever the orientation of the device changes.
+ 
+ Stores screen width and orientation in private members.
+ 
+ \param orientation Current device orientation
+ */
+void CalenDayContentScrollArea::orientationChanged(Qt::Orientation orientation)
+{
+    // Update the width of content area
+    mContentWidth = CalenDayUtils::instance()->contentWidth();
+    mOrientation = orientation;
+    
+    // Reset flag related to moving
+    mPanDayDirection = ECalenPanNotSet;
+    mMoveDirection = ECalenScrollNoDayChange;
+    mIsMoving = false;
+}
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/src/calendaycontentwidget.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,243 @@
+/*
+ * 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 implementation.
+ *
+ */
+
+// System includes
+#include <QGraphicsLinearLayout>
+#include <hbmodeliterator.h>
+
+// User includes
+#include "calendaymodelmanager.h"
+#include "calendaycontentwidget.h"
+#include "calendayitemview.h"
+#include "calendaycontentscrollarea.h"
+
+/*!
+ \class CalenDayContentWidget
+ \brief Content widget is a container class for horizontal layouted widgets.
+ */
+
+/*!
+ \brief Constructor
+ 
+ \param parent The parent of central widget
+ */
+CalenDayContentWidget::CalenDayContentWidget(
+    CalenDayModelManager &modelManager,
+    QGraphicsItem *parent) :
+    HbWidget(parent), mLayout(NULL), mModelManager(modelManager)
+{
+    mWidgets.clear();
+    initializeViews(parent);
+}
+
+/*!
+ \brief Destructor
+ */
+CalenDayContentWidget::~CalenDayContentWidget()
+{
+    // Just clear widget list - parent object will destroy its children
+    mWidgets.clear();
+}
+
+/*!
+ \brief Adds the widget to central widget and layouts it horizontally.
+ 
+ Ownership of item is passed to CalenDayContentWidget.
+ 
+ \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)
+{
+    // 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;
+        }
+        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);
+    }
+}
+
+/*!
+ \brief Takes the widget and removes it from central widget.
+ 
+ Ownership of item is passed to caller.
+ 
+ \param which Indicates which widget should be taken (first/last)
+ \return Pointer to HbWidget or NULL if widget was not found
+ */
+HbWidget* CalenDayContentWidget::take(CalenWidgetPosition which)
+{
+    Q_ASSERT(mLayout);
+
+    HbWidget* itemToTake = NULL;
+    switch (which) {
+        case ECalenFirstWidget: {
+            itemToTake = mWidgets.takeFirst();
+            break;
+        }
+        case ECalenLastWidget:
+        default: {
+            itemToTake = mWidgets.takeLast();
+        }
+    }
+
+    if (itemToTake) {
+        mLayout->removeItem(itemToTake);
+    }
+
+    return itemToTake;
+}
+
+/*!
+ \brief Removed the widget from central widget.
+ 
+ Widget is removed and deleted.
+ 
+ \param which Indicates which widget should be removed (first/last)
+ */
+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();
+        }
+    }
+
+    if (itemToRemove) {
+        mLayout->removeItem(itemToRemove);
+        delete itemToRemove;
+    }
+}
+
+/*!
+ \brief Performs relayout of widgets when it is needed.
+ 
+ Relayout is done depending on last scroll move:
+ - if widget was scrolled to next: first widget is taken and added as last
+ - if widget was scrolled to prev: last widget is taken and inserted as first
+ 
+ Emits widgetsRelayoutFinished SIGNAL when relayout is over.
+ 
+ \param scrollTo Direction of last movement
+ */
+void CalenDayContentWidget::relayoutWidgets(CalenScrollDirection scrollTo)
+{
+    HbWidget* widget = NULL;
+    switch (scrollTo) {
+        case ECalenScrollToNext: {
+            widget = take(ECalenFirstWidget);
+            add(widget, ECalenLastWidget);
+            break;
+        }
+        case ECalenScrollToPrev:
+        default: {
+            widget = take(ECalenLastWidget);
+            add(widget, ECalenFirstWidget);
+        }
+    }
+    emit widgetsRelayoutFinished(scrollTo);
+}
+
+/*!
+ \brief SLOT handles simultanous vertical scrolling of owned widgets.
+ 
+ \param newPos New scroll position
+ */
+void CalenDayContentWidget::widgetScrolled(const QPointF &newPos)
+{
+    for (int i = 0; i < mWidgets.count(); i++) {
+        CalenDayItemView *view =
+            static_cast<CalenDayItemView *> (mWidgets[i]);
+        view->scrollVertically(newPos);
+    }
+    emit scrollPositionChanged(newPos);
+}
+
+/*!
+ \brief Initializes content widgets and adds them to layout.
+ 
+ \param parent Parent object 
+ */
+void CalenDayContentWidget::initializeViews(QGraphicsItem *parent)
+{
+    // 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&)));
+
+    // Install event filters to receive events necessary for gesture handling
+    CalenDayContentScrollArea* scrollArea =
+        static_cast<CalenDayContentScrollArea*> (parent);
+    prevItemView->installEventFilter(scrollArea);
+    currItemView->installEventFilter(scrollArea);
+    nextItemView->installEventFilter(scrollArea);
+
+    // Add views to layout
+    add(prevItemView);
+    add(currItemView);
+    add(nextItemView);
+}
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/src/calendayeventspane.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,108 @@
+/*
+* 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:  Day view control of calendar
+*
+*/
+// System includes
+#include <QPainter>
+#include <hbcolorscheme.h>
+
+// User includes
+#include "CalenDayEventsPane.h"
+
+/*!
+ \class CalenDayEventsPane
+ \brief Events pane draws timelines in content view.
+ */
+
+/*!
+ \brief Constructor
+ 
+ \param parent The parent of widget
+ */
+CalenDayEventsPane::CalenDayEventsPane(HbWidget *parent) : HbWidget(parent),
+    mDrawTopLine(false)
+{
+    // Necessary when widget implements own paint method
+    setFlag(QGraphicsItem::ItemHasNoContents, false);
+
+    HbDeviceProfile deviceProfile;
+    mUnitInPixels = deviceProfile.unitValue();
+    mHourLineColor = HbColorScheme::color("qtc_cal_day_hour_lines");
+    
+    // Set custom dashed pen
+    mCustomDashedPen.setWidth(0.15);
+    QVector<qreal> dashes;
+    dashes << 5 << 5;
+    mCustomDashedPen.setDashPattern(dashes);
+    mCustomDashedPen.setCapStyle(Qt::FlatCap);
+    mCustomDashedPen.setColor(mHourLineColor);
+}
+
+/*!
+ \brief Destructor
+ */
+CalenDayEventsPane::~CalenDayEventsPane()
+{
+}
+
+/*!
+ \brief Shows/hides a line at top of event pane.
+ 
+ \param drawTopLine Flag to be set if top line should be drawn.
+ */
+void CalenDayEventsPane::drawTopLine(bool drawTopLine)
+{
+    mDrawTopLine = drawTopLine;
+}
+
+/*!
+ \brief Paints the item with given painter.
+ 
+ \param painter
+ \param option
+ \param widget
+ */
+void CalenDayEventsPane::paint(QPainter *painter, 
+    const QStyleOptionGraphicsItem *option, QWidget *widget)
+{
+    Q_UNUSED(widget)
+    
+    QRectF drawArea = option->rect;
+    
+    const qreal hourLineThickness = 0.15; //un (according to UI spec)
+
+    painter->save();
+    
+    // Draw full hour line
+    QPen linePen = QPen(mHourLineColor, hourLineThickness * mUnitInPixels);
+    painter->setPen(linePen);
+    QLineF fullHourLine(drawArea.bottomLeft(), drawArea.bottomRight());
+    painter->drawLine(fullHourLine);
+    
+    // Draw extra line on top if needed
+    if (mDrawTopLine) {
+        fullHourLine = QLineF(drawArea.topLeft(), drawArea.topRight());
+        painter->drawLine(fullHourLine);
+    }
+
+    // Draw half hour line
+    painter->setPen(mCustomDashedPen);
+    qreal halfHourYPos = drawArea.height() / 2;
+    QLineF halfHourLine(drawArea.left(), halfHourYPos, drawArea.right(), halfHourYPos);
+    painter->drawLine(halfHourLine);
+    
+    painter->restore();
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/src/calendayhourelement.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,143 @@
+/*
+* 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:  Day view control of calendar
+*
+*/
+
+//System includes
+#include <QGraphicsLinearLayout>
+#include <QPainter>
+#include <hbtextitem.h>
+#include <hbstyle.h>
+#include <hbcolorscheme.h>
+#include <hbfontspec.h>
+#include <hbextendedlocale.h>
+
+//User includes
+#include "calendayhourelement.h"
+#include "calendaycontainer.h"
+#include "calendayhourscrollarea.h"
+
+// Constants
+
+/*!
+ \brief CalenDayHourElement()
+ Constructor
+*/
+CalenDayHourElement::CalenDayHourElement(const QTime &time, QGraphicsItem *parent) :
+    HbWidget(parent), mHour(time)
+{
+    // Necessary when widget implements own paint method
+    setFlag(QGraphicsItem::ItemHasNoContents, false); 
+
+    HbDeviceProfile deviceProfile;
+    mUnitInPixels = deviceProfile.unitValue();
+    
+    mHourLineColor = HbColorScheme::color("qtc_cal_day_hour_lines");
+
+    //Create text items
+    HbExtendedLocale systemLocale = HbExtendedLocale::system();
+
+    //Get current time format and (if there's a need) separate time from am/pm text
+    QChar timeSeparator = ' ';
+    QStringList timeTextList = systemLocale.format(time, r_qtn_time_usual_with_zero).split(
+        timeSeparator);
+
+    //prepend 0 if needed to achieve format - 01:00
+    QString timeString = timeTextList[0];
+    if (timeString.length() < 5) {
+        timeString.prepend('0');
+    }
+
+    QString ampmString = "";
+    if (timeTextList.count() > 1) {
+        ampmString = timeTextList[1].toLower();
+    }
+
+    HbTextItem* timeTextItem = new HbTextItem(timeString, this);
+    HbTextItem* ampmTextItem = new HbTextItem(ampmString, this);
+
+    HbStyle::setItemName(timeTextItem, QLatin1String("time"));
+    HbStyle::setItemName(ampmTextItem, QLatin1String("ampm"));
+
+    mContainer = static_cast<CalenDayHourScrollArea*> (parent);
+
+}
+
+/*!
+ \brief CalenDayHourElement()
+ Destructor
+*/
+CalenDayHourElement::~CalenDayHourElement()
+{
+
+}
+
+/*!
+ \brief CalenDayHourElement()
+ paint
+*/
+void CalenDayHourElement::paint(
+    QPainter * painter,
+    const QStyleOptionGraphicsItem * option,
+    QWidget * widget)
+{
+    Q_UNUSED(widget);
+    
+    QRectF drawArea = option->rect;
+
+    const qreal hourLineThickness = 0.15; //un (according to UI spec)
+    const qreal timeLineThickness = 0.75; //un (according to UI spec)
+
+    painter->save();
+
+    //Draw full hour line
+    QPen linePen = QPen(mHourLineColor, hourLineThickness * mUnitInPixels);
+    painter->setPen(linePen);
+    QLineF fullHourLine(drawArea.bottomLeft(), drawArea.bottomRight());
+
+    painter->drawLine(fullHourLine);
+
+    //Draw extra line on top for midnight
+    if (mHour.hour() == 0) {
+        fullHourLine = QLineF(drawArea.topLeft(), drawArea.topRight());
+        painter->drawLine(fullHourLine);
+    }    
+    
+    QDateTime currentDateTime = QDateTime::currentDateTime();
+
+    //Draw the time line in theme color
+    if (mContainer) {
+        QDateTime containersDateTime = mContainer->dateTime();
+        
+        if (currentDateTime.date() == containersDateTime.date() && currentDateTime.time().hour()
+            == mHour.hour()) {
+
+            qreal currentTimeY = drawArea.height() * currentDateTime.time().minute() / 60;
+            
+            QColor color = HbColorScheme::color("qtc_cal_month_current_day");
+            
+            painter->setPen(QPen(color, timeLineThickness * mUnitInPixels, Qt::SolidLine,
+                Qt::FlatCap));
+            QLineF currentTimeline(drawArea.left(), drawArea.top() + currentTimeY, drawArea.right(), drawArea.top()
+                + currentTimeY);
+            painter->drawLine(currentTimeline);
+
+        }
+    }
+
+    painter->restore();
+}
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/src/calendayhourscrollarea.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,147 @@
+/*
+ * 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:  CalenDayHourScrollArea implementation.
+ *
+ */
+
+// System includes
+#include <QGraphicsLinearLayout>
+
+// User includes
+#include "calendayhourscrollarea.h"
+#include "calendayhourelement.h"
+#include "calendayutils.h"
+
+/*!
+ \class CalenDayHourScrollArea
+ \brief Scrollable container class for hour elements.
+ 
+ It handles vertical scrolling.
+ */
+
+/*!
+ \brief Constructor
+ 
+ Configures scroll area settings and resets internal stares of widget.
+ Gets the width of device.
+ 
+ \param parent The parent of scroll area widget
+ */
+CalenDayHourScrollArea::CalenDayHourScrollArea(QGraphicsItem *parent) :
+    HbScrollArea(parent),
+    mDateTime(QDateTime())
+{
+    // Set scroll settings
+    setScrollDirections(Qt::Vertical);
+    setScrollingStyle(HbScrollArea::PanWithFollowOn);
+    setVerticalScrollBarPolicy(HbScrollArea::ScrollBarAlwaysOff);
+    grabGesture(Qt::PanGesture, Qt::ReceivePartialGestures);
+    
+    // Get height and width of hour elements and set fixed size policy
+    qreal hourElementHeight = CalenDayUtils::instance()->hourElementHeight();
+    qreal hourElementWidth = CalenDayUtils::instance()->hourElementWidth();
+
+    // Create widget for hour elements
+    HbWidget *hourWidget = new HbWidget();
+
+    // Create and insert hour elements into vertical layout
+    QGraphicsLinearLayout* hourLayout = new QGraphicsLinearLayout(Qt::Vertical,
+        NULL);
+    for (int i = 0; i < 24; i++) {
+        CalenDayHourElement* element = new CalenDayHourElement(QTime(i, 0),
+            this);
+        element->setPreferredWidth(hourElementWidth);
+        element->setPreferredHeight(hourElementHeight);
+        element->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, 
+            QSizePolicy::Fixed));
+        hourLayout->addItem(element);
+        
+        mHourElements.append(element);
+    }
+    
+    hourLayout->setContentsMargins(0.0, 0.0, 0.0, 0.0);
+    hourLayout->setSpacing(0.0);
+    
+    // Fix the size of scroll area
+    setMinimumWidth(hourElementWidth);
+    setMaximumWidth(hourElementWidth);
+
+    // Apply hour layout for new widget and set content widget to scroll area
+    hourWidget->setLayout(hourLayout);
+    setContentWidget(hourWidget);
+}
+
+/*!
+ \brief Destructor
+ */
+CalenDayHourScrollArea::~CalenDayHourScrollArea()
+{
+}
+
+/*!
+ \brief SLOT scrolls the view vertically to new position.
+ 
+ \param newPosition New position
+ */
+void CalenDayHourScrollArea::scrollVertically(const QPointF &newPosition)
+{
+    QPointF currentPos = contentWidget()->pos();
+    if (abs(newPosition.y()) != abs(currentPos.y())) {
+        currentPos.setY(newPosition.y());
+        scrollContentsTo(currentPos, 0);
+    }
+}
+
+/*!
+ \brief Sets date and time for this container.  
+ 
+ \param dateTime new date and time
+ */
+void CalenDayHourScrollArea::setDateTime(const QDateTime &dateTime)
+{
+    mDateTime = dateTime;
+}
+/*!
+ \brief Returns date and time assigned to current view.
+*/
+QDateTime CalenDayHourScrollArea::dateTime() const
+{
+    return mDateTime;
+}
+
+/*!
+ \brief Scroll view to given hour.
+ 
+  \param  An hour In 24 hour format (0 - 23)
+*/
+void CalenDayHourScrollArea::scrollToHour(int hour)
+{
+    CalenDayHourElement *hourElement = mHourElements.at(hour); 
+    QRectF hourElementRect = hourElement->rect();
+    hourElementRect = hourElement->mapRectToParent(hourElementRect);
+    QPointF newPos = hourElementRect.topLeft();
+    
+    //Ensure that we won't scroll out of bound
+    CalenDayHourElement *lastElement = mHourElements.last();
+    qreal bottomEdge = lastElement->mapRectToParent(lastElement->rect()).bottom();
+    qreal viewHeight = rect().height();
+
+    if(bottomEdge - newPos.y() < viewHeight){
+        newPos.setY(bottomEdge - viewHeight);
+    }
+    
+    scrollContentsTo(newPos);
+}
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/src/calendayinfo.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,2362 @@
+/*
+* 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:  Storage class for day and week views.
+*
+*/
+
+
+//  INCLUDES
+#include "calendayinfo.h"
+#include "calenagendautils.h"
+#include "calenconstants.h"
+#include "calendateutils.h"
+
+namespace
+{
+const int KUntimedDefaultSlot(16);
+}
+
+/*!
+ \brief CalenDayInfo::CalenDayInfo
+*/
+CalenDayInfo::CalenDayInfo(TSlotsInHour aSlotsInHour) :
+    iFirstUntimedSlot(KUntimedDefaultSlot), iSlotsInHour(aSlotsInHour)
+{
+    iSelectedSlot = KFSCalStartingHour * iSlotsInHour;
+    iSelectedRegion = KErrNotFound;
+    iSelectedColumn = 0;
+    iSelectedAlldayEvent = KErrNotFound;
+    iEarliestEndSlot = KErrNotFound;
+    iLastStartSlot = KErrNotFound;
+}
+
+/*!
+ \brief Destructor
+*/
+CalenDayInfo::~CalenDayInfo()
+{
+    for (int i = 0; i < iRegionList.count(); i++) {
+        iRegionList[i].Close();
+    }
+    iRegionList.clear();
+    iUntimedEvents.clear();//Close();
+    iTodoEvents.clear();//Close();
+    iAlldayEvents.clear();//Close();
+}
+
+/*!
+ \brief CalenDayInfo::Reset
+*/
+void CalenDayInfo::Reset()
+{
+    for (int i = 0; i < iRegionList.count(); i++) {
+        iRegionList[i].Close();
+    }
+    iRegionList.clear();//Reset();
+    iUntimedEvents.clear();//Reset();
+    iTodoEvents.clear();//Reset();
+    iAlldayEvents.clear();//Reset();
+
+    iUntimedSlotCount = 0;
+    iFirstUntimedSlot = KFSCalStartingHour * iSlotsInHour;
+
+    iSelectedSlot = KFSCalStartingHour * iSlotsInHour;
+    iSelectedRegion = KErrNotFound;
+    iSelectedColumn = 0;
+    iSelectedAlldayEvent = KErrNotFound;
+    iEarliestEndSlot = KErrNotFound;
+    iLastStartSlot = KErrNotFound;
+}
+
+/*!
+ \brief CalenDayInfo::InsertTimedEvent
+*/
+void CalenDayInfo::InsertTimedEvent(const SCalenApptInfo& aItemInfo)
+{
+
+    int startIndex = SlotIndexForStartTime(aItemInfo.iStartTime);
+    int endIndex = SlotIndexForEndTime(aItemInfo.iEndTime);
+    if (endIndex == startIndex) {
+        endIndex++;
+    }
+    if (iRegionList.count() > 0) {
+        // the timed events must be added in order
+        ASSERT( startIndex >= iLastStartSlot );
+    }
+
+    CalenTimedEventInfo info;
+    info.iStartSlot = startIndex;
+    info.iEndSlot = endIndex;
+    info.iId = aItemInfo.iId;
+    info.iStatus = aItemInfo.iStatus;
+    //    info.iReplicationStatus = aItemInfo.iReplicationStatus;
+    iLastStartSlot = startIndex;
+    if (iEarliestEndSlot == KErrNotFound || endIndex < iEarliestEndSlot) {
+        iEarliestEndSlot = endIndex;
+    }
+
+    bool added(false);
+    if (iRegionList.count() > 0) {
+        // Since events are added in order, the event either overlaps the
+        // last region or doesn't overlap any region at all
+        CalenTimeRegion& region = iRegionList[iRegionList.count() - 1];
+        if (region.Overlaps(info)) {
+            region.AddEvent(info);
+            added = true;
+        }
+    }
+
+    if (!added) {
+        // If it didn't overlap the last region, add a new region for this event.
+        iRegionList.append(CalenTimeRegion());
+        CalenTimeRegion& region = iRegionList[iRegionList.count() - 1];
+        region.AddEvent(info);
+
+        // Do rounding of the region ends
+        if (iRegionList.count() >= 2) {
+            // Check if the previous region end time can be rounded down
+            CalenTimeRegion& prevRegion = iRegionList[iRegionList.count() - 2];
+            int end = RoundHourDown(prevRegion.iEndSlot);
+            if (end <= region.iStartSlot) {
+                prevRegion.iEndSlot = end;
+            }
+            // Check if the start time of the new region can be rounded up
+            int start = RoundHourUp(region.iStartSlot);
+            if (start >= prevRegion.iEndSlot) {
+                region.iStartSlot = start;
+            }
+        }
+        else {
+            // No previous region, round the start time up
+            region.iStartSlot = RoundHourUp(region.iStartSlot);
+        }
+    }
+}
+
+/*!
+ \brief CalenDayInfo::InsertAlldayEvent
+*/
+void CalenDayInfo::InsertAlldayEvent(const SCalenApptInfo& aItemInfo)
+{
+    CalenTimedEventInfo info;
+    info.iStartSlot = 0;
+    info.iEndSlot = iSlotsInHour * KCalenHoursInDay + iUntimedSlotCount;
+    info.iId = aItemInfo.iId;
+    info.iStatus = aItemInfo.iStatus;
+    //    info.iReplicationStatus = aItemInfo.iReplicationStatus;
+
+    iAlldayEvents.append(info);
+}
+
+/*!
+ \brief CalenDayInfo::IsAllDayEvent
+*/
+bool CalenDayInfo::IsAlldayEvent(QDateTime aStart, QDateTime aEnd)
+{
+    bool isAllDay(false);
+
+    if (!CalenDateUtils::onSameDay(aStart, aEnd)) {
+        QDateTime startMidnight = CalenDateUtils::beginningOfDay(aStart);
+        QDateTime endMidnight = CalenDateUtils::beginningOfDay(aEnd);
+
+        if ((aStart == startMidnight) && (aEnd == endMidnight)) {
+            isAllDay = true;
+        }
+    }
+    return isAllDay;
+}
+
+/*!
+ \brief CalenDayInfo::IsAllDayEvent
+ Allday event is an event starting and ending at midnight,
+ with a duration of n*24h.
+*/
+/*
+bool CalenDayInfo::IsAlldayEvent(const CCalInstance& aInstance)
+{
+    bool isAllDay(false);
+
+    // If getting the start or end time fails, return false.
+    QDateTime start;
+    QDateTime end;
+    TRAPD( error,
+        {
+            start = aInstance.StartTimeL().TimeLocalL();
+            end = aInstance.EndTimeL().TimeLocalL();
+        });
+
+    if (error == KErrNone && !CalenDateUtils::onSameDay(start, end)) {
+        QDateTime startMidnight = CalenDateUtils::beginningOfDay(start);
+        QDateTime endMidnight = CalenDateUtils::beginningOfDay(end);
+
+        if ((start == startMidnight) && (end == endMidnight)) {
+            isAllDay = true;
+        }
+    }
+
+    if (error != KErrNone) {
+        CEikonEnv::Static()->HandleError(error);//codescanner::eikonenvstatic
+    }
+
+    return isAllDay;
+}
+*/
+
+/*!
+ \brief CalenDayInfo::AlldayCount
+*/
+int CalenDayInfo::AlldayCount()
+{
+    return iAlldayEvents.count();
+}
+
+/*!
+ \brief CalenDayInfo::TodoCount
+*/
+int CalenDayInfo::TodoCount()
+{
+    return iTodoEvents.count();
+}
+
+/*!
+ \brief CalenDayInfo::GetLocation
+*/
+void CalenDayInfo::GetLocation(
+    const SCalenApptInfo& aItemInfo,
+    int& aStartSlot,
+    int& aEndSlot,
+    int& aColumnIndex,
+    int& aColumns)
+{
+    int startIndex = SlotIndexForStartTime(aItemInfo.iStartTime);
+    int endIndex = SlotIndexForEndTime(aItemInfo.iEndTime);
+    if (endIndex == startIndex) {
+        endIndex++;
+    }
+
+    aStartSlot = startIndex;
+    aEndSlot = endIndex;
+
+    CalenSlotInterval interval;
+    interval.iStartSlot = startIndex;
+    interval.iEndSlot = endIndex;
+
+    bool found(false);
+    // Scan through all allday events and see if it matches any of them
+    for (int i = 0; i < iAlldayEvents.count() && !found; i++) {
+        if (aItemInfo.iId == iAlldayEvents[i].iId) {
+            aColumns = iAlldayEvents.count();
+            aColumnIndex = i;
+            found = true;
+        }
+    }
+
+    // Scan through all regions and see if the event overlaps any region.
+    // If it overlaps a region, the event must be in that region.
+    for (int i = 0; i < iRegionList.count() && !found; i++) {
+        CalenTimeRegion& region = iRegionList[i];
+        if (region.Overlaps(interval)) {
+            // Scan through all columns and look for the event
+            aColumns = region.iColumns.count();
+            for (int j = 0; j < aColumns && !found; j++) {
+                if (region.iColumns[j].ContainsEvent(aItemInfo.iId)) {
+                    aColumnIndex = j;
+                    found = true;
+                }
+            }
+            // the event should be in this region if it overlaps the region
+            ASSERT( found );
+        }
+    }
+    // the event should have been found somewhere
+    ASSERT( found );
+}
+
+/*!
+ \brief CalenDayInfo::GetSelectedSlot
+*/
+void CalenDayInfo::GetSelectedSlot(int& aSlot, int& aRegion, int& aColumnIndex, int& aColumns)
+{
+
+    aSlot = iSelectedSlot;
+    aColumnIndex = iSelectedColumn;
+    if (iSelectedRegion >= 0) {
+        aColumns = iRegionList[iSelectedRegion].iColumns.count();
+        aRegion = iSelectedRegion;
+    }
+    else {
+        aColumns = 0;
+        aRegion = KErrNotFound;
+    }
+}
+
+/*!
+ \brief CalenDayInfo::FindRegion
+*/
+int CalenDayInfo::FindRegion(const CalenSlotInterval& aInterval, int aDirection)
+{
+    // Setup the start and end region indices for iterating
+    int start, end;
+    if (aDirection > 0) {
+        start = 0;
+        end = iRegionList.count();
+    }
+    else {
+        start = iRegionList.count() - 1;
+        end = -1;
+    }
+
+    int region = KErrNotFound;
+
+    // Iterate over the regions, in the order given, looking for a region
+    // overlapping this interval
+    for (int i = start; i != end && region < 0; i += aDirection) {
+        if (iRegionList[i].Overlaps(aInterval)) {
+            region = i;
+        }
+    }
+    return region;
+}
+
+/*!
+ \brief Find an event within the given interval of the current column,
+ searching in the given direction.
+*/
+int CalenDayInfo::FindEvent(const CalenSlotInterval& aInterval, int aDirection)
+{
+    ASSERT( iSelectedRegion >= 0 && iSelectedRegion < iRegionList.count() );
+
+    CalenTimeRegion& region = iRegionList[iSelectedRegion];
+    int index = KErrNotFound;
+
+    if (iSelectedColumn < region.iColumns.count()) {
+        CalenTimeColumn& column = region.iColumns[iSelectedColumn];
+        int start, end;
+        if (aDirection > 0) {
+            start = 0;
+            end = column.iEventArray.count();
+        }
+        else {
+            start = column.iEventArray.count() - 1;
+            end = -1;
+        }
+
+        // Iterate over the events in the chosen column in the order given,
+        // looking for an event overlapping this interval
+        for (int i = start; i != end && index < 0; i += aDirection) {
+            if (column.iEventArray[i].Overlaps(aInterval)) {
+                index = i;
+            }
+        }
+    }
+    return index;
+}
+
+/*!
+ \brief CalenDayInfo::IsEventSelected
+*/
+bool CalenDayInfo::IsEventSelected() const
+{
+    bool selected(false);
+    if (iSelectedAlldayEvent >= 0) {
+        selected = true;
+    }
+    else
+        if (iSelectedRegion >= 0 && iSelectedColumn < iRegionList[iSelectedRegion].iColumns.count()
+            && iSelectedColumnEventIndex >= 0) {
+            selected = true;
+        }
+        else
+            if (IsExtraSlot(iSelectedSlot) && iSelectedSlot - iFirstUntimedSlot
+                >= iEmptyUntimedSlots) {
+                selected = true;
+            }
+            else {
+                // if no event is selected, the selection slot must be a hour starting slot or an extra slot
+                ASSERT( IsHourStartSlot( iSelectedSlot ) || IsExtraSlot( iSelectedSlot ) );
+                selected = false;
+            }
+    return selected;
+}
+
+/*!
+ \brief CalenDayInfo::IsMultipleEventsSelected
+*/
+bool CalenDayInfo::IsMultipleEventsSelected() const
+{
+    bool isMultiple(false);
+    if (iSelectedAlldayEvent >= 0) {
+        // If an allday event is selected, disregard the value of
+        // iSelectedSlot
+        isMultiple = false;
+    }
+    else
+        if (IsExtraSlot(iSelectedSlot)) {
+            int index = iSelectedSlot - iFirstUntimedSlot - iEmptyUntimedSlots;
+            isMultiple = (index == 0) && iTodoEvents.count() > 1;
+        }
+    return isMultiple;
+}
+
+/*!
+ \brief CalenDayInfo::IsAlldayEventSelected
+*/
+bool CalenDayInfo::IsAlldayEventSelected() const
+{
+    bool selected(false);
+    if (iSelectedAlldayEvent >= 0) {
+        ASSERT( iSelectedAlldayEvent < iAlldayEvents.count() );
+        selected = true;
+    }
+    return selected;
+}
+
+/*!
+ \brief CalenDayInfo::UntimedEvent
+*/
+TCalenInstanceId CalenDayInfo::UntimedEvent(int aIndex)
+{
+    TCalenInstanceId id;
+    if (iTodoEvents.count() > 0 && aIndex == 0) {
+        id = iTodoEvents[0];
+    }
+    else {
+        // If we have one or more todo items, the first slot is used for them
+        // (but not more than one slot)
+        if (iTodoEvents.count() > 0) {
+            aIndex--;
+        }
+
+        if (aIndex >= 0 && aIndex < iUntimedEvents.count()) {
+            id = iUntimedEvents[aIndex];
+        }
+        else {
+            // should not happen
+            User::Invariant();
+        }
+    }
+
+    return id;
+}
+
+/*!
+ \brief CalenDayInfo::AlldayEvent
+*/
+const CalenTimedEventInfo& CalenDayInfo::AlldayEvent(int aIndex)
+{
+    ASSERT( aIndex >= 0 && aIndex < iAlldayEvents.count() );
+    return iAlldayEvents[aIndex];
+}
+
+/*!
+ \brief CalenDayInfo::SelectedEvent
+*/
+TCalenInstanceId CalenDayInfo::SelectedEvent()
+{
+    TCalenInstanceId id;
+    if (iSelectedAlldayEvent >= 0) {
+        ASSERT( iSelectedAlldayEvent < iAlldayEvents.count() );
+        id = iAlldayEvents[iSelectedAlldayEvent].iId;
+    }
+    else
+        if (iSelectedRegion >= 0) {
+            ASSERT( iSelectedRegion < iRegionList.count() );
+
+            CalenTimeRegion& region = iRegionList[iSelectedRegion];
+            if (iSelectedColumn < region.iColumns.count()) {
+                CalenTimeColumn& column = region.iColumns[iSelectedColumn];
+                if (iSelectedColumnEventIndex >= 0 && iSelectedColumnEventIndex
+                    < column.iEventArray.count()) {
+                    CalenTimedEventInfo& info = column.iEventArray[iSelectedColumnEventIndex];
+                    id = info.iId;
+                }
+                else {
+                    // should not happen, no event selected in the column
+                    User::Invariant();
+                }
+            }
+            else {
+                // should not happen, the empty column was selected
+                User::Invariant();
+            }
+        }
+        else
+            if (IsExtraSlot(iSelectedSlot)) {
+                int index = iSelectedSlot - iFirstUntimedSlot - iEmptyUntimedSlots;
+                id = UntimedEvent(index);
+            }
+            else {
+                // should not happen
+                User::Invariant();
+            }
+
+    return id;
+}
+
+/*!
+ \brief CalenDayInfo::SelectEvent
+ Return KErrNotFound if not found, otherwise KErrNone
+*/
+int CalenDayInfo::SelectEvent(const TCalenInstanceId& aId)
+{
+    // Id can be of allday event, untimed event or other events
+
+    // Look for this event id in all event data structures and set
+    // the state accordingly if it was found
+
+    for (int i(0); i < iAlldayEvents.count(); i++) {
+        TCalenInstanceId id = iAlldayEvents[i].iId;
+        if (id == aId) {
+            iSelectedAlldayEvent = i;
+            iSelectedRegion = KErrNotFound;
+            return KErrNone;
+        }
+    }
+
+    for (int i(0); i < iTodoEvents.count(); i++) {
+        TCalenInstanceId id = iTodoEvents[i];
+        if (id == aId) {
+            iSelectedAlldayEvent = KErrNotFound;
+            iSelectedRegion = KErrNotFound;
+            iSelectedSlot = iFirstUntimedSlot + iEmptyUntimedSlots;
+            return KErrNone;
+        }
+    }
+
+    for (int i(0); i < iUntimedEvents.count(); i++) {
+        TCalenInstanceId id = iUntimedEvents[i];
+        if (id == aId) {
+            iSelectedAlldayEvent = KErrNotFound;
+            iSelectedRegion = KErrNotFound;
+            iSelectedSlot = iFirstUntimedSlot + iEmptyUntimedSlots + i;
+            if (iTodoEvents.count() > 0) {
+                iSelectedSlot++;
+            }
+            return KErrNone;
+        }
+    }
+
+    for (int i(0); i < iRegionList.count(); i++) {
+        CalenTimeRegion& region = iRegionList[i];
+        for (int col(0); col < region.iColumns.count(); col++) {
+            for (int ind(0); ind < region.iColumns[col].iEventArray.count(); ind++) {
+                if (region.iColumns[col].iEventArray[ind].iId == aId) {
+                    iSelectedAlldayEvent = KErrNotFound;
+                    iSelectedRegion = i;
+                    iSelectedColumn = col;
+                    iSelectedColumnEventIndex = ind;
+                    SetSelectionInEvent(EMoveDirectionDown);
+                    return KErrNone;
+                }
+            }
+        }
+    }
+
+    return KErrNotFound;
+}
+
+/*!
+ \brief CalenDayInfo::EnterRegionFromBelow
+*/
+void CalenDayInfo::EnterRegionFromBelow()
+{
+    ASSERT( iSelectedRegion >= 0 && iSelectedRegion < iRegionList.count() );
+    iSelectedColumn = KErrNotFound;
+    CalenTimeRegion& region = iRegionList[iSelectedRegion];
+    int latestEnd = region.iStartSlot;
+    // Look for the column with the latest end
+    for (int i = 0; i < region.iColumns.count(); i++) {
+        CalenTimeColumn& column = region.iColumns[i];
+        ASSERT( column.iEventArray.count()> 0 );
+        if (column.iEndSlot > latestEnd) {
+            // found a column with an event touching the end of the region
+            latestEnd = column.iEndSlot;
+            iSelectedColumn = i;
+            iSelectedColumnEventIndex = column.iEventArray.count() - 1;
+            SetSelectionInEvent(EMoveDirectionUp);
+        }
+    }
+    ASSERT( iSelectedColumn >= 0 );
+}
+
+/*!
+ \brief CalenDayInfo::EnterRegionFromAbove
+*/
+void CalenDayInfo::EnterRegionFromAbove()
+{
+    ASSERT( iSelectedRegion >= 0 && iSelectedRegion < iRegionList.count() );
+    iSelectedColumn = KErrNotFound;
+    CalenTimeRegion& region = iRegionList[iSelectedRegion];
+    int earliestStart = region.iEndSlot;
+    // Look for the column with the earliest start
+    for (int i = 0; i < region.iColumns.count(); i++) {
+        CalenTimeColumn& column = region.iColumns[i];
+        ASSERT( column.iEventArray.count()> 0 );
+        if (column.iStartSlot < earliestStart) {
+            // found a column with an event
+            earliestStart = column.iStartSlot;
+            iSelectedColumn = i;
+            iSelectedColumnEventIndex = 0;
+            SetSelectionInEvent(EMoveDirectionDown);
+        }
+    }
+    ASSERT( iSelectedColumn >= 0 );
+}
+
+/*!
+ \brief CalenDayInfo::NextFocusArea
+ Determines how large area to scan for new events/regions when moving in
+ the given direction.  If no events are found in this area, focus an
+ empty slot instead
+*/
+CalenSlotInterval CalenDayInfo::NextFocusArea(const CalenSlotInterval& aInterval, int aDirection)
+{
+    // NOTE: the comments are written with the visual layout in mind.
+    // upwards == up in the display, towards earlier times
+    // downwards == down in the display, towards later times
+    CalenSlotInterval target;
+    target.iEndSlot = 0;
+    target.iStartSlot = 0;
+
+    if (IsExtraSlot(aInterval.iStartSlot)) {
+        // Special case logic for moving within the extra slots.
+
+        // The index within the extra slot area
+        int extraIndex = aInterval.iStartSlot - iFirstUntimedSlot;
+        // Generally, move just one slot at a time in this area
+        int newIndex = extraIndex + aDirection;
+
+        if (newIndex < iEmptyUntimedSlots) {
+            // Moved upwards past the first slot, return
+            // the whole last hour before the untimed slot area
+            target.iEndSlot = iFirstUntimedSlot;
+            target.iStartSlot = target.iEndSlot - iSlotsInHour;
+        }
+        else
+            if (newIndex >= iUntimedSlotCount) {
+                // Moved downwards past the last untimed slot, return
+                // the whole first hour after the untimed slot area
+                target.iStartSlot = iFirstUntimedSlot + iUntimedSlotCount;
+                target.iEndSlot = target.iStartSlot + iSlotsInHour;
+            }
+            else {
+                // Moved normally within the untimed slot area
+                target.iStartSlot = aInterval.iStartSlot + aDirection;
+                target.iEndSlot = target.iStartSlot + 1;
+            }
+        return target;
+    }
+
+    // Helper interval for the whole untimed area
+    CalenSlotInterval untimedInterval;
+    untimedInterval.iStartSlot = iFirstUntimedSlot;
+    untimedInterval.iEndSlot = untimedInterval.iStartSlot + iUntimedSlotCount;
+
+    if (aDirection < 0) {
+        // Moving upwards
+        // Create a target interval of one hour upwards
+        target.iEndSlot = aInterval.iStartSlot;
+        target.iStartSlot = aInterval.iStartSlot - iSlotsInHour;
+
+        if (iUntimedSlotCount > 0 && untimedInterval.Overlaps(target)) {
+            // The target interval overlaps the untimed area
+            if (iUntimedSlotCount > iEmptyUntimedSlots) {
+                // Make the interval start at the last untimed slot
+                target.iStartSlot = untimedInterval.iEndSlot - 1;
+            }
+            else {
+                // Untimed area containing no actual events.
+                // Include one whole hour before the untimed area.
+                target.iStartSlot = iFirstUntimedSlot - iSlotsInHour;
+            }
+            return target;
+        }
+
+        // Round the start slot upwards to an even hour
+        target.iStartSlot = RoundHourUp(target.iStartSlot);
+    }
+    else {
+        // Moving downwards
+        // Create a target interval of one hour downwards
+        target.iStartSlot = aInterval.iEndSlot;
+        target.iEndSlot = aInterval.iEndSlot + iSlotsInHour;
+
+        if (iUntimedSlotCount > 0 && untimedInterval.Overlaps(target)) {
+            // The target interval overlaps the untimed area
+
+            // Assumption: There can't be any regions before the untimed area
+            if (iUntimedSlotCount > iEmptyUntimedSlots) {
+                // Make the interval end at the first untimed slot containing
+                // an event
+                target.iStartSlot = untimedInterval.iStartSlot + iEmptyUntimedSlots;
+                target.iEndSlot = target.iStartSlot + 1;
+            }
+            else {
+                // Untimed area containing no actual events.
+                // Include one whole hour after the untimed area.
+                target.iStartSlot = untimedInterval.iStartSlot + iUntimedSlotCount;
+                target.iEndSlot = target.iStartSlot + iSlotsInHour;
+            }
+            return target;
+        }
+
+        target.iEndSlot = RoundHourDown(target.iEndSlot);
+    }
+
+    return target;
+}
+
+/*!
+ \brief CalenDayInfo::NextEmptyFocusSlot
+ If no events are found in an empty area scanned, focus this slot instead
+*/
+int CalenDayInfo::NextEmptyFocusSlot(const CalenSlotInterval& aInterval, int aDirection)
+{
+    // NOTE: the comments are written with the visual layout in mind.
+    // upwards == up in the display, towards earlier times
+    // downwards == down in the display, towards later times
+
+    int target(0);
+
+    // If the next focus area logic says we should go to an untimed slot,
+    // skip the rest of this method
+    CalenSlotInterval testInterval = NextFocusArea(aInterval, aDirection);
+    if (IsExtraSlot(testInterval.iStartSlot)) {
+        target = testInterval.iStartSlot;
+    }
+    else {
+        if (aDirection < 0) {
+            // Moving upwards, target slot is the start of the area returned by
+            // NextFocusArea. This always is an even hour.
+            target = testInterval.iStartSlot;
+            ASSERT( IsHourStartSlot( target ) );
+        }
+        else {
+            target = testInterval.iStartSlot;
+            if (!IsHourStartSlot(target)) {
+                // If the interval doesn't start on an even hour, round downwards.
+                target = RoundHourDown(target);
+            }
+        }
+    }
+
+    return target;
+}
+
+/*!
+ \brief CalenDayInfo::EmptySelectionInterval
+ Create an interval representation of the current focus area
+*/
+CalenSlotInterval CalenDayInfo::EmptySelectionInterval()
+{
+    CalenSlotInterval target;
+    target.iEndSlot = 0;
+    target.iStartSlot = 0;
+
+    if (IsExtraSlot(iSelectedSlot)) {
+        // Return an interval consisting of one single slot
+        target.iStartSlot = iSelectedSlot;
+        target.iEndSlot = target.iStartSlot + 1;
+    }
+    else {
+        // Round the start slot to an even hour if it isn't.
+        // NOTE: This actually updates the selection state!
+        // Only call this method if no event actually is selected.
+        if (!IsHourStartSlot(iSelectedSlot)) {
+            iSelectedSlot = RoundHourUp(iSelectedSlot);
+        }
+        target.iStartSlot = iSelectedSlot;
+        target.iEndSlot = iSelectedSlot + iSlotsInHour;
+    }
+
+    return target;
+}
+
+/*!
+ \brief CalenDayInfo::SelectedInterval
+*/
+CalenSlotInterval CalenDayInfo::SelectedInterval()
+{
+    CalenSlotInterval selection;
+    selection.iStartSlot = selection.iEndSlot = 0;
+
+    if (iSelectedAlldayEvent >= 0) {
+        selection.iStartSlot = 0;
+        selection.iEndSlot = iSlotsInHour * KCalenHoursInDay + iUntimedSlotCount;
+    }
+    else
+        if (iSelectedRegion >= 0) {
+
+            CalenTimeRegion& region = iRegionList[iSelectedRegion];
+            if (iSelectedColumn < region.iColumns.count()) {
+                CalenTimeColumn& column = region.iColumns[iSelectedColumn];
+                if (iSelectedColumnEventIndex >= 0 && iSelectedColumnEventIndex
+                    < column.iEventArray.count()) {
+                    CalenTimedEventInfo& info = column.iEventArray[iSelectedColumnEventIndex];
+                    // gets only the CalenSlotInterval part from the CalenTimedEventInfo struct
+                    selection = info;
+                }
+            }
+        }
+
+    if (selection.IsEmpty()) {
+        // No selection was set in the cases above, no event is selected, thus
+        // use the empty area selection interval instead.
+        selection = EmptySelectionInterval();
+    }
+    return selection;
+}
+
+/*!
+ \brief CalenDayInfo::SetSelectionInRegion
+ Sets selection within a region
+*/
+bool CalenDayInfo::SetSelectionInRegion(int aRegion, int aColumn, int aSlot)
+{
+    bool selected(false);
+    StoreOrigSelection();
+    //validate given values
+    if (aRegion >= 0 && aRegion < iRegionList.count()) {//ASSERT( iSelectedRegion >= 0 && iSelectedRegion < iRegionList.count() );
+        CalenSlotInterval interval;
+        //TODO: round aSlot hour to full hour down????
+        interval.iStartSlot = aSlot;
+        interval.iEndSlot = interval.iStartSlot + 1;
+
+        CalenTimeRegion& region = iRegionList[aRegion];
+        if (region.Overlaps(interval)) {
+            if (aColumn >= 0 && aColumn < region.iColumns.count()) {
+                bool eventFound(false);
+                CalenTimeColumn& column = region.iColumns[aColumn];
+                if (column.Overlaps(interval)) {
+                    ASSERT( column.iEventArray.count()> 0 );
+                    for (int i = 0; i < column.iEventArray.count(); i++) {
+                        CalenTimedEventInfo& event = column.iEventArray[i];
+                        if (event.Overlaps(interval)) {
+                            iSelectedColumnEventIndex = i;
+
+                            iSelectedAlldayEvent = KErrNotFound;
+                            iSelectedRegion = aRegion;
+                            iSelectedColumn = aColumn;
+                            iSelectedSlot = aSlot;
+                            selected = true;
+                            eventFound = true;
+                            break;
+                        }
+
+                    }
+                }
+
+                if (!eventFound) {
+                    iSelectedAlldayEvent = KErrNotFound;
+                    iSelectedRegion = aRegion;
+                    iSelectedColumn = aColumn;
+                    iSelectedSlot = aSlot;
+                    iSelectedColumnEventIndex = KErrNotFound;
+                    selected = true;
+                }
+            }
+            else
+                if (aColumn == iRegionList[aRegion].iColumns.count()) {//empty selection on right selected
+                    iSelectedAlldayEvent = KErrNotFound;
+                    iSelectedRegion = aRegion;
+                    iSelectedColumn = aColumn;
+                    iSelectedSlot = aSlot;
+                    iSelectedColumnEventIndex = KErrNotFound;
+                    selected = true;
+                }
+        }
+    }
+
+    return selected;
+}
+
+/*!
+ \brief CalenDayInfo::MoveOutFromRegion
+*/
+void CalenDayInfo::MoveOutFromRegion(int aDirection)
+{
+    CalenTimeRegion& region = iRegionList[iSelectedRegion];
+    CalenSlotInterval targetInterval = NextFocusArea(region, aDirection);
+    int next = iSelectedRegion + aDirection;
+    // Check what the next region would be and if we should move into that
+    // or into an empty area
+    if (next >= 0 && next < iRegionList.count()) {
+        if (iRegionList[next].Overlaps(targetInterval)) {
+            iSelectedRegion = next;
+            if (aDirection < 0) {
+                EnterRegionFromBelow();
+            }
+            else {
+                EnterRegionFromAbove();
+            }
+        }
+        else {
+            iSelectedRegion = KErrNotFound;
+            iSelectedSlot = NextEmptyFocusSlot(region, aDirection);
+        }
+    }
+    else {
+        iSelectedRegion = KErrNotFound;
+        iSelectedSlot = NextEmptyFocusSlot(region, aDirection);
+    }
+}
+
+/*!
+ \brief CalenDayInfo::MoveInColumn
+*/
+void CalenDayInfo::MoveInColumn(int aDirection)
+{
+    CalenTimeRegion& region = iRegionList[iSelectedRegion];
+    if (iSelectedColumn < region.iColumns.count()) {
+        CalenTimeColumn& column = region.iColumns[iSelectedColumn];
+        if (iSelectedColumnEventIndex >= 0) {
+            // We currently have an event in a column selected
+            CalenSlotInterval curInterval = column.iEventArray[iSelectedColumnEventIndex];
+            CalenSlotInterval targetInterval = NextFocusArea(curInterval, aDirection);
+
+            int next = iSelectedColumnEventIndex + aDirection;
+            // Check if the target interval overlaps the next event in this column
+            if (next >= 0 && next < column.iEventArray.count()) {
+                if (column.iEventArray[next].Overlaps(targetInterval)) {
+                    iSelectedColumnEventIndex = next;
+                    SetSelectionInEvent(aDirection);
+                }
+                else {
+                    iSelectedColumnEventIndex = KErrNotFound;
+                    iSelectedSlot = NextEmptyFocusSlot(curInterval, aDirection);
+                }
+            }
+            else {
+                // There's no next event in this column, focus an empty area instead.
+                iSelectedColumnEventIndex = KErrNotFound;
+                iSelectedSlot = NextEmptyFocusSlot(curInterval, aDirection);
+            }
+        }
+        else {
+            // No event selected in the current column, find the target interval
+            // and check if there's any event there
+            CalenSlotInterval curInterval = EmptySelectionInterval();
+            CalenSlotInterval targetInterval = NextFocusArea(curInterval, aDirection);
+            iSelectedColumnEventIndex = FindEvent(targetInterval, aDirection);
+            if (iSelectedColumnEventIndex >= 0) {
+                SetSelectionInEvent(aDirection);
+            }
+            else {
+                iSelectedSlot = NextEmptyFocusSlot(curInterval, aDirection);
+            }
+        }
+
+        // If the new selection lies outside of the region, move out from the region.
+        CalenSlotInterval selection = SelectedInterval();
+        if (selection.iStartSlot < region.iStartSlot || selection.iEndSlot > region.iEndSlot) {
+            MoveOutFromRegion(aDirection);
+        }
+
+    }
+    else {
+        // The empty column was selected, just move up/down in that column
+        iSelectedSlot = NextEmptyFocusSlot(EmptySelectionInterval(), aDirection);
+
+        // When moving in the empty column, move out from the region only if
+        // the selection moved completely out from the region.
+        CalenSlotInterval selection = SelectedInterval();
+        if (!selection.Overlaps(region)) {
+            // The target selection is completely outside of the current region
+            int next = iSelectedRegion + aDirection;
+            if (next >= 0 && next < iRegionList.count() && iRegionList[next].Overlaps(selection)) {
+                // The target selection overlaps the next region, move into that,
+                // stay within the rightmost empty column
+                iSelectedRegion = next;
+                iSelectedColumn = iRegionList[next].iColumns.count();
+                iSelectedColumnEventIndex = KErrNotFound;
+            }
+            else {
+                // Move out from the current region
+                iSelectedRegion = KErrNotFound;
+                iSelectedColumn = KErrNotFound;
+                iSelectedColumnEventIndex = KErrNotFound;
+                // iSelectedSlot was update above, keep the same value
+            }
+        }
+
+    }
+
+}
+
+/*!
+ \brief CalenDayInfo::MoveInAlldayEvent
+*/
+bool CalenDayInfo::MoveInAlldayEvent(TScrollDirection aDirection)
+{
+    ASSERT( iSelectedAlldayEvent >= 0 );
+    bool moved(true);
+    switch (aDirection) {
+        case EScrollUp: {
+            // don't do anything
+        }
+            break;
+        case EScrollDown: {
+            // don't do anything
+        }
+            break;
+        case EScrollLeft: {
+            if (iSelectedAlldayEvent > 0) {
+                // there are more allday events to the left, select next
+                iSelectedAlldayEvent--;
+            }
+            else {
+                // move to previous day
+                moved = false;
+            }
+        }
+            break;
+        case EScrollRight: {
+            if (iSelectedAlldayEvent < iAlldayEvents.count() - 1) {
+                // there are more allday events to the right, select next
+                iSelectedAlldayEvent++;
+            }
+            else {
+                iSelectedAlldayEvent = KErrNotFound;
+                // find a region to select
+                if (iSelectedRegion >= 0) {
+                    // keep using the old selection state
+                }
+                else {
+                    // find a new suitable selection
+
+                    // if iSelectedSlot was moved to the empty untimed slot area,
+                    // move it down to a real slot
+
+                    if (iSelectedSlot >= iFirstUntimedSlot && iSelectedSlot < iFirstUntimedSlot
+                        + iEmptyUntimedSlots) {
+                        iSelectedSlot = iFirstUntimedSlot + iEmptyUntimedSlots;
+                    }
+
+                    CalenSlotInterval interval = EmptySelectionInterval();
+
+                    iSelectedRegion = FindRegion(interval, EMoveDirectionDown);
+                    int firstRegion = iSelectedRegion;
+                    bool found(false);
+                    // Iterate over all regions overlapping this interval, see
+                    // if any of them has events in this column
+                    while (iSelectedRegion >= 0 && iSelectedRegion < iRegionList.count()
+                        && iRegionList[iSelectedRegion].Overlaps(interval) && !found) {
+
+                        ASSERT( iSelectedRegion < iRegionList.count() );
+                        CalenTimeRegion& region = iRegionList[iSelectedRegion];
+
+                        ASSERT( region.iColumns.count()> 0 );
+                        iSelectedColumn = 0;
+                        CalenTimeColumn& column = region.iColumns[iSelectedColumn];
+
+                        iSelectedColumnEventIndex = FindEvent(interval, EMoveDirectionDown);
+                        if (iSelectedColumnEventIndex >= 0) {
+                            ASSERT( iSelectedColumnEventIndex < column.iEventArray.count() );
+                            // Keep using the old selected slot also here, just
+                            // update it to make sure it's within the actual event
+                            UpdateSelectionInEvent();
+                            found = true;
+                        }
+                        else {
+                            // Check the next region
+                            iSelectedRegion++;
+                        }
+                    }
+
+                    if (!found) {
+                        iSelectedRegion = firstRegion;
+                        iSelectedColumn = 0;
+                        iSelectedSlot = interval.iStartSlot;
+                    }
+
+                }
+            }
+        }
+            break;
+        default:
+            // Do nothing
+            break;
+    }
+
+    return moved;
+}
+
+/*!
+ \brief CalenDayInfo::MoveBetweenColumns
+*/
+void CalenDayInfo::MoveBetweenColumns(TScrollDirection aDirection)
+{
+    // Moving to another column
+    CalenSlotInterval selection = SelectedInterval();
+    if (IsEventSelected()) {
+        // If moving from an event, just use the selected
+        // slot pos within the event, not the whole event
+        // interval.
+        selection.iStartSlot = iSelectedSlot;
+        selection.iEndSlot = selection.iStartSlot + iSlotsInHour;
+        // Crop the selection to be within the event
+        selection.Intersect(SelectedInterval());
+    }
+
+    switch (aDirection) {
+        case EScrollLeft: {
+            iSelectedColumn--;
+            break;
+        }
+        case EScrollRight: {
+            iSelectedColumn++;
+            break;
+        }
+        default:
+            // Do nothing
+            break;
+    }
+
+    // First try finding events exactly in the selection area
+    iSelectedColumnEventIndex = FindEvent(selection, EMoveDirectionDown);
+    if (iSelectedColumnEventIndex >= 0) {
+        // An event was found in the given interval
+        // Keep using the old selection position, just update it to make
+        // sure it's within the event
+        UpdateSelectionInEvent();
+    }
+    else {
+        // No event found in the interval
+
+        // Expand the interval to even hour endings
+        selection.iStartSlot = RoundHourUp(selection.iStartSlot);
+        selection.iEndSlot = RoundHourDown(selection.iEndSlot);
+        CalenTimeRegion& region = iRegionList[iSelectedRegion];
+        // Crop the selection to the current region
+        selection.Intersect(region);
+
+        // Try again with the possibly larger interval
+        iSelectedColumnEventIndex = FindEvent(selection, EMoveDirectionDown);
+        if (iSelectedColumnEventIndex >= 0) {
+            // An event was found in the given interval
+            // Keep using the old selection position, just update it to make
+            // sure it's within the event
+            UpdateSelectionInEvent();
+        }
+        else {
+            // Still no events found. Select an empty interval if possible.
+
+            if (!IsHourStartSlot(selection.iStartSlot)) {
+                // The starting slot isn't a hour start slot. Rounding directly
+                // would move the interval outside of the region. See if we can
+                // round the starting slot down instead and still be within
+                // the region.
+                int start = RoundHourDown(selection.iStartSlot);
+                if (start + iSlotsInHour <= region.iEndSlot) {
+                    // Ok, an empty selection fits within the region.
+                    iSelectedSlot = start;
+                }
+            }
+            else
+                if (!IsHourStartSlot(selection.iEndSlot)) {
+                    // The ending slot isn't a hour start slot. Rounding directly
+                    // could move the interval outside of the region. See if we can
+                    // round the upwards instead and still be within
+                    // the region.
+                    int start = RoundHourUp(selection.iEndSlot - iSlotsInHour);
+                    if (start >= region.iStartSlot) {
+                        // Ok, an empty selection fits within the region.
+                        iSelectedSlot = start;
+                    }
+                }
+
+            // Make sure the selected interval really is a valid
+            // empty interval selection (this forces rounding if needed)
+            selection = EmptySelectionInterval();
+
+            // Check the final target interval once more.
+            iSelectedColumnEventIndex = FindEvent(selection, EMoveDirectionDown);
+            if (iSelectedColumnEventIndex >= 0) {
+                // An event was found in the given interval
+                UpdateSelectionInEvent();
+            }
+            else {
+                // No even found, use the empty selection
+
+                // If not within the region, move out
+                if (selection.iStartSlot < region.iStartSlot) {
+                    MoveOutFromRegion(EMoveDirectionUp);
+                }
+                else
+                    if (selection.iEndSlot > region.iEndSlot) {
+                        MoveOutFromRegion(EMoveDirectionDown);
+                    }
+            }
+        }
+
+    }
+
+}
+
+/*!
+ \brief CalenDayInfo::MoveInRegion
+*/
+bool CalenDayInfo::MoveInRegion(TScrollDirection aDirection)
+{
+    ASSERT( iSelectedAlldayEvent < 0 && iSelectedRegion >= 0 );
+    bool moved(true);
+    switch (aDirection) {
+        case EScrollUp: {
+            MoveInColumn(EMoveDirectionUp);
+        }
+            break;
+        case EScrollDown: {
+            MoveInColumn(EMoveDirectionDown);
+        }
+            break;
+
+        case EScrollLeft: {
+            ASSERT( iSelectedRegion < iRegionList.count() );
+            CalenTimeRegion& region = iRegionList[iSelectedRegion];
+            ASSERT( iSelectedColumn >= 0 && iSelectedColumn <= region.iColumns.count() );
+            if (iSelectedColumn == 0) {
+                if (iAlldayEvents.count() > 0) {
+                    // remember the last selection state
+                    iSelectedAlldayEvent = iAlldayEvents.count() - 1;
+                }
+                else {
+                    // move to previous day
+                    moved = false;
+                }
+            }
+            else {
+                MoveBetweenColumns(aDirection);
+            }
+        }
+            break;
+
+        case EScrollRight: {
+            ASSERT( iSelectedRegion < iRegionList.count() );
+            CalenTimeRegion& region = iRegionList[iSelectedRegion];
+            if (iSelectedColumn < region.iColumns.count() - 1) {
+                MoveBetweenColumns(aDirection);
+            }
+            else
+                if (iSelectedColumn == region.iColumns.count() - 1) {
+                    // In the last column, moving to the empty column
+                    iSelectedColumn++;
+                    iSelectedColumnEventIndex = KErrNotFound;
+
+                    // Round the selection to an empty interval
+                    EmptySelectionInterval();
+                }
+                else {
+                    // in the last, empty column
+                    // move to next day
+                    moved = false;
+                }
+        }
+            break;
+
+        default:
+            // Do nothing
+            break;
+    }
+
+    return moved;
+}
+
+/*!
+ \brief CalenDayInfo::MoveInEmptyArea
+*/
+bool CalenDayInfo::MoveInEmptyArea(TScrollDirection aDirection)
+{
+    ASSERT( iSelectedAlldayEvent < 0 && iSelectedRegion < 0 );
+    bool moved(true);
+    switch (aDirection) {
+        case EScrollUp: {
+            CalenSlotInterval curInterval = EmptySelectionInterval();
+            CalenSlotInterval targetInterval = NextFocusArea(curInterval, EMoveDirectionUp);
+            iSelectedRegion = FindRegion(targetInterval, EMoveDirectionUp);
+            if (iSelectedRegion >= 0) {
+                EnterRegionFromBelow();
+            }
+            else {
+                iSelectedSlot = NextEmptyFocusSlot(curInterval, EMoveDirectionUp);
+            }
+
+        }
+            break;
+        case EScrollDown: {
+            CalenSlotInterval curInterval = EmptySelectionInterval();
+            CalenSlotInterval targetInterval = NextFocusArea(curInterval, EMoveDirectionDown);
+            iSelectedRegion = FindRegion(targetInterval, EMoveDirectionDown);
+            if (iSelectedRegion >= 0) {
+                EnterRegionFromAbove();
+            }
+            else {
+                iSelectedSlot = NextEmptyFocusSlot(curInterval, EMoveDirectionDown);
+            }
+        }
+            break;
+        case EScrollLeft: {
+            if (iAlldayEvents.count() > 0) {
+                iSelectedAlldayEvent = iAlldayEvents.count() - 1;
+            }
+            else {
+                // move to previous day
+                moved = false;
+            }
+        }
+            break;
+        case EScrollRight: {
+            // move to next day
+            moved = false;
+        }
+            break;
+        default:
+            // Do nothing
+            break;
+    }
+
+    return moved;
+}
+
+/*!
+ \brief CalenDayInfo::MoveSelection
+*/
+bool CalenDayInfo::MoveSelection(TScrollDirection aDirection)
+{
+    bool moved(true);
+    StoreOrigSelection();
+    if (iSelectedAlldayEvent >= 0) {
+        // focused on an allday event
+        moved = MoveInAlldayEvent(aDirection);
+    }
+    else
+        if (iSelectedRegion >= 0) {
+            // focused on some event region
+            moved = MoveInRegion(aDirection);
+        }
+        else {
+            // focused on an empty, plain area
+            moved = MoveInEmptyArea(aDirection);
+        }
+    if (!ValidateSelection()) {
+        moved = false;
+    }
+    return moved;
+}
+
+/*!
+ \brief CalenDayInfo::MoveSelectionInEvent
+*/
+void CalenDayInfo::MoveSelectionInEvent(TScrollDirection aDirection)
+{
+    ASSERT( IsEventSelected() );
+
+    switch (aDirection) {
+        case EScrollUp: {
+            iSelectedSlot -= KFSCalSlotsInHour;
+        }
+            break;
+        case EScrollDown: {
+            iSelectedSlot += KFSCalSlotsInHour;
+        }
+            break;
+
+        default:
+            // Do nothing
+            break;
+    }
+
+    UpdateSelectionInEvent();
+
+    if (iSelectedAlldayEvent >= 0) {
+        // if an allday event is selected, invalidate
+        // the old region/event selection
+        iSelectedRegion = KErrNotFound;
+    }
+}
+
+/*!
+ \brief CalenDayInfo::UpdateSelectionInEvent
+*/
+void CalenDayInfo::UpdateSelectionInEvent()
+{
+    ASSERT( IsEventSelected() );
+    CalenSlotInterval event = SelectedInterval();
+
+    if (iSelectedSlot < event.iStartSlot) {
+        iSelectedSlot = event.iStartSlot;
+    }
+    if (iSelectedSlot >= event.iEndSlot) {
+        iSelectedSlot = event.iEndSlot - 1;
+    }
+
+}
+
+/*!
+ \brief CalenDayInfo::SetSelectionInEvent
+*/
+void CalenDayInfo::SetSelectionInEvent(int aDirection)
+{
+    CalenSlotInterval event = SelectedInterval();
+    if (aDirection > 0) {
+        iSelectedSlot = event.iStartSlot;
+    }
+    else {
+        iSelectedSlot = event.iEndSlot - 1;
+    }
+}
+
+/*!
+ \brief CalenDayInfo::StoreOrigSelection
+*/
+void CalenDayInfo::StoreOrigSelection()
+{
+    iOrigSelectedAlldayEvent = iSelectedAlldayEvent;
+    iOrigSelectedRegion = iSelectedRegion;
+    iOrigSelectedColumn = iSelectedColumn;
+    iOrigSelectedSlot = iSelectedSlot;
+    iOrigSelectedColumnEventIndex = iSelectedColumnEventIndex;
+}
+
+/*!
+ \brief CalenDayInfo::ValidateSelection
+*/
+bool CalenDayInfo::ValidateSelection()
+{
+    bool validate(true);
+    if (iSelectedSlot < 0 || iSelectedSlot >= iSlotsInHour * KCalenHoursInDay + iUntimedSlotCount) {
+        // tried to move outside of the day
+        // revert to the original coords
+        iSelectedAlldayEvent = iOrigSelectedAlldayEvent;
+        iSelectedRegion = iOrigSelectedRegion;
+        iSelectedColumn = iOrigSelectedColumn;
+        iSelectedSlot = iOrigSelectedSlot;
+        iSelectedColumnEventIndex = iOrigSelectedColumnEventIndex;
+        validate = false;
+    }
+    return validate;
+}
+
+/*!
+ \brief CalenDayInfo::SelectSlot
+*/
+void CalenDayInfo::SelectSlot(int aSlot)
+{
+    // Check for special case: empty untimed slot is selected
+    if (aSlot >= iFirstUntimedSlot && aSlot < iFirstUntimedSlot + iEmptyUntimedSlots) {
+        aSlot = iFirstUntimedSlot + iEmptyUntimedSlots;
+    }
+
+    iSelectedAlldayEvent = KErrNotFound;
+    iSelectedSlot = aSlot;
+    CalenSlotInterval interval = EmptySelectionInterval();
+    iSelectedRegion = FindRegion(interval, EMoveDirectionDown);
+    if (iSelectedRegion >= 0) {
+        CalenTimeRegion& region = iRegionList[iSelectedRegion];
+        int regCount(region.iColumns.count());
+        for (int i = 0; i < regCount; i++) {
+            CalenTimeColumn& column = region.iColumns[i];
+            int colCount(column.iEventArray.count());
+            for (int j = 0; j < colCount; j++) {
+                if (column.iEventArray[j].Overlaps(interval)) {
+                    iSelectedColumn = i;
+                    iSelectedColumnEventIndex = j;
+                    iSelectedSlot = aSlot;
+                    UpdateSelectionInEvent();
+                    return;
+                }
+            }
+        }
+        // Regions can have empty areas where there aren't any events,
+        // due to rounding of the ends of the region to whole hours.
+        // A region cannot, however, have a empty complete whole hour.
+        // Therefore, this cannot occur.
+        User::Invariant();
+    }
+}
+
+/*!
+ \brief CalenDayInfo::RegionList
+*/
+const QList<CalenTimeRegion>& CalenDayInfo::RegionList() const
+{
+    return iRegionList;
+}
+
+/*!
+ \brief CalenDayInfo::GetEventIntervals
+*/
+void CalenDayInfo::GetEventIntervals(QList<CalenEventInterval>& aArray) const
+{
+    int regCount(iRegionList.count());
+    for (int i = 0; i < regCount; i++) {
+        const CalenTimeRegion& region = iRegionList[i];
+        for (int j = 0; j < region.iIntervals.count(); j++) {
+            aArray.append(region.iIntervals[j]);
+        }
+    }
+}
+
+/*!
+ \brief CalenDayInfo::InsertUntimedEventL
+*/
+/*
+void CalenDayInfo::InsertUntimedEventL(const CCalInstance& aInstance)
+{
+    if (CalenAgendaUtils::IsTimedEntryL(aInstance.Entry().EntryTypeL())) {
+        // timed entry added as untimed event
+        User::Invariant();
+    }
+
+    TCalenInstanceId id = TCalenInstanceId::CreateL(aInstance);
+    InsertUntimedEvent(aInstance.Entry().EntryTypeL(), id);
+}
+*/
+
+/*!
+ \brief CalenDayInfo::InsertUntimedEvent
+*/
+void CalenDayInfo::InsertUntimedEvent(AgendaEntry::Type aType, const TCalenInstanceId& aId)
+{
+    if (aType == AgendaEntry::TypeTodo) {
+        iTodoEvents.append(aId);
+    }
+    else {
+        iUntimedEvents.append(aId);
+    }
+}
+
+/*!
+ \brief CalenDayInfo::SuggestedUntimedSlotPos
+*/
+int CalenDayInfo::SuggestedUntimedSlotPos()
+{
+    int slot = KFSCalStartingHour * iSlotsInHour;
+    if (iRegionList.count() > 0) {
+        CalenTimeRegion& region = iRegionList[0];
+        if (region.iStartSlot < slot) {
+            slot = RoundHourUp(region.iStartSlot);
+        }
+    }
+    return slot;
+}
+
+/*!
+ \brief CalenDayInfo::NeededUntimedSlotCount
+*/
+int CalenDayInfo::NeededUntimedSlotCount()
+{
+    int count = iUntimedEvents.count();
+    if (iTodoEvents.count() > 0) {
+        count++;
+    }
+    return count;
+}
+
+/*!
+ \brief CalenDayInfo::NeededUntimedSlotCount
+*/
+int CalenDayInfo::UpdateUntimedPos(int aSlot, int aUntimedCount)
+{
+    int newValue = NeededUntimedSlotCount();
+
+    // If this method is called many times, first undo the previous modifications
+    int regCount(iRegionList.count());
+    for (int i = 0; i < regCount; i++) {
+        iRegionList[i].AddOffset(-iUntimedSlotCount, iFirstUntimedSlot);
+    }
+    if (iSelectedSlot >= iFirstUntimedSlot) {
+        iSelectedSlot -= iUntimedSlotCount;
+    }
+
+    // Reset the untimed slot count
+    iUntimedSlotCount = 0;
+
+    // Get the default values
+    iFirstUntimedSlot = SuggestedUntimedSlotPos();
+    iUntimedSlotCount = newValue;
+
+    // If parameters were given, use them instead of the defaults
+    if (aSlot >= 0) {
+        ASSERT( aSlot <= iFirstUntimedSlot );
+        ASSERT( iUntimedSlotCount <= aUntimedCount );
+
+        iFirstUntimedSlot = aSlot;
+        iUntimedSlotCount = aUntimedCount;
+    }
+
+    iEmptyUntimedSlots = iUntimedSlotCount - NeededUntimedSlotCount();
+
+    // Add the new offset to all regions and update the selected slot
+    regCount = iRegionList.count();
+    for (int i = 0; i < regCount; i++) {
+        iRegionList[i].AddOffset(iUntimedSlotCount, iFirstUntimedSlot);
+    }
+    if (iSelectedSlot >= iFirstUntimedSlot) {
+        iSelectedSlot += iUntimedSlotCount;
+    }
+    int eventCount(iAlldayEvents.count());
+    for (int i = 0; i < eventCount; i++) {
+        iAlldayEvents[i].iEndSlot = iSlotsInHour * KCalenHoursInDay + iUntimedSlotCount;
+    }
+
+    // Do rounding of the end of the last region. This should be done when no
+    // more events will be added, but there's no real harm if new events are
+    // added after this.
+    if (iRegionList.count() > 0) {
+        // Round the end of the last region down
+        CalenTimeRegion& lastRegion = iRegionList[iRegionList.count() - 1];
+        lastRegion.iEndSlot = RoundHourDown(lastRegion.iEndSlot);
+    }
+
+    return iFirstUntimedSlot;
+}
+
+/*!
+ \brief Returns the index of the first occupied slot
+*/
+int CalenDayInfo::FirstOccupiedSlot()
+{
+
+    int firstNonemptySlot(KErrNotFound);
+
+    if (iUntimedSlotCount > 0) {
+        firstNonemptySlot = iFirstUntimedSlot;
+    }
+    else {
+        if (iRegionList.count() > 0) {
+            CalenTimeRegion& region = iRegionList[0];
+            firstNonemptySlot = region.iStartSlot;
+        }
+    }
+
+    return firstNonemptySlot;
+}
+
+/*!
+ \brief Returns the index of the last occupied slot
+*/
+int CalenDayInfo::LastOccupiedSlot()
+{
+    int lastNonemptySlot(KErrNotFound);
+    if (iRegionList.count() > 0) {
+        int lastIndex = iRegionList.count() - 1;
+        CalenTimeRegion& region = iRegionList[lastIndex];
+        lastNonemptySlot = region.iEndSlot;
+    }
+    else {
+        if (iUntimedSlotCount > 0) {
+            lastNonemptySlot = iFirstUntimedSlot + iUntimedSlotCount - 1;
+        }
+    }
+    return lastNonemptySlot;
+}
+
+/*!
+ \brief Returns the index of the earliest end slot
+*/
+int CalenDayInfo::EarliestEndSlot()
+{
+    int earliestEndSlot(KErrNotFound);
+    int untimedEventCount = iUntimedSlotCount - iEmptyUntimedSlots;
+    if (untimedEventCount > 0) {
+        earliestEndSlot = iFirstUntimedSlot + iEmptyUntimedSlots;
+        // add 1, since end slot is actually the one that is right after..
+        earliestEndSlot++;
+    }
+    else {
+        if (iRegionList.count() > 0) {
+            earliestEndSlot = iEarliestEndSlot + iEmptyUntimedSlots;
+        }
+    }
+    return earliestEndSlot;
+}
+
+/*!
+ \brief Returns the index of the last start slot
+*/
+int CalenDayInfo::LastStartSlot()
+{
+    int lastStartSlot(KErrNotFound);
+
+    if (iRegionList.count() > 0) {
+        lastStartSlot = iLastStartSlot + iUntimedSlotCount;
+    }
+    else {
+        if (iUntimedSlotCount - iEmptyUntimedSlots > 0) {
+            lastStartSlot = iFirstUntimedSlot + iUntimedSlotCount - 1;
+        }
+    }
+    return lastStartSlot;
+}
+
+/*!
+ \brief Returns the index of a slot where this event should start drawing,
+ based on the start time
+*/
+int CalenDayInfo::SlotIndexForStartTime(QDateTime aStartTime)
+{
+    // For example, 1/2 hour accuracy (iSlotsInHour == 2):
+    // Start drawing with the previus half hour: 9:15 -> 9:00, 9:59-> 9:30.
+
+
+    //    TDateTime dt = aStartTime.DateTime();
+    //    int minutes = dt.Minute();
+    //    int hours = dt.Hour();
+    int minutes = aStartTime.time().minute();//dt.Minute();
+    int hours = aStartTime.time().hour();//dt.Hour();
+
+    // calculate index based on the hour.
+    int slotIndex = hours * iSlotsInHour;
+
+    switch (iSlotsInHour) {
+        case EOne: // do nothing
+            break;
+        case ETwo: {
+            if (minutes >= 30) {
+                slotIndex++;
+            }
+        }
+            break;
+        case EThree: {
+            if (minutes >= 20) {
+                slotIndex++;
+            }
+            if (minutes >= 40) {
+                slotIndex++;
+            }
+        }
+            break;
+        case EFour: // followthrough
+        default: {
+            if (minutes >= 15) {
+                slotIndex++;
+            }
+            if (minutes >= 30) {
+                slotIndex++;
+            }
+            if (minutes >= 45) {
+                slotIndex++;
+            }
+
+        }
+    }
+
+    if (slotIndex >= iFirstUntimedSlot) {
+        slotIndex += iUntimedSlotCount;
+    }
+    return slotIndex;
+}
+
+/*!
+ \brief Returns the index of a slot where this event should end drawing,
+ based on the end time
+*/
+int CalenDayInfo::SlotIndexForEndTime(QDateTime aEndTime)
+{
+    // For example, 1/2 hour accuracy (iSlotsInHour == 2):
+    // End drawing with the next half hour: 9:10 -> 9:30, 9:59-> 10:00.
+
+    //    TDateTime dt = aEndTime.DateTime();
+    //    int minutes = dt.Minute();
+    //    int hours = dt.Hour();
+    int minutes = aEndTime.time().minute();
+    int hours = aEndTime.time().hour();
+
+    // calculate index based on the hour.
+    int slotIndex = hours * iSlotsInHour;
+
+    switch (iSlotsInHour) {
+        case EOne: {
+            if (minutes > 0) {
+                slotIndex++;
+            }
+        }
+
+            break;
+        case ETwo: {
+            if (minutes > 0) {
+                slotIndex++;
+            }
+            if (minutes > 30) {
+                slotIndex++;
+            }
+        }
+            break;
+        case EThree: {
+            if (minutes > 0) {
+                slotIndex++;
+            }
+            if (minutes > 20) {
+                slotIndex++;
+            }
+            if (minutes > 40) {
+                slotIndex++;
+            }
+        }
+            break;
+        case EFour: // followthrough
+        default: {
+            if (minutes > 0) {
+                slotIndex++;
+            }
+
+            if (minutes > 15) {
+                slotIndex++;
+            }
+            if (minutes > 30) {
+                slotIndex++;
+            }
+            if (minutes > 45) {
+                slotIndex++;
+            }
+
+        }
+    }
+
+    if (slotIndex >= iFirstUntimedSlot) {
+        slotIndex += iUntimedSlotCount;
+    }
+
+    return slotIndex;
+
+}
+
+/*!
+ \brief CalenDayInfo::IsHourStartSlot
+*/
+bool CalenDayInfo::IsHourStartSlot(const int& aSlotIndex) const
+{
+    bool isHourStartSlot(false);
+    if (IsExtraSlot(aSlotIndex)) {
+        isHourStartSlot = false;
+    }
+    else {
+        int hourIndex(aSlotIndex);
+        if (aSlotIndex >= iFirstUntimedSlot + iUntimedSlotCount) {
+            hourIndex -= iUntimedSlotCount;
+        }
+        int hour = hourIndex / iSlotsInHour;
+        int startIndOfHour = hour * iSlotsInHour;
+        if (hourIndex - startIndOfHour > 0) {
+            isHourStartSlot = false;
+        }
+        else {
+            isHourStartSlot = true;
+        }
+    }
+    return isHourStartSlot;
+
+}
+
+/*!
+ \brief CalenDayInfo::IsExtraSlot
+*/
+bool CalenDayInfo::IsExtraSlot(const int& aSlotIndex) const
+{
+    return (aSlotIndex >= iFirstUntimedSlot) && (aSlotIndex < (iFirstUntimedSlot
+        + iUntimedSlotCount));
+}
+
+/*!
+ \brief CalenDayInfo::HourFromSlotIndex
+ Returns the corresponding hour, or KErrNone if index is not hour slot index
+*/
+int CalenDayInfo::HourFromSlotIndex(const int& aSlotInd) const
+{
+
+    int hour(KErrNotFound);
+
+    if (!IsExtraSlot(aSlotInd)) {
+
+        if (aSlotInd < 0) {
+            // round downwards, to the previous starting hour
+            // e.g. iSlotsInHour = 2, aSlotInd = -1, hour = -1,
+            // which by SlotIndexFromHour corresponds to slot -2
+            hour = (aSlotInd - iSlotsInHour + 1) / iSlotsInHour;
+        }
+        else
+            if (aSlotInd < iFirstUntimedSlot) {
+                hour = aSlotInd / iSlotsInHour;
+            }
+            else
+                if (aSlotInd >= iFirstUntimedSlot + iUntimedSlotCount) {
+                    hour = (aSlotInd - iUntimedSlotCount) / iSlotsInHour;
+                }
+    }
+    return hour;
+}
+
+/*!
+ \brief CalenDayInfo::SlotIndexFromHour
+ Returns the corresponding hour, or KErrNone if index is not hour slot index
+*/
+int CalenDayInfo::SlotIndexFromHour(int aHour)
+{
+
+    int slotIndex(KErrNotFound);
+
+    if (aHour >= iFirstUntimedSlot / iSlotsInHour) {
+        slotIndex = aHour * iSlotsInHour + iUntimedSlotCount;
+    }
+    else {
+        slotIndex = aHour * iSlotsInHour;
+    }
+
+    return slotIndex;
+}
+
+/*!
+ \brief CalenDayInfo::RoundHourUp
+ Rounds the slot number up (towards earlier hours) to an even hour
+*/
+int CalenDayInfo::RoundHourUp(int aSlot)
+{
+    if (!IsExtraSlot(aSlot)) {
+        aSlot = SlotIndexFromHour(HourFromSlotIndex(aSlot));
+    }
+    return aSlot;
+}
+
+/*!
+ \brief CalenDayInfo::RoundHourDown
+ Rounds the slot number down (towards later hours) to an even hour
+*/
+int CalenDayInfo::RoundHourDown(int aSlot)
+{
+    if (!IsExtraSlot(aSlot) && !IsHourStartSlot(aSlot)) {
+        aSlot = SlotIndexFromHour(HourFromSlotIndex(aSlot + iSlotsInHour));
+    }
+    return aSlot;
+}
+
+/*!
+ \brief CalenSlotInterval::Overlaps
+*/
+bool CalenSlotInterval::Overlaps(const CalenSlotInterval& aInterval) const
+{
+    return aInterval.iStartSlot < iEndSlot && aInterval.iEndSlot > iStartSlot;
+}
+
+/*!
+ \brief CalenSlotInterval::AddOffset
+*/
+void CalenSlotInterval::AddOffset(int aOffset, int aPos)
+{
+    if (iStartSlot >= aPos) {
+        iStartSlot += aOffset;
+    }
+    if (iEndSlot >= aPos) {
+        iEndSlot += aOffset;
+    }
+}
+
+/*!
+ \brief CalenSlotInterval::Union
+*/
+void CalenSlotInterval::Union(const CalenSlotInterval& aInterval)
+{
+    if (!aInterval.IsEmpty()) {
+        iStartSlot = Min(iStartSlot, aInterval.iStartSlot);
+        iEndSlot = Max(iEndSlot, aInterval.iEndSlot);
+    }
+}
+
+/*!
+ \brief CalenSlotInterval::Adjacent
+*/
+bool CalenSlotInterval::Adjacent(const CalenSlotInterval& aInterval) const
+{
+    bool adjacent(false);
+    if (Overlaps(aInterval)) {
+        adjacent = true;
+    }
+    else {
+        adjacent = iStartSlot == aInterval.iEndSlot || iEndSlot == aInterval.iStartSlot;
+    }
+    return adjacent;
+}
+
+/*!
+ \brief CalenSlotInterval::IsEmpty
+*/
+bool CalenSlotInterval::IsEmpty() const
+{
+    return iStartSlot >= iEndSlot;
+}
+
+/*!
+ \brief CalenSlotInterval::Intersect
+*/
+void CalenSlotInterval::Intersect(const CalenSlotInterval& aInterval)
+{
+    if (aInterval.IsEmpty()) {
+        iEndSlot = iStartSlot;
+    }
+    else {
+        iStartSlot = Max(iStartSlot, aInterval.iStartSlot);
+        iEndSlot = Min(iEndSlot, aInterval.iEndSlot);
+    }
+}
+
+/*!
+ \brief CalenSlotInterval::Subtract
+*/
+void CalenSlotInterval::Subtract(const CalenSlotInterval& aInterval, CalenSlotInterval& aSecondPart)
+{
+    aSecondPart.iStartSlot = aSecondPart.iEndSlot = 0;
+    if (!aInterval.IsEmpty() && Overlaps(aInterval)) {
+        if (aInterval.iStartSlot <= iStartSlot) {
+            iStartSlot = aInterval.iEndSlot;
+        }
+        else
+            if (aInterval.iEndSlot >= iEndSlot) {
+                iEndSlot = aInterval.iStartSlot;
+            }
+            else {
+                aSecondPart.iStartSlot = aInterval.iEndSlot;
+                aSecondPart.iEndSlot = iEndSlot;
+                iEndSlot = aInterval.iStartSlot;
+            }
+    }
+}
+
+/*!
+ \brief CalenSlotInterval::operator>
+*/
+bool CalenSlotInterval::operator>(const CalenSlotInterval& aInterval) const
+{
+    return iStartSlot > aInterval.iStartSlot;
+}
+
+/*!
+ \brief CalenTimeColumn::Close
+*/
+void CalenTimeColumn::Close()
+{
+    iEventArray.clear();
+}
+
+/*!
+ \brief CalenTimeColumn::AddEvent
+*/
+void CalenTimeColumn::AddEvent(const CalenTimedEventInfo& aEvent)
+{
+    ASSERT( aEvent.iStartSlot < aEvent.iEndSlot );
+    ASSERT( CanFitEvent( aEvent ) );
+
+    if (iEventArray.count() == 0) {
+        iStartSlot = aEvent.iStartSlot;
+    }
+    iEndSlot = aEvent.iEndSlot;
+    iEventArray.append(aEvent);
+}
+
+/*!
+ \brief CalenTimeColumn::CanFitEvent
+*/
+bool CalenTimeColumn::CanFitEvent(const CalenTimedEventInfo& aEvent)
+{
+    return (aEvent.iStartSlot >= iEndSlot) || (iEventArray.count() == 0);
+}
+
+/*!
+ \brief CalenTimeColumn::ContainsEvent
+*/
+bool CalenTimeColumn::ContainsEvent(const TCalenInstanceId& aId)
+{
+    bool contains(false);
+    int eventCount(iEventArray.count());
+    for (int i = 0; i < eventCount && !contains; i++) {
+        if (iEventArray[i].iId == aId) {
+            contains = true;
+        }
+    }
+    return contains;
+}
+
+/*!
+ \brief CalenTimeColumn::AddOffset
+*/
+void CalenTimeColumn::AddOffset(int aOffset, int aPos)
+{
+    if (aOffset != 0) {
+        CalenSlotInterval::AddOffset(aOffset, aPos);
+        int eventCount(iEventArray.count());
+        for (int i = 0; i < eventCount; i++) {
+            iEventArray[i].AddOffset(aOffset, aPos);
+        }
+    }
+}
+
+/*!
+ \brief CalenTimeRegion::Close
+*/
+void CalenTimeRegion::Close()
+{
+    int colCount(iColumns.count());
+    for (int i = 0; i < colCount; i++) {
+        iColumns[i].Close();
+    }
+    iColumns.clear();
+    iIntervals.clear();
+}
+
+/*!
+ \brief CalenTimeRegion::Overlaps
+*/
+bool CalenTimeRegion::Overlaps(const CalenSlotInterval& aInterval) const
+{
+    // the base class implementation would be ok, but we might want the assertion here
+    ASSERT( iColumns.count()> 0 );
+    return CalenSlotInterval::Overlaps(aInterval);
+}
+
+/*!
+ \brief CalenTimeRegion::AddOffset
+*/
+void CalenTimeRegion::AddOffset(int aOffset, int aPos)
+{
+    if (aOffset != 0) {
+        CalenSlotInterval::AddOffset(aOffset, aPos);
+        int colCount(iColumns.count());
+        for (int i = 0; i < colCount; i++) {
+            iColumns[i].AddOffset(aOffset, aPos);
+        }
+        int intervalCount(iIntervals.count());
+        for (int i = 0; i < intervalCount; i++) {
+            iIntervals[i].AddOffset(aOffset, aPos);
+        }
+    }
+
+}
+
+/*!
+ \brief CalenTimeRegion::AddEvent
+*/
+void CalenTimeRegion::AddEvent(const CalenTimedEventInfo& aEvent)
+{
+    if (iColumns.count() == 0) {
+        // This is the first event added to this region
+        iStartSlot = aEvent.iStartSlot;
+        iEndSlot = aEvent.iEndSlot;
+    }
+    else {
+        // Check that the events actually are added in the correct order
+        ASSERT( aEvent.iStartSlot >= iStartSlot );
+        ASSERT( aEvent.iStartSlot < iEndSlot );
+
+        if (aEvent.iEndSlot > iEndSlot) {
+            iEndSlot = aEvent.iEndSlot;
+        }
+    }
+
+    AddInterval(aEvent);
+
+    // If the event fits in one of the existing columns, add it to that one
+    bool added(false);
+    int colCount(iColumns.count());
+    for (int i = 0; i < colCount && !added; i++) {
+        if (iColumns[i].CanFitEvent(aEvent)) {
+            iColumns[i].AddEvent(aEvent);
+            added = true;
+        }
+    }
+
+    if (!added) {
+        // otherwise create a new column for it
+        iColumns.append(CalenTimeColumn());
+        iColumns[iColumns.count() - 1].AddEvent(aEvent);
+    }
+}
+
+/*!
+ \brief CalenTimeRegion::AddInterval
+*/
+void CalenTimeRegion::AddInterval(const CalenTimedEventInfo& aEvent)
+{
+    /*
+     * Here are a few examples of different possible cases for this method.
+     * The first picture of each example shows the initial situation in the
+     * array, and the new event to be added. The transformations performed
+     * are shown with a few intermediate steps.
+     *
+     * nO = newOverlap, nE = newEvent
+     *
+     * Example one:
+     *
+     *               ------------------
+     *               | newEvent       |
+     * --------------------------------
+     * ... | lastOverlap | tail |
+     * --------------------------
+     *
+     *                   --------------
+     *                   | newEvent   |
+     * --------------------------------
+     * ... | lastOverlap | tail |
+     * --------------------------
+     *
+     *                   --------------
+     *                   | nO   | nE  |
+     * --------------------------------
+     * ... | lastOverlap | tail |
+     * --------------------------
+     *
+     * Result:
+     * --------------------------------
+     * ... | lastOverlap        | nE  |
+     * --------------------------------
+     *
+     *
+     * Example two:
+     *                          ------------------
+     *                          | newEvent       |
+     * -------------------------------------------
+     * ... | lastOverlap | tail      |
+     * -------------------------------
+     *
+     *                          ------------------
+     *                          | nO | newEvent  |
+     * -------------------------------------------
+     * ... | lastOverlap | tail      |
+     * -------------------------------
+     *
+     * Result:
+     * -------------------------------------------
+     * ... | lastOverlap | tail | nO | newEvent  |
+     * -------------------------------------------
+     *
+     *
+     * Example three:
+     *                          --------------
+     *                          | newEvent   |
+     * -----------------------------------------------------
+     * ... | lastOverlap | tail                            |
+     * -----------------------------------------------------
+     *
+     *                          --------------
+     *                          | newOverlap |
+     * -----------------------------------------------------
+     * ... | lastOverlap | tail                            |
+     * -----------------------------------------------------
+     *
+     *                          --------------
+     *                          | newOverlap |
+     * -----------------------------------------------------
+     * ... | lastOverlap | tail |            | tailPart2   |
+     * -----------------------------------------------------
+     *
+     * Result:
+     * -----------------------------------------------------
+     * ... | lastOverlap | tail | newOverlap | tailPart2   |
+     * -----------------------------------------------------
+     */
+
+    // Fill out the new event
+    CalenEventInterval newEvent;
+    newEvent.iStartSlot = aEvent.iStartSlot;
+    newEvent.iEndSlot = aEvent.iEndSlot;
+    newEvent.iStatus = aEvent.iStatus;
+    //    newEvent.iReplicationStatus = aEvent.iReplicationStatus;
+    newEvent.iOverlap = false;
+
+    // a pointer to the last interval which is an overlap interval
+    CalenEventInterval* lastOverlap = NULL;
+    // If nonempty, this is the last interval after the last overlap
+    CalenEventInterval tail;
+    tail.iStartSlot = tail.iEndSlot = 0;
+
+    // Find lastOverlap and tail.
+    if (iIntervals.count() >= 1) {
+        // lastInterval is a pointer to the last interval in the array
+        CalenEventInterval* lastInterval = &iIntervals[iIntervals.count() - 1];
+
+        // If this is an overlap interval, we haven't got any tail.
+        if (lastInterval->iOverlap) {
+            lastOverlap = lastInterval;
+        }
+        else {
+            tail = *lastInterval;
+        }
+
+        // If there's at least two intervals, and the last one wasn't an overlap,
+        // the second last one must be an overlap.
+        if (iIntervals.count() >= 2 && !lastOverlap) {
+            lastOverlap = &iIntervals[iIntervals.count() - 2];
+            ASSERT( lastOverlap->iOverlap );
+        }
+    }
+
+    // If we got a tail, remove it from the array (it will be readded
+    // at the end if needed)
+    if (!tail.IsEmpty()) {
+        iIntervals.removeAt(iIntervals.count() - 1);
+    }
+
+    CalenEventInterval empty;
+    if (lastOverlap) {
+        // Remove the part which already is marked as an overlap
+        // from the new event. The new event can't start before the
+        // last overlap starts since events are added in order, therefore
+        // the second subtraction result interval will remain empty.
+        newEvent.Subtract(*lastOverlap, empty);
+        ASSERT( empty.IsEmpty() );
+    }
+
+    // Create a new interval, representing the overlap between the old tail
+    // and the new event
+    CalenEventInterval newOverlap = newEvent;
+    newOverlap.iOverlap = true;
+    newOverlap.Intersect(tail);
+
+    CalenEventInterval tailPart2 = tail; // initialize iOverlap and iStatus from tail
+    // Remove the new overlap from the old tail, possibly creating two separate intervals.
+    tail.Subtract(newOverlap, tailPart2);
+
+    // If the subtraction only yielded one single interval, but it's
+    // after newOverlap, make tailPart2 contain that and make tail empty.
+    if (tail > newOverlap) {
+        tailPart2 = tail;
+        tail.iEndSlot = tail.iStartSlot;
+    }
+
+    // Remove the new overlap from the new event. Since we already removed the old
+    // overlap, this subtraction can't produce two intervals either.
+    newEvent.Subtract(newOverlap, empty);
+    ASSERT( empty.IsEmpty() );
+
+    // If the new overlap is adjacent to the old one, expand the old one
+    // and set the new overlap to be empty.
+    if (lastOverlap && newOverlap.Adjacent(*lastOverlap)) {
+        lastOverlap->Union(newOverlap);
+        newOverlap.iEndSlot = newOverlap.iStartSlot;
+    }
+
+    // Add all the new intervals, if they're non-empty.
+    if (!tail.IsEmpty()) {
+        iIntervals.append(tail);
+    }
+    if (!newOverlap.IsEmpty()) {
+        iIntervals.append(newOverlap);
+    }
+    if (!tailPart2.IsEmpty()) {
+        iIntervals.append(tailPart2);
+    }
+    if (!newEvent.IsEmpty()) {
+        iIntervals.append(newEvent);
+    }
+
+}
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/src/calendayitem.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,239 @@
+/*
+* 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:  Event view item, exact size and position of event is set in 
+*  				CalenDayContainer::setItemModelIndex based on event duration
+*
+*/
+
+//System includes
+#include <hbframeitem.h>
+#include <hbtextitem.h>
+#include <agendaentry.h>
+#include <hbstyle.h>
+#include <hbcolorscheme.h>
+
+
+//User inlcudes
+#include "calendayitem.h"
+#include "calendaystatusstrip.h"
+#include "calendaymodel.h"
+
+// -----------------------------------------------------------------------------
+// CalenDayItem()
+// Constructor.
+// -----------------------------------------------------------------------------
+//
+CalenDayItem::CalenDayItem():
+    mUpdated(false), mBg(0), mEventDesc(0), mColorStripe(0), 
+    mEventDescMinWidth(0.0), mFrameMinWidth(0.0)
+{
+}
+
+// -----------------------------------------------------------------------------
+// CalenBCDayView()
+// Copy constructor.
+// -----------------------------------------------------------------------------
+//
+CalenDayItem::CalenDayItem(const CalenDayItem & source) :
+    HbAbstractViewItem(source), mUpdated(false), mBg(0), mEventDesc(0), 
+    mColorStripe(0), mEventDescMinWidth(0.0), mFrameMinWidth(0.0)
+{	
+    // TODO: "qtg_fr_btn_pressed" need to replaced with qtg_fr_cal_meeting_bg
+	// when available
+    mBg = new HbFrameItem("qtg_fr_btn_pressed", HbFrameDrawer::NinePieces, this);
+    mEventDesc = new HbTextItem(this);
+    // TODO: probably ElideLeft needed for mirrored layout
+    mEventDesc->setElideMode(Qt::ElideRight);
+    mEventDesc->setTextWrapping(Hb::TextWrapAnywhere);
+    
+    mColorStripe = new CalenDayStatusStrip(this);
+    
+    HbStyle::setItemName(mBg, QLatin1String("backgroundFrame"));
+    HbStyle::setItemName(mEventDesc, QLatin1String("eventDescription"));
+    HbStyle::setItemName(static_cast<QGraphicsItem *>(mColorStripe), QLatin1String("colorStripe"));
+    
+    HbDeviceProfile deviceProfile;
+    HbStyle style;
+    
+    qreal horizontalSpacing = 0.0;
+    qreal rightMargin = 0.0;
+    
+    style.parameter(QString("hb-param-margin-gene-middle-horizontal"), 
+        horizontalSpacing, deviceProfile);
+    style.parameter(QString("hb-param-margin-gene-right"), 
+        rightMargin, deviceProfile); 
+    
+    qreal stripeWidth = 1.5 * deviceProfile.unitValue(); //1.5un according to UI spec
+    
+    mFrameMinWidth = 2 * horizontalSpacing + stripeWidth; //smallest width for which background frame is displayed
+    mEventDescMinWidth = mFrameMinWidth + rightMargin;//smallest width for which text can be displayed
+    
+    //Minimum width is assured by widgetml and css
+    //additionally called here to prevent minimum size hint caching inside effectiveSizeHint
+    setMinimumWidth(stripeWidth);
+}
+
+// -----------------------------------------------------------------------------
+// ~CalenDayItem()
+// Destructor.
+// -----------------------------------------------------------------------------
+//
+CalenDayItem::~CalenDayItem()
+{
+}
+
+// -----------------------------------------------------------------------------
+// 
+// -----------------------------------------------------------------------------
+//
+HbAbstractViewItem * CalenDayItem::createItem()
+{
+    CalenDayItem* newItem = new CalenDayItem(*this);
+    return newItem;
+}
+
+
+// -----------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
+//
+void CalenDayItem::updateChildItems()
+{
+	// there is no need to update items after creation
+	if (!mUpdated)
+		{
+		AgendaEntry entry;
+		entry = modelIndex().data( CalenDayEntry ).value<AgendaEntry>();
+		
+		bool isAllDayEvent = (entry.type() == AgendaEntry::TypeEvent)
+								&& !entry.isTimedEntry(); 
+		
+		setDescription(entry, isAllDayEvent);
+		setStatusStrip(entry, isAllDayEvent);
+		
+		mUpdated = true;
+		}
+	
+	//TODO: check if needed
+	//repolish(); 
+	//HbAbstractViewItem::updateChildItems();
+}
+
+
+// -----------------------------------------------------------------------------
+// setDescription()
+// -----------------------------------------------------------------------------
+//
+void CalenDayItem::setDescription(const AgendaEntry &entry, bool allDayEvent)
+{
+	QString description(entry.summary());
+	QString location(entry.location());
+	
+	
+	int separtorPos = 0;
+	
+	if(!location.isEmpty()) {
+	    if ( !description.isEmpty() ) {
+	    	separtorPos = description.count();
+	    	description.append(", ");
+			}
+	    
+		description.append(location);
+		}
+	
+	if ( description.isEmpty() ) {
+	    description.append(hbTrId("txt_calendar_dblist_unnamed"));
+	}
+	
+	//Description of all day events has to be displayed vertically
+	if(allDayEvent){
+
+	    QString verticalString;
+	    for(int i=0; i<description.count(); i++){
+	    
+	        verticalString.append(QString(description.at(i)) + "\n");
+	    }
+	
+	    // remove "\n" before comma separator if exist
+	    if (separtorPos)
+	    	{
+	    	verticalString.remove( 2*separtorPos-1, 1);
+	    	}
+	    description = verticalString;
+	}	
+	
+	mEventDesc->setText(description);
+}
+
+/*!
+   \brief It set all needed things for status strip from Agenda Entry.
+   
+   \param entry Status Strip is created from Agenda Entry
+ */
+void CalenDayItem::setStatusStrip(const AgendaEntry &entry, bool allDayEvent)
+{
+    QColor color = HbColorScheme::color("qtc_cal_month_current_day");
+    mColorStripe->setColor(color);
+    
+    if (!allDayEvent) {
+    	mColorStripe->setStartEndTime(entry.startTime().time(),
+                                  entry.endTime().time());
+    } else {
+    	// This is workaround for displaying all-day events.
+    	// Now for MS Outlook compability all-day events' start and end time is
+    	// 00:00:00 and 00:00:00 next day respectively.
+    	// To draw it correctly we need times like those visible for user in
+    	// editor: 00:00:00 to 23:59:59 (the same day)
+    	mColorStripe->setStartEndTime(entry.startTime().time(),
+    	                                  entry.endTime().time().addSecs(-1));
+    }
+    
+    switch (entry.status()) {
+        case AgendaEntry::Confirmed:
+            mColorStripe->setDrawingStyle(CalenDayStatusStrip::Filled);
+        break;
+        case AgendaEntry::Tentative:
+            mColorStripe->setDrawingStyle(CalenDayStatusStrip::StripWithLines);
+        break;
+        case AgendaEntry::Cancelled:
+            mColorStripe->setDrawingStyle(CalenDayStatusStrip::OnlyFrame);
+        break;
+        default:
+            mColorStripe->setDrawingStyle(CalenDayStatusStrip::Filled);
+        break;
+    }
+}
+
+void CalenDayItem::resizeEvent(QGraphicsSceneResizeEvent *event)
+{
+    Q_UNUSED(event)
+
+    qreal width = rect().width();
+
+    if(width < mEventDescMinWidth){
+        mEventDesc->hide();
+    } else{
+        mEventDesc->show();
+    }
+        
+    if(width < mFrameMinWidth){
+        mBg->hide();
+    } else{
+        mBg->show();
+    }
+
+    //Necessary to switch layout
+    repolish();
+}
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/src/calendayitemview.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,393 @@
+/*
+* 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:  Day view control of calendar
+*
+*/
+
+//System includes
+#include <QGesture>
+#include <QGraphicsLinearLayout>
+#include <hbabstractviewitem.h>
+#include <hbinstance.h>
+#include <hbaction.h>
+
+//User includes
+#include "calendayitemview.h"
+#include "calendayutils.h"
+#include "calendaycontainer.h"
+#include "calendayinfo.h"
+#include "calendaymodel.h"
+#include "calenservices.h"
+#include "calencontext.h"
+#include "CalenUid.h"
+
+
+// -----------------------------------------------------------------------------
+// CalenDayItemView()
+// Constructor
+// -----------------------------------------------------------------------------
+//
+CalenDayItemView::CalenDayItemView( MCalenServices &services, HbModelIterator *iterator, QGraphicsItem *parent ) 
+: HbAbstractItemView(mContainer = new CalenDayContainer(), iterator, parent),
+  mServices( services )
+{
+    mInfo = new CalenDayInfo( CalenDayInfo::ETwo );
+    mContainer->setDayInfo( mInfo );
+	
+    //setup Selection Model
+    QItemSelectionModel* selModel = new QItemSelectionModel(this->model());
+    if ( selModel ) {
+        setSelectionMode( HbAbstractItemView::SingleSelection );
+        setSelectionModel( selModel );
+    }
+    
+    setScrollDirections(Qt::Vertical);
+    setScrollingStyle(HbScrollArea::PanWithFollowOn);
+    setVerticalScrollBarPolicy(HbScrollArea::ScrollBarAlwaysOff);
+    
+    grabGesture(Qt::PanGesture);
+    ungrabGesture(Qt::SwipeGesture);
+    
+    //TODO: KG: Animate item pressed?! HbAbstractItemView::TouchDown
+    setEnabledAnimations( HbAbstractItemView::None );
+    
+    // Get the width of content and fix its size
+    qreal contentWidth = CalenDayUtils::instance()->contentWidth();
+    setMinimumWidth(contentWidth);
+    setMaximumWidth(contentWidth);
+      
+    setupSlots();
+    setupContextMenu();
+}
+
+// -----------------------------------------------------------------------------
+// ~CalenDayItemView()
+// Destructor
+// -----------------------------------------------------------------------------
+//
+CalenDayItemView::~CalenDayItemView()
+{
+    delete mInfo;
+}
+
+// -----------------------------------------------------------------------------
+// scrollTo()
+// 
+// -----------------------------------------------------------------------------
+//
+void CalenDayItemView::scrollTo(const QModelIndex &index, HbAbstractItemView::ScrollHint hint)
+{
+    HbAbstractItemView::scrollTo(index, hint);
+}
+
+// -----------------------------------------------------------------------------
+// reset()
+// 
+// -----------------------------------------------------------------------------
+//
+void CalenDayItemView::reset()
+{
+//    CalenDayItemView::reset();
+}
+
+// -----------------------------------------------------------------------------
+// modelAboutToBeReset()
+// Handles signal that is emitted when reset() is called, before the model's
+// internal state (e.g. persistent model indexes) has been invalidated.
+// -----------------------------------------------------------------------------
+//
+void CalenDayItemView::modelAboutToBeReset()
+{
+    
+}
+
+// -----------------------------------------------------------------------------
+// modelReset()
+// Handles signal that is emitted when reset() is called, after the model's
+// internal state (e.g. persistent model indexes) has been invalidated.
+// -----------------------------------------------------------------------------
+//
+void CalenDayItemView::modelReset()
+{
+    if ( !mInfo ) {
+        return;
+    }
+    //reset day info
+    mInfo->Reset();
+    
+    CalenDayModel* model(0);
+    model = static_cast<CalenDayModel*>(this->model());
+    if ( !model ) {
+        return;
+    }
+    int rowCount = model->rowCount( );
+    SCalenApptInfo apptInfo; 
+    for( int row = 0; row < rowCount; row++ ) {
+        QModelIndex idx = model->index( row, 0 );
+        QVariant variant = idx.data( CalenDayEntry );
+        AgendaEntry entry = variant.value<AgendaEntry>();
+        apptInfo.iIndex = idx;
+        
+        QDateTime start;
+        QDateTime end;
+        QDateTime currDate( model->modelDate() );
+        CalenDayUtils::instance()->getEventValidStartEndTime( start, end, 
+                                                              entry, currDate );
+
+        apptInfo.iStartTime = start;
+        apptInfo.iEndTime = end;
+        
+        TCalenInstanceId id = TCalenInstanceId::nullInstanceId();//index.row() - temporary ID
+        id.mEntryLocalUid = row;
+        id.mInstanceTime = apptInfo.iStartTime; 
+        apptInfo.iId = id;
+        apptInfo.iColor = 0xffff;
+        
+        if ( entry.isTimedEntry() )
+        	{
+            apptInfo.iAllDay = false;
+            mInfo->InsertTimedEvent( apptInfo );
+        	}
+        else if( entry.type() == AgendaEntry::TypeEvent) //all-day event
+        	{
+        	apptInfo.iAllDay = true;
+        	mInfo->InsertAlldayEvent( apptInfo );
+        	}
+    }
+    
+    HbAbstractItemView::reset();
+}
+
+// -----------------------------------------------------------------------------
+// scrollVertically()
+//  
+// -----------------------------------------------------------------------------
+//
+void CalenDayItemView::scrollVertically( const QPointF &newPosition )
+{
+    QPointF currentPos = contentWidget()->pos();
+    if (abs(newPosition.y()) != abs(currentPos.y())) {
+        currentPos.setY(newPosition.y());
+        scrollContentsTo(currentPos, 0);
+    }
+}
+
+// -----------------------------------------------------------------------------
+// itemPressed()
+// This function is called when a touch down event is received within Abstract view item that is representing index. 
+// -----------------------------------------------------------------------------
+//
+void CalenDayItemView::itemPressed( const QPointF &position )
+{
+    Q_UNUSED( position )
+}
+
+// -----------------------------------------------------------------------------
+// itemReleased()
+// This function is called when a touch release event is received within Abstract view item that is representing index.
+// -----------------------------------------------------------------------------
+//
+void CalenDayItemView::itemReleased( const QPointF &position )
+{
+    Q_UNUSED( position )
+}
+
+// -----------------------------------------------------------------------------
+// itemActivated()
+// This function is called when the item specified by index is activated by the user.
+// -----------------------------------------------------------------------------
+//
+void CalenDayItemView::itemActivated( const QPointF &position )
+{
+    Q_UNUSED( position )
+    HbAbstractViewItem *item = qobject_cast<HbAbstractViewItem *>(sender());
+    QModelIndex index = item->modelIndex();
+    QItemSelectionModel* selModel( selectionModel() );
+    if ( index.isValid() && selModel) {
+        selModel->select( index, QItemSelectionModel::Current | QItemSelectionModel::Select );
+        openSelectedItem();
+    }
+}
+
+// -----------------------------------------------------------------------------
+// itemLongPressed()
+// This function is called when long press event is received within Abstract view item viewItem.
+// -----------------------------------------------------------------------------
+//
+void CalenDayItemView::itemLongPressed(HbAbstractViewItem* item, QPointF coords)
+{
+    QModelIndex index = item->modelIndex();
+    QItemSelectionModel* selModel( selectionModel() );
+    if ( index.isValid() && selModel && mContextMenu) {
+        selModel->select( index, QItemSelectionModel::Current | QItemSelectionModel::Select );
+        mContextMenu->setPreferredPos( coords, HbPopup::BottomRightCorner );
+        mContextMenu->open();
+    }
+}
+
+// -----------------------------------------------------------------------------
+// orientationChanged()
+// Slot which is called whenever the orientation of the device changes.
+// -----------------------------------------------------------------------------
+//
+void CalenDayItemView::orientationChanged( Qt::Orientation orientation )
+{
+    // Update the width of screen
+    qreal contentWidth = CalenDayUtils::instance()->contentWidth();
+    setMinimumWidth(contentWidth);
+    setMaximumWidth(contentWidth);
+    if( mContainer ) {
+        mContainer->orientationChanged( orientation );
+    }
+}
+
+// -----------------------------------------------------------------------------
+// openSelectedItem()
+// Opens currently selected model item.
+// -----------------------------------------------------------------------------
+//
+void CalenDayItemView::openSelectedItem()
+{
+    issueCommandOnSelectedItem( ECalenEventView );
+}
+
+// -----------------------------------------------------------------------------
+// editSelectedItem()
+// Edits currently selected model item.
+// -----------------------------------------------------------------------------
+//
+void CalenDayItemView::editSelectedItem()
+{
+    issueCommandOnSelectedItem( ECalenEditCurrentEntry );
+}
+
+// -----------------------------------------------------------------------------
+// deleteSelectedIten()
+// Deletes currently selected model item.
+// -----------------------------------------------------------------------------
+//
+void CalenDayItemView::deleteSelectedItem()
+{
+    issueCommandOnSelectedItem( ECalenDeleteCurrentEntry );
+}
+
+// -----------------------------------------------------------------------------
+// setupSlots()
+// Connects item view's slots.
+// -----------------------------------------------------------------------------
+//
+void CalenDayItemView::setupSlots()
+{
+    // Connect to main window's orientationChanged signal to handle orientation
+    // switching
+    QObject::connect(CalenDayUtils::instance()->mainWindow(), 
+        SIGNAL(orientationChanged(Qt::Orientation)), this,
+        SLOT(orientationChanged(Qt::Orientation)));
+
+    // Connect with model signals
+    if (this->model()) {
+        QObject::connect(this->model(), SIGNAL(modelAboutToBeReset()), this,
+            SLOT(modelAboutToBeReset()));
+        QObject::connect(this->model(), SIGNAL(modelReset()), this,
+            SLOT(modelReset()));
+    }
+    if (mContainer) {
+        // Connect with base class to enable handling item press by model index
+        QObject::connect(mContainer, SIGNAL(itemCreated(HbAbstractViewItem *)),
+            this, SLOT(itemCreated(HbAbstractViewItem*)));
+    }
+    QObject::connect(this, SIGNAL(pressed(const QPointF&)), this,
+        SLOT(itemPressed(const QPointF&)));
+    QObject::connect(this, SIGNAL(released(const QPointF&)), this,
+        SLOT(itemReleased(const QPointF&)));
+    QObject::connect(this, SIGNAL(activated(const QPointF&)), this,
+        SLOT(const QPointF&));
+    QObject::connect(this, SIGNAL(longPressed(HbAbstractViewItem*, QPointF)),
+        this, SLOT(itemLongPressed(HbAbstractViewItem*, QPointF)));
+}
+
+// -----------------------------------------------------------------------------
+// setupSlots()
+// Creates Context menu.
+// -----------------------------------------------------------------------------
+//
+void CalenDayItemView::setupContextMenu()
+{
+    mContextMenu = new HbMenu();
+    HbAction *openAction = mContextMenu->addAction(hbTrId("txt_common_menu_open"));
+    if (openAction) {
+        connect(openAction, SIGNAL(triggered()), this, SLOT(openSelectedItem()));
+    }
+    HbAction *editAction = mContextMenu->addAction(hbTrId("txt_common_menu_edit"));
+    if (editAction) {
+        connect(editAction, SIGNAL(triggered()), this, SLOT(editSelectedItem()));
+    }
+    HbAction *deleteAction = mContextMenu->addAction(hbTrId("txt_common_menu_delete"));
+    if (deleteAction) {
+        connect(deleteAction, SIGNAL(triggered()), this,
+            SLOT(deleteSelectedItem()));
+    }
+}
+
+// -----------------------------------------------------------------------------
+// issueCommandOnSelectedItem()
+// Sets context to currently selected model item and issues calendar command.
+// -----------------------------------------------------------------------------
+//
+bool CalenDayItemView::issueCommandOnSelectedItem( int command )
+{
+    bool retVal(false);
+    QItemSelectionModel* selModel(selectionModel());
+    if (!selModel){
+        return retVal;
+    }
+    QModelIndex index( selModel->currentIndex() );
+    if( index.isValid() ) {
+        retVal = true;
+        QVariant variant = index.data( CalenDayEntry );
+        AgendaEntry entry = variant.value<AgendaEntry>();
+        QDateTime start;
+        QDateTime end;
+        CalenDayModel* model(0);
+        model = static_cast<CalenDayModel*>(this->model());
+        QDateTime currDate( model->modelDate() );
+        CalenDayUtils::instance()->getEventValidStartEndTime( start, end, 
+                                                              entry, currDate );
+        TRAPD(error,
+                mServices.Context().setFocusDateAndTimeAndInstance(start,
+                         TCalenInstanceId::create(entry));
+                mServices.IssueCommandL( command );
+              );
+        if( error ) {
+            retVal = false;
+        }
+        clearSelectionInModel();
+    }
+    return retVal;
+}
+
+// -----------------------------------------------------------------------------
+// clearSelectionInModel()
+// Clears current selection in Selection Model.
+// -----------------------------------------------------------------------------
+//
+void CalenDayItemView::clearSelectionInModel()
+{
+    QItemSelectionModel* selModel(selectionModel());
+    if (selModel) {
+        selModel->clear();
+    }
+}
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/src/calendaymodel.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,113 @@
+/*
+* 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
+*
+*/
+
+
+
+#include <calenservices.h>
+#include <agendautil.h>
+#include "calendaymodel.h"
+
+
+/*!
+	BC Day Model constructor
+	\a date defined day for which entries will be fetched \a services is handle to 
+	organizer services \a parent
+ */
+CalenDayModel::CalenDayModel(const QDateTime &date, MCalenServices &services,
+									QObject *parent)
+									: QAbstractListModel(parent), mServices(services)
+{
+	if (date.isValid())
+		{
+		loadAndStoreInstances(date);
+		}
+}
+
+/*
+    \reimp
+ */
+int CalenDayModel::rowCount( const QModelIndex &parent ) const
+{
+    Q_UNUSED( parent )
+    return mEntryList.count();
+}
+
+/*
+    \reimp
+ */
+QVariant CalenDayModel::data(const QModelIndex &index, int role) const
+{
+    if (!index.isValid())
+    	{
+        return QVariant();
+    	}
+
+    if (index.row() >= mEntryList.count())
+    	{
+        return QVariant();
+    	}
+
+    if (role == CalenDayEntry)
+    	{
+        return mEntryList.at(index.row());
+    	}
+    else
+    	{
+        return QVariant();
+    	}
+}
+
+/*!
+	Resets model. Old events are removed. Evenets for given day are fetched.
+	\a date defined day for which entries will be fetched
+ */
+void CalenDayModel::refreshModel(const QDateTime &date)
+{
+	beginResetModel();
+	loadAndStoreInstances(date);
+	endResetModel();
+}
+
+
+/*!
+	Fetches entries via. organizer API and stores it in member container 
+ */
+void CalenDayModel::loadAndStoreInstances(const QDateTime &date)
+{   
+	mDateTime = date;
+    //Filter flags
+	AgendaUtil::FilterFlags filter = AgendaUtil::FilterFlags(
+			AgendaUtil::IncludeAppointments | AgendaUtil::IncludeEvents);
+	QList<AgendaEntry> list;
+	// Fetch the instance list from the agenda interface
+	list = mServices.agendaInterface()->createEntryIdListForDay(date, filter);
+
+	mEntryList.clear();
+
+	foreach(AgendaEntry entry, list)
+		{
+		mEntryList.append(QVariant::fromValue(entry));
+		}
+}
+
+/*!
+	Retruns date (day). Model holds events for this day. 
+ */
+QDateTime CalenDayModel::modelDate() const
+{
+	return mDateTime;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/src/calendaymodelmanager.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,167 @@
+/*
+* 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: Model manager holds models for three day views
+*
+*/
+
+#include <calenservices.h>
+#include <calencontext.h>
+
+#include "calendaymodelmanager.h"
+#include "calendaymodel.h"
+
+/*!
+	BC Model Manager constructor. Model manager use calendar context to
+	populate models with proper events.
+	\a services is handle to organizer services \a emptyModels if true created models
+	are not populated with events \a parent
+ */
+CalenDayModelManager::CalenDayModelManager(MCalenServices &services, bool emptyModels,
+												QObject *parent)
+							: QObject(parent), mServices (services)
+{
+	if (emptyModels)
+		{
+		mCurrentDayTime = QDateTime();
+		}
+	else
+		{
+		mCurrentDayTime = mServices.Context().focusDateAndTime();
+		}
+	createAllModels();
+}
+
+CalenDayModelManager::~CalenDayModelManager()
+{
+	// not needed now
+}
+
+
+void CalenDayModelManager::viewsScrollingFinished(CalenScrollDirection scrollTo)
+	{
+	if (scrollTo == ECalenScrollToNext)
+		{
+		moveForeward();
+		}
+	else
+		{
+		moveBackward();
+		}
+	}
+
+
+/*!
+	Reorganize models after move to previous day.  
+ */
+void CalenDayModelManager::moveBackward()
+{
+	mCurrentDayTime = mServices.Context().focusDateAndTime();
+
+	CalenDayModel* tmp = mModels[NextDay];
+	tmp->refreshModel( mCurrentDayTime.addDays(-1));
+	
+	mModels[NextDay] = mModels[CurrentDay];
+	mModels[CurrentDay] = mModels[PreviousDay];
+	mModels[PreviousDay] = tmp;
+}
+
+/*!
+	Reorganize models after move to next day. 
+ */
+void CalenDayModelManager::moveForeward()
+{
+	mCurrentDayTime = mServices.Context().focusDateAndTime();
+	
+	CalenDayModel* tmp = mModels[PreviousDay];
+	tmp->refreshModel( mCurrentDayTime.addDays(1));
+	
+	mModels[PreviousDay] = mModels[CurrentDay];
+	mModels[CurrentDay] = mModels[NextDay];
+	mModels[NextDay] = tmp;
+}
+
+/*!
+	Returns given model
+	/a day defines model, can be (PreviousDay, CurrentDay, NextDay) only.  
+ */
+QAbstractItemModel &CalenDayModelManager::getModel(ModelDay day)
+{
+	return *(mModels[day]);
+}
+
+/*!
+	Creates all models objects durring construction.  
+ */
+void CalenDayModelManager::createAllModels()
+{
+	
+	mModels[CurrentDay] = new CalenDayModel(mCurrentDayTime, mServices, this);
+	
+	QDateTime previousDayTime; 
+	QDateTime nextDayTime;
+	
+	if (mCurrentDayTime.isValid())
+		{
+		previousDayTime = mCurrentDayTime.addDays(-1);
+		nextDayTime = mCurrentDayTime.addDays(1);
+		}
+		
+	mModels[PreviousDay] = new CalenDayModel(previousDayTime, mServices, this);
+	mModels[NextDay] = new CalenDayModel(nextDayTime, mServices, this);
+}
+
+
+/*!
+	Refetch data for all models. Context calendar is used to fill models
+	with correct events. Should be used for full (three days) repopulation.
+ */
+void CalenDayModelManager::refreshAllModels()
+	{
+	mCurrentDayTime = mServices.Context().focusDateAndTime();
+
+	mModels[PreviousDay]->refreshModel(mCurrentDayTime.addDays(-1));
+	mModels[CurrentDay]->refreshModel(mCurrentDayTime);
+	mModels[NextDay]->refreshModel(mCurrentDayTime.addDays(1));
+	}
+
+/*!
+	Refetch data given day model. Context calendar is used to fill model
+	with correct events.
+	/a day defines model, can be (PreviousDay, CurrentDay, NextDay) only.  
+ */
+void CalenDayModelManager::refreshSingleModel(CalenDayModelManager::ModelDay day)
+	{
+	switch (day)
+		{
+		case PreviousDay:
+			{
+			mModels[PreviousDay]->refreshModel(mCurrentDayTime.addDays(-1));
+			}
+			break;
+		case CurrentDay:
+			{
+			mModels[CurrentDay]->refreshModel(mCurrentDayTime);
+			}
+			break;
+		case NextDay:
+			{
+			mModels[PreviousDay]->refreshModel(mCurrentDayTime.addDays(1));		
+			}
+			break;
+		default:
+			break;
+		}
+	}
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/src/calendaystatusstrip.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,290 @@
+/*
+ * 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:  Day view control of calendar
+ *
+ */
+
+#include <QPainter>
+#include <QPen>
+
+#include "calendaystatusstrip.h"
+
+qreal const CalenDayStatusStrip::mMinute = 60;
+qreal const CalenDayStatusStrip::mMinimumTime = 5;
+
+/*!
+  Constructor
+ */
+CalenDayStatusStrip::CalenDayStatusStrip(HbWidget *parent)
+    : HbWidget(parent), mRange(2), 
+      mDrawingStyle(CalenDayStatusStrip::Filled)      
+{
+    setFlag(QGraphicsItem::ItemHasNoContents,false);
+
+}
+
+/*!
+  Destructor
+ */
+CalenDayStatusStrip::~CalenDayStatusStrip()
+{
+
+}
+
+/*!
+   \brief Return range beatween two filled lines in StripWithLines drawing 
+   styles.
+   
+   \sa CalenDayStatusStrip::DrawingStyle, setRange
+ */
+qreal CalenDayStatusStrip::range() const
+{
+    return mRange;
+}
+
+/*!
+   \brief Return color drawing
+   
+   \sa setColor
+ */
+QColor CalenDayStatusStrip::color() const
+{
+    return mColor;
+}
+
+/*!
+   \brief Return style of drawing.
+   
+   \sa CalenDayStatusStrip::DrawingStyle, setDrawingStyle
+ */
+CalenDayStatusStrip::DrawingStyle CalenDayStatusStrip::drawingStyle() const
+{
+    return mDrawingStyle;
+}
+
+/*!
+   \brief Return orginal start and entime fo event
+   
+   \sa setStartEndTime
+ */
+QPair<QTime,QTime> CalenDayStatusStrip::startEndTime() const
+{
+    return mStartEndEventTime;
+}
+
+/*!
+   \brief It set range beatween two filled lines in StripWithLines drawing 
+   styles.
+   
+   \param range Range beatween two filled lines
+   
+   \sa CalenDayStatusStrip::DrawingStyle, range
+ */
+void CalenDayStatusStrip::setRange(qreal range)
+{
+    mRange = range;
+}
+
+/*!
+   \brief It set color drawing
+   
+   \param stripColor Color of drawing
+   
+   \sa stripColor
+ */
+void CalenDayStatusStrip::setColor(QColor stripColor)
+{
+    mColor = stripColor;
+}
+
+/*!
+   \brief It set drawing style of strip 
+   
+   \param drawingStyle Style of strip drawing.
+   
+   \sa CalenDayStatusStrip::DrawingStyle, drawingStyle
+ */
+void 
+CalenDayStatusStrip::setDrawingStyle(CalenDayStatusStrip::DrawingStyle drawingStyle)
+{
+    mDrawingStyle = drawingStyle;
+}
+
+/*!
+   It set start and end time of event
+   
+   \param startTime Start of event
+   \param endTime End of event
+ */
+void CalenDayStatusStrip::setStartEndTime(const QTime &startTime, 
+                                            const QTime &endTime)
+{
+    mStartEndEventTime.first = startTime;
+    mStartEndEventTime.second = endTime;
+
+    //check if startEndEvent is longer than mMinimumTimeminutes;
+    if (mStartEndEventTime.first.secsTo(mStartEndEventTime.second) < mMinute * mMinimumTime) {
+        mStartEndEventTime.second = QTime(mStartEndEventTime.first.hour(),
+            mStartEndEventTime.first.minute() + mMinimumTime);
+    }
+}
+
+/*!
+   \brief Reimplemented function...
+   
+   Reimplemented function to draw status strip. 
+   It is based on CalenDayStatusStrip::DrawingStyle, range and color
+ */
+void CalenDayStatusStrip::paint(
+    QPainter *painter,
+    const QStyleOptionGraphicsItem *option,
+    QWidget *widget)
+{
+    Q_UNUSED(option);
+    Q_UNUSED(widget);
+    
+    //calculate bubble start and end time of bubble
+    QPair<QTime, QTime> startEndEvent = 
+        calculateStartEndPostion(mStartEndEventTime.first,
+                                 mStartEndEventTime.second
+                                );
+    //calculate how big is Minute
+    qreal minuteHeight = calculateMinuteHeight(startEndEvent.first, 
+                                               startEndEvent.second
+                                              );
+
+    painter->save();//   saves the painter state.
+    
+
+    //calculate how long is event in minutes
+    qreal eventMinutes = 
+           mStartEndEventTime.first.secsTo(mStartEndEventTime.second) / mMinute;
+    //calculate height and width of status stripe
+    qreal dx = size().width() - 1;
+    qreal dy = eventMinutes * minuteHeight;
+
+    //calculate time from wehre it should be drawed
+    qreal startTime = 
+                 startEndEvent.first.secsTo(mStartEndEventTime.first) / mMinute;
+    //this is done because bubble can be drawed from half hour
+    startTime = startTime > 30 ? startTime - 30 : startTime;
+    //calculate status stripe height
+    qreal startTimeHeight = startTime * minuteHeight;
+
+    //set bounding rect of drawed area
+    QRectF bounding(boundingRect());
+    //set size smaller by 1px in each side
+    bounding.setRect(bounding.left() + 1, bounding.top() + startTimeHeight, 
+                     dx - 1, dy - 1
+                    );
+
+    //set clip region
+    painter->setClipRect(bounding, Qt::IntersectClip);
+
+    //prepare brush and paint
+    QBrush brush(mColor);
+    painter->setBrush(brush);
+    QPen pen;
+    pen.setWidth(1);
+    pen.setBrush(brush);
+    pen.setCapStyle(Qt::RoundCap);
+    pen.setJoinStyle(Qt::RoundJoin);
+
+    painter->setPen(pen);
+    QPointF startPoint(0, dy + dx);
+    
+    switch (mDrawingStyle) {
+        case StripWithLines:
+            for (int i = 0; startPoint.y() > 0; i++) {
+                painter->drawPolygon(diagonalLine(startPoint, dx, 3));
+                startPoint.setY(startPoint.y() - 6 - mRange);
+            }
+        case OnlyFrame:
+            painter->setBrush(Qt::NoBrush);
+            break;
+    }
+
+    //draw rectangle
+    painter->drawRect(bounding);
+
+    // restore the painter
+    painter->restore();
+}
+
+/*!
+   \brief It preapre points to draw filled polygon when StripWithLines style is
+   on.
+ */
+QPolygonF 
+CalenDayStatusStrip::diagonalLine(QPointF startPoint, qreal dx, qreal dy)
+{
+    QPolygonF polygon;
+    polygon << QPointF(startPoint.x(), startPoint.y());
+    polygon << QPointF(startPoint.x(), startPoint.y() - dy);
+    polygon << QPointF(startPoint.x() + dx, startPoint.y() - 2 * dy);
+    polygon << QPointF(startPoint.x() + dx, startPoint.y() - dy);
+    return polygon;
+}
+
+/*!
+    Return time for position 0 and height in widget 
+    
+    \param startTime Start of event
+    \param endTime End of event
+    \return Draw region of bubble
+  */
+ QPair<QTime,QTime> CalenDayStatusStrip::calculateStartEndPostion(
+                                                 const QTime &startTime, 
+                                                 const QTime &endTime
+                                             )
+{
+     
+    QTime start;
+    QTime end;
+
+    if (startTime.minute() < 30) {
+        start = QTime(startTime.hour(), 0);
+    }
+    else {
+        start = QTime(startTime.hour(), 30);
+    }
+
+    if (endTime.minute() == 0) {
+        end = endTime;
+    }
+    else if (endTime.hour() == 23) {
+        end = QTime(endTime.hour(), 59);
+    }
+    else if (endTime.minute() <= 30) {
+        end = QTime(endTime.hour(), 30);
+    }
+    else {
+        end = QTime(endTime.hour() + 1, 0);
+    }
+
+    return QPair<QTime, QTime> (start, end);
+}
+
+/*!
+   Calculate height of one minute from widget height, and start/end time. 
+ */
+qreal CalenDayStatusStrip::calculateMinuteHeight(const QTime &start, 
+                                                   const QTime &end)
+{
+    qreal min = start.secsTo(end) / mMinute;
+
+    qreal height = size().height();
+
+    return height / min;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/src/calendayutils.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,234 @@
+/*
+* 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 implementation.
+*
+*/
+
+// System includes
+#include <hbdeviceprofile.h>
+#include <hbstyle.h>
+#include <hbinstance.h>
+#include <qdatetime.h>
+
+// User includes
+#include "calendayutils.h"
+#include "calendaycommonheaders.h"
+#include "agendaentry.h"
+#include "calendateutils.h"
+
+// Initialization of static member
+CalenDayUtils* CalenDayUtils::mInstance = 0;
+
+/*!
+ \class CalenDayUtils
+ \brief Singleton utility class.
+ 
+ Class cannot be used in console applications.
+ 
+ Provided functionalities (getters):
+ - screen width of device
+ - default width of hour element
+ - default height of hour element
+ - default width of content area
+ - current orientation of screen
+ - pointer to the main window of application
+ */
+
+/*!
+ \brief Returns the instance of CalenDayUtils class
+ */
+CalenDayUtils *CalenDayUtils::instance()
+{
+    if (!mInstance) {
+        mInstance = new CalenDayUtils();
+    }
+    return mInstance;
+}
+
+/*!
+ \brief Destructor
+ */
+CalenDayUtils::~CalenDayUtils()
+{
+    
+}
+
+/*!
+ \brief screenWidth
+ 
+ \return Width of main window's screen
+ */
+qreal CalenDayUtils::screenWidth() const
+{
+    ASSERT(mMainWindow);
+    
+    return mMainWindow->layoutRect().width();
+}
+
+/*!
+ \brief hourElementWidth
+ 
+ \return Width of hour element
+ */
+qreal CalenDayUtils::hourElementWidth() const
+{
+    return mHourElementWidth;
+}
+
+/*!
+ \brief hourElementHeight
+ 
+ \return Height of hour element
+ */
+qreal CalenDayUtils::hourElementHeight() const
+{
+    return mHourElementHeight;
+}
+
+/*!
+ \brief contentWidth
+ 
+ \return Width of content area
+ */
+qreal CalenDayUtils::contentWidth() const
+{
+    return (screenWidth() - mHourElementWidth);
+}
+
+/*!
+ \brief orientation
+ 
+ \return Orientation of main window
+ */
+Qt::Orientation CalenDayUtils::orientation() const
+{
+    ASSERT(mMainWindow);
+        
+    return mMainWindow->orientation();
+}
+
+/*!
+ \brief mainWindow
+ 
+ \return Pointer to main window of application
+ */
+HbMainWindow* CalenDayUtils::mainWindow()
+{
+    ASSERT(mMainWindow);
+    
+    return mMainWindow;
+}
+
+/*!
+ \brief isHorizontalSwipe
+ 
+ \return TRUE if horizontal swipe was recognized (angle in specific range)
+ */
+bool CalenDayUtils::isHorizontalSwipe(qreal angle) const
+{
+    bool isHSwipe = false;
+    if ((angle < KCalenSwipeAngle) || 
+        ((angle > 180 - KCalenSwipeAngle) && (angle < 180 + KCalenSwipeAngle)) ||
+        (angle > 360 - KCalenSwipeAngle)) {
+        isHSwipe = true;
+    }
+    
+    return isHSwipe;
+}
+
+/*!
+ \brief getEventValidStartEndTime
+ \brief Get event's valid start/end time from agenda entry.
+ */
+void CalenDayUtils::getEventValidStartEndTime( QDateTime& start, QDateTime& end, 
+                                    AgendaEntry& entry, QDateTime& currentDate )
+{
+    start = entry.startTime();
+    end = entry.endTime();
+    
+    if ( !CalenDateUtils::onSameDay( start, currentDate ) ) {
+        start = CalenDateUtils::beginningOfDay( currentDate );
+    }
+    
+    if ( !CalenDateUtils::onSameDay( end, currentDate ) ) {
+       QDateTime tommorrow( currentDate.addDays( 1 ));
+       end = CalenDateUtils::beginningOfDay( tommorrow ).addSecs( -60 );
+    }
+}
+
+/*!
+ \brief Constructor
+ */
+CalenDayUtils::CalenDayUtils() : mMainWindow(NULL)
+{
+    if (HbInstance::instance()->allMainWindows().count() > 0) {
+        mMainWindow = HbInstance::instance()->allMainWindows().first();
+    }
+    mHourElementWidth = calculateHourElementWidth();
+    mHourElementHeight = calculateHourElementHeight();
+}
+
+/*!
+ \brief Calculates the width of hour element according to UI spec.
+ 
+ \return Calculated width of hour element
+ */
+qreal CalenDayUtils::calculateHourElementWidth() const
+{
+    HbStyle style;
+    HbDeviceProfile deviceProfile;
+    qreal unitInPixels = deviceProfile.unitValue();
+
+    // Calculate element's preferred width
+    qreal prefWidth = 0.0;
+    qreal textWidth = 0.0;
+    qreal horizontalSpacing = 0.0;
+    
+    textWidth = 8.04 * unitInPixels; // pix (according to UI spec)   
+    style.parameter(QString("hb-param-margin-gene-middle-horizontal"), 
+        horizontalSpacing, deviceProfile);
+    prefWidth = horizontalSpacing * 2 + textWidth;
+    
+    return prefWidth;
+}
+
+/*!
+ \brief Calculates the height of hour element according to UI spec.
+ 
+ \return Calculated height of hour element
+ */
+qreal CalenDayUtils::calculateHourElementHeight() const
+{
+    HbStyle style;
+    HbDeviceProfile deviceProfile;
+    
+    qreal unitInPixels = deviceProfile.unitValue();
+    
+    // Calculate element's preferred height
+    qreal prefHeight = 0.0;
+    qreal textHeight = 0.0;
+    qreal verticalSpacing = 0.0;
+        
+    qreal bottomSpacer = 3.0 * unitInPixels;
+    style.parameter(QString("hb-param-text-height-secondary"), textHeight, 
+        deviceProfile);
+    style.parameter(QString("hb-param-margin-gene-middle-vertical"), 
+        verticalSpacing, deviceProfile);
+
+    prefHeight = textHeight * 2; //time + ampm
+    prefHeight += verticalSpacing * 2;
+    prefHeight += bottomSpacer;
+    
+    return prefHeight;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/src/calendayview.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,516 @@
+/*
+ * 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: CalenDayView class definition.
+ *
+ */
+
+//system includes
+#include <QDateTime>
+#include <QGraphicsLinearLayout>
+#include <xqsettingsmanager.h>
+#include <hbaction.h>
+#include <hbmenu.h>
+#include <hbmainwindow.h>
+#include <hbmodeliterator.h>
+#include <hbstyleloader.h>
+#include <hbgroupbox.h>
+#include <hbextendedlocale.h>
+#include <agendautil.h>
+//user includes
+#include "calendayview.h"
+#include "calencontext.h"
+#include "calenservices.h"
+#include "calendocloader.h"
+#include "calendateutils.h" //useful date/time utils
+#include "calendaycontentscrollarea.h"
+#include "calendaycontentwidget.h"
+#include "calendayhourscrollarea.h"
+#include "calendaymodelmanager.h"
+#include "CalenUid.h"
+#include "CalendarPrivateCRKeys.h"
+#include "calenpluginlabel.h"
+#include "calendaymodel.h"
+
+//constants
+
+// -----------------------------------------------------------------------------
+// CalenDayView()
+// Constructor.
+// -----------------------------------------------------------------------------
+//
+CalenDayView::CalenDayView(MCalenServices &services) :
+    CalenNativeView(services), mContentScrollArea(NULL), mContentWidget(NULL),
+    mHourScrollArea(NULL), mSettingsManager(NULL),
+    mRegionalInfo(XQSettingsKey::TargetCentralRepository, KCRUidCalendar, 
+            KCalendarShowRegionalInfo), 
+    mServices(services), mRegionalInfoGroupBox(NULL), mGoToTodayMenuAction(NULL)
+{
+    setupMenu();
+    
+    // Create model manager
+    mModelManager = new CalenDayModelManager(mServices, true, this);   
+    
+    mVLayout = new QGraphicsLinearLayout(Qt::Vertical, NULL);
+    mVLayout->setContentsMargins(0.0, 0.0, 0.0, 0.0);
+    mVLayout->setSpacing(0.0);    
+      
+    // Create heading label and insert into layout
+    mHeadingLabel = new HbGroupBox();
+    HbEffect::add(mHeadingLabel, ":/fade_out.fxml", "fadeOut");
+    HbEffect::add(mHeadingLabel, ":/fade_in.fxml", "fadeIn");
+    
+    mSettingsManager = new XQSettingsManager(this);
+
+    // Add day info
+    mVLayout->addItem(mHeadingLabel);
+    
+    //show regional info if set so
+    showRegionalInformationFadeIn();
+    mSettingsManager->startMonitoring(mRegionalInfo);
+    
+    // Put hour scroll area and content scroll area into horizontal layout
+    QGraphicsLinearLayout *hLayout = new QGraphicsLinearLayout(Qt::Horizontal, NULL);
+    hLayout->setContentsMargins(0.0, 0.0, 0.0, 0.0);
+    hLayout->setSpacing(0.0);
+    
+    // Create scroll area for content (events)
+    mContentScrollArea = new CalenDayContentScrollArea(this);
+
+    // Create and apply central widget for scroll area
+    mContentWidget = new CalenDayContentWidget(*mModelManager, mContentScrollArea);
+    mContentScrollArea->setContentWidget(mContentWidget);
+    
+    // Create scroll area for hour elements
+    mHourScrollArea = new CalenDayHourScrollArea(this);
+        
+    hLayout->addItem(mHourScrollArea);
+    hLayout->addItem(mContentScrollArea);
+    
+    mVLayout->addItem(hLayout);
+    setLayout(mVLayout);
+    
+    setupSlots();
+
+    //setup Back functionality
+    if (ECalenDayView != mServices.getFirstView()) {
+        HbAction* action = new HbAction(Hb::BackNaviAction, this);
+        setNavigationAction(action);
+        // Connect to the signal triggered by clicking on back button.
+        connect(action, SIGNAL(triggered()), this, SLOT(onBack()));
+    }
+
+    HbStyleLoader::registerFilePath(":/calendayhourelement.css");
+    HbStyleLoader::registerFilePath(":/calendayhourelement.widgetml");
+    HbStyleLoader::registerFilePath(":/calendayitem.css");
+    HbStyleLoader::registerFilePath(":/calendayitem.widgetml");
+}
+
+// -----------------------------------------------------------------------------
+// ~CalenDayView()
+// Destructor.
+// -----------------------------------------------------------------------------
+//
+CalenDayView::~CalenDayView()
+{
+	mSettingsManager->stopMonitoring(mRegionalInfo);
+}
+
+// -----------------------------------------------------------------------------
+// onLocaleChanged()
+// Handles locale change.
+// -----------------------------------------------------------------------------
+//
+void CalenDayView::onLocaleChanged(int reason)
+{
+    Q_UNUSED( reason )
+}
+
+// -----------------------------------------------------------------------------
+// From CalenView
+// doPopulation()
+// Handles view (re)population.
+// -----------------------------------------------------------------------------
+//
+void CalenDayView::doPopulation()
+{
+    // Triggers fading effect for heading label
+    getCurrentDate();
+    HbEffect::start(mHeadingLabel, "fadeOut", this, "setHeadingText");
+    
+    mModelManager->refreshAllModels();
+    //Set date and time for hour scroll area. 
+    //It's later used by hour element to display timeline
+    mHourScrollArea->setDateTime(mDate);
+    
+    //set in menu go to today visible
+    QDateTime currentDateTime = QDateTime::currentDateTime();
+    if (mGoToTodayMenuAction and currentDateTime.date() == mDate.date()) {
+        mGoToTodayMenuAction->setVisible(false);
+    }
+    else if(mGoToTodayMenuAction) {
+        mGoToTodayMenuAction->setVisible(true);
+    }
+    
+	setupViewport();
+	
+    populationComplete();
+}
+
+// -----------------------------------------------------------------------------
+// From CalenView
+// populationComplete()
+// Informs the organizer that the view's population is complete.
+// -----------------------------------------------------------------------------
+//
+void CalenDayView::populationComplete()
+{
+    CalenNativeView::populationComplete();
+}
+
+// -----------------------------------------------------------------------------
+// From MCalenNotificationHandler
+// HandleNotification()
+// The function handles calendar notifications.
+// -----------------------------------------------------------------------------
+//
+void CalenDayView::HandleNotification(const TCalenNotification notification)
+{
+    Q_UNUSED( notification )
+}
+
+// -----------------------------------------------------------------------------
+// setupView()
+// Sets up the view accroding to the 'xml'
+// -----------------------------------------------------------------------------
+//
+void CalenDayView::setupView(CalenDocLoader* docLoader)
+{
+    Q_UNUSED( docLoader )
+}
+
+//private slots
+
+// -----------------------------------------------------------------------------
+// onBack()
+// Handles 'back' functionality;
+// -----------------------------------------------------------------------------
+//
+void CalenDayView::onBack()
+{
+    TRAP_IGNORE(mServices.IssueCommandL(ECalenMonthView));
+}
+
+// -----------------------------------------------------------------------------
+// dayChange()
+// -----------------------------------------------------------------------------
+//
+void CalenDayView::dayChangeStarted(CalenScrollDirection direction)
+{
+    if (direction == ECalenScrollToNext) {
+        mDate = mDate.addDays(1);	
+    }
+    else {
+        mDate = mDate.addDays(-1);
+    }
+    
+    //set in menu go to today visible
+    QDateTime currentDateTime = QDateTime::currentDateTime();
+    if (mGoToTodayMenuAction and currentDateTime.date() == mDate.date()) {
+        mGoToTodayMenuAction->setVisible(false);
+    }
+    else if(mGoToTodayMenuAction) {
+        mGoToTodayMenuAction->setVisible(true);
+    }
+    
+    // Triggers fading effect for heading label.
+    HbEffect::start(mHeadingLabel, "fadeOut", this, "setHeadingText");
+    HbEffect::start(mRegionalInfoGroupBox, "fadeOut", this, "showRegionalInformation");
+    
+    mServices.Context().setFocusDate(mDate);
+}
+
+// -----------------------------------------------------------------------------
+// dayChanged()
+// -----------------------------------------------------------------------------
+//
+void CalenDayView::dayChanged(CalenScrollDirection direction)
+{
+    mModelManager->viewsScrollingFinished(direction);
+	mHourScrollArea->setDateTime(mDate);
+}
+
+// -----------------------------------------------------------------------------
+// getCurrentDate()
+// -----------------------------------------------------------------------------
+//
+void CalenDayView::getCurrentDate()
+{
+    mDate = CalenNativeView::mServices.Context().focusDateAndTime();
+}
+
+// -----------------------------------------------------------------------------
+// setupMenu()
+// -----------------------------------------------------------------------------
+//
+void CalenDayView::setupMenu()
+{
+    menu()->addAction(hbTrId("txt_calendar_opt_new_event"), this, SLOT(runNewMeeting()));
+    //get pointer to this position, because need to change visibility
+    mGoToTodayMenuAction = menu()->addAction(hbTrId("txt_calendar_opt_go_to_today"), this, SLOT(runGoToToday()));
+    menu()->addAction(hbTrId("txt_calendar_opt_go_to_date"), this, SLOT(goToDate()));
+    //TODO: Add id for this text
+    //"Switch to Agenda view"
+    menu()->addAction(hbTrId("txt_calendar_opt_switch_to_agenda_view"), this, SLOT(runChangeToAgendaView()));
+    //TODO: Add id for this text (lunar data)
+    //"Show lunar data"
+    if (pluginEnabled())
+    	{
+		menu()->addAction(hbTrId("txt_calendar_opt_show_lunar_data"), this, SLOT(runLunarData()));
+    	}
+    menu()->addAction(hbTrId("txt_calendar_opt_settings"), this, SLOT(launchSettingsView()));
+}
+
+/*!
+   \brief Ot change Day view to Agenda View
+ */
+void CalenDayView::runChangeToAgendaView()
+{
+    changeView(ECalenAgendaView);
+}
+
+/*!
+   \brief Shows lunar data in popup box
+ */
+void CalenDayView::runLunarData()
+{
+	TRAP_IGNORE(mServices.IssueCommandL(ECalenRegionalPluginTapEvent));
+}
+
+// -----------------------------------------------------------------------------
+// setupSlots()
+// -----------------------------------------------------------------------------
+//
+void CalenDayView::setupSlots()
+{
+    // Connecting other view-related signals/slots
+    connect(mContentScrollArea,
+        SIGNAL(scrollAreaMoveStarted(CalenScrollDirection)), this,
+        SLOT(dayChangeStarted(CalenScrollDirection)));
+
+    connect(mContentScrollArea,
+        SIGNAL(scrollAreaMoveFinished(CalenScrollDirection)), mContentWidget,
+        SLOT(relayoutWidgets(CalenScrollDirection)));
+
+    connect(mContentWidget, SIGNAL(
+        widgetsRelayoutFinished(CalenScrollDirection)), mContentScrollArea,
+        SLOT(scrollToMiddleWidget()));
+
+    connect(mContentWidget,
+        SIGNAL(widgetsRelayoutFinished(CalenScrollDirection)), this,
+        SLOT(dayChanged(CalenScrollDirection)));
+
+    connect(mContentWidget, SIGNAL(scrollPositionChanged(const QPointF &)),
+        mHourScrollArea, SLOT(scrollVertically(const QPointF &)));
+    
+    connect(mHourScrollArea, SIGNAL(scrollPositionChanged(const QPointF &)),
+        mContentWidget, SLOT(widgetScrolled(const QPointF &)));
+    
+    connect(mSettingsManager, SIGNAL(valueChanged(XQSettingsKey, QVariant)),
+        this, SLOT(showHideRegionalInformationChanged(XQSettingsKey, QVariant)));
+}
+
+// -----------------------------------------------------------------------------
+// runNewMeeting()
+// -----------------------------------------------------------------------------
+//
+void CalenDayView::runNewMeeting()
+{
+    QDateTime dateTime(mDate);
+    TRAP_IGNORE(
+        dateTime.setTime(mServices.Context().defaultCalTimeForViewsL().time());
+        mServices.Context().setFocusDateAndTime(dateTime);
+        mServices.IssueCommandL(ECalenNewMeeting)
+            );
+}
+
+// -----------------------------------------------------------------------------
+// runGoToToday()
+// -----------------------------------------------------------------------------
+//
+void CalenDayView::runGoToToday()
+{
+    mServices.Context().setFocusDateAndTime(CalenDateUtils::today());
+    TRAP_IGNORE(mServices.IssueCommandL(ECalenGotoToday));
+    refreshViewOnGoToDate();
+}
+
+
+// -----------------------------------------------------------------------------
+// changeView()
+// -----------------------------------------------------------------------------
+//
+void CalenDayView::changeView(TCalenCommandId viewId)
+{
+    TRAP_IGNORE(mServices.IssueCommandL(viewId));
+}
+
+// ----------------------------------------------------------------------------
+// CalenDayView::setHeadingText
+// Sets heading text according to date from model and locale.
+// It's connected to modelReset signal
+// ----------------------------------------------------------------------------
+//
+void CalenDayView::setHeadingText(const HbEffect::EffectStatus &status)
+{   
+    Q_UNUSED(status)
+
+    // Format the date as per the device locale settings
+    HbExtendedLocale systemLocale = HbExtendedLocale::system();
+
+    // Get localised name of the day from locale
+    QString dayString = systemLocale.dayName(mDate.date().dayOfWeek());
+    // Append a single space
+    dayString.append(" ");
+    // Set the heading
+
+    // Append the date which is formatted as per the locale   
+    mHeadingLabel->setHeading(hbTrId("txt_calendar_subhead_1_2").arg(dayString).arg(
+        systemLocale.format(mDate.date(), r_qtn_date_usual_with_zero)));
+
+    HbEffect::start(mHeadingLabel, "fadeIn");
+}
+
+// ----------------------------------------------------------------------------
+// CalenDayView::showHideRegionalInformation
+// To run effect on lunar data label
+// ----------------------------------------------------------------------------
+//
+void CalenDayView::showRegionalInformation(const HbEffect::EffectStatus &status)
+{
+	Q_UNUSED(status);
+	showRegionalInformationFadeIn();
+}
+
+// ----------------------------------------------------------------------------
+// CalenDayView::showRegionalInformationFadeIn
+// To run effect on lunar data label and change text according to date change
+// ----------------------------------------------------------------------------
+//
+void CalenDayView::showRegionalInformationFadeIn()
+	{
+	showHideRegionalInformationChanged(mRegionalInfo, 3);
+	HbEffect::start(mRegionalInfoGroupBox, "fadeIn");
+	}
+
+// ----------------------------------------------------------------------------
+// CalenDayView::showHideRegionalInformationChanged
+// To Show and hide regional plugin label depends upon settings
+// ----------------------------------------------------------------------------
+//
+void CalenDayView::showHideRegionalInformationChanged(const XQSettingsKey& key, const QVariant&)
+	{
+	if (key.key() == mRegionalInfo.key())
+		{
+		int showRegionalInfo =
+				mSettingsManager->readItemValue(mRegionalInfo).toUInt();
+
+		if (showRegionalInfo)
+			{
+			QString *pluginString = pluginText();
+			if (pluginString)
+				{
+				if (!mRegionalInfoGroupBox)
+					{
+					mRegionalInfoGroupBox = new HbGroupBox();
+					CalenPluginLabel *regionalInfo = new CalenPluginLabel(
+							mServices, this);
+					HbEffect::add(mRegionalInfoGroupBox, ":/fade_out.fxml",
+							"fadeOut");
+					HbEffect::add(mRegionalInfoGroupBox, ":/fade_in.fxml", "fadeIn");
+
+					// add margins to calenpluginlabel
+
+					HbStyle style;
+					HbDeviceProfile deviceProfile;
+					qreal marginLeft = 0.0;
+					qreal marginRight = 0.0;
+					qreal marginTop = 0.0;
+					qreal marginBottom = 0.0;
+					style.parameter(QString("hb-param-margin-gene-left"), marginLeft, deviceProfile);
+					style.parameter(QString("hb-param-margin-gene-right"), marginRight, deviceProfile);
+					style.parameter(QString("hb-param-margin-gene-top"), marginTop, deviceProfile);
+					style.parameter(QString("hb-param-margin-gene-bottom"), marginBottom, deviceProfile);
+
+					regionalInfo->setContentsMargins(1, 1, 1, 1);
+
+					//	qreal width = mRegionalInfoGroupBox->size().width();
+					//	qreal height = mRegionalInfoGroupBox->size().height() + marginTop + marginBottom;
+
+					//	mRegionalInfoGroupBox->resize(width, height);
+
+					mRegionalInfoGroupBox->setContentWidget(regionalInfo);
+					}
+
+				if (pluginEnabled())
+					{
+					HbLabel *pluginInfoLabel = qobject_cast<HbLabel *> (
+							mRegionalInfoGroupBox->contentWidget());
+
+					pluginInfoLabel->setPlainText(*pluginString);
+
+					mVLayout->insertItem(1, mRegionalInfoGroupBox);
+					}
+				}
+			}
+		else
+			{
+
+			if (mRegionalInfoGroupBox)
+				{
+				mVLayout->removeItem(mRegionalInfoGroupBox);
+				delete mRegionalInfoGroupBox;
+				mRegionalInfoGroupBox = NULL;
+				}
+			}
+		}
+	}
+
+// ----------------------------------------------------------------------------
+// CalenDayView::setupViewport
+// Scrolls view according to current day and events
+// ----------------------------------------------------------------------------
+//
+void CalenDayView::setupViewport()
+{
+    QDateTime currentTime = QDateTime::currentDateTime();
+    
+    //Filter flags (only timed events)
+	AgendaUtil::FilterFlags filter = AgendaUtil::FilterFlags(
+			AgendaUtil::IncludeAppointments );
+	QList<AgendaEntry> list;
+	// Fetch the instance list from the agenda interface
+	list = mServices.agendaInterface()->fetchEntriesInRange(currentTime, currentTime, filter);
+    
+    // If we have event in current day and hour, scroll to this event
+    if(mDate.date() == currentTime.date() && !list.isEmpty()){
+    	int hourToScrollTo(list.first().startTime().time().hour());
+        mHourScrollArea->scrollToHour(hourToScrollTo);
+    }
+    else{
+        //Scroll view to 7am
+        mHourScrollArea->scrollToHour(7);
+    }
+}
+
+//End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/tsrc.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,26 @@
+#  
+# 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:
+# This is the project specification file for calendayview test code
+#
+
+# include test components here
+
+TEMPLATE = subdirs
+
+SUBDIRS += unittests
+
+CONFIG += ordered
+
+# End of file	--Don't remove this
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendaycontainer/calendayinfo.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,117 @@
+/*
+* 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; 
+    }
+    
+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_calendaycontainer/calendayview.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,73 @@
+/*
+* 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: Mocked classes for testing CalenDayContainer class
+*
+*/
+
+#ifndef CALENSERVICES_H
+#define CALENSERVICES_H
+
+/*!
+ Mocked class MCalenServices
+ */
+class MCalenServices
+{
+public:
+    MCalenServices() {
+        
+    }
+    
+    ~MCalenServices() {
+        
+    }
+};
+
+#endif // CALENSERVICES_H
+
+#ifndef CALEDAYVIEW_H
+#define CALEDAYVIEW_H
+
+#include <HbView>
+
+enum TCalenCommandId
+{
+    ECalenMonthView = 0,
+    ECalenWeekView,
+    ECalenAgendaView
+};
+
+/*!
+ Mocked class CalenDayView
+ */
+class CalenDayView : public HbView
+{
+public:
+    
+    CalenDayView(MCalenServices &services) {
+        Q_UNUSED(services)
+    }
+    
+    virtual ~CalenDayView() {
+        
+    }
+    
+    void changeView(TCalenCommandId viewId) {
+        Q_UNUSED(viewId)
+    }
+};
+
+#endif // CALEDAYVIEW_H
+
+//End of file
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendaycontainer/caleninstanceid.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,44 @@
+/*
+* 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:  Mocked classes for testing CalenDayContainer class
+*
+*/
+
+#ifndef CALENINSTANCEID_H
+#define CALENINSTANCEID_H
+
+/*!
+ Mocked class TCalenInstanceId
+ */
+class TCalenInstanceId
+{
+public:
+    TCalenInstanceId() {
+        
+    }
+    
+    static TCalenInstanceId nullInstanceId() {
+        return TCalenInstanceId();
+    }
+    
+public: // data members
+    ulong mEntryLocalUid;
+    QDateTime mInstanceTime;
+    AgendaEntry::Type mType;
+    bool mInstanceViewed;
+};
+
+#endif // CALENINSTANCEID_H
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendaycontainer/hbinstance.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,98 @@
+/*
+* 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: Mocked classes for testing CalenDayUtils class
+*
+*/
+
+#ifndef  HBMAINWINDOW_H
+#define  HBMAINWINDOW_H
+
+#include <HbView>
+
+// Test variables
+extern QRectF gTestWindowRect;
+extern Qt::Orientation gTestOrientation;
+
+/*!
+ Mocked class HbMainWindow (simulating window in unittests)
+ */
+class HbMainWindow
+{   
+public:
+    HbMainWindow() {
+        mView = new HbView();
+    }
+    
+    ~HbMainWindow() {
+        if (mView) {
+            delete mView;
+            mView = 0;
+        }
+    }
+    
+    QRectF layoutRect() const {
+        return gTestWindowRect;
+    }
+    
+    Qt::Orientation orientation() const {
+        return gTestOrientation;
+    }
+    
+    HbView *HbMainWindow::currentView() const {
+        return mView;
+    }
+
+    HbView *mView;
+};
+
+#endif // HBMAINWINDOW_H
+
+#ifndef  HBINSTANCE_H
+#define  HBINSTANCE_H
+
+#include <QList>
+
+/*!
+ Mocked class HbInstance (simulating hbinstance in unittests)
+ */
+class HbInstance
+{
+public:
+    
+    static HbInstance *instance() {
+        return new HbInstance();
+    }
+    
+    QList<HbMainWindow *> allMainWindows() const {
+        return mMainWindows;
+    }
+    
+    HbInstance() {
+        HbMainWindow* window = new HbMainWindow();
+        mMainWindows.append(window);
+    }
+    
+    ~HbInstance() {
+        for (int i = 0; i < mMainWindows.count(); i++) {
+            delete mMainWindows[i];
+        }
+        mMainWindows.clear();
+    }
+    
+    QList<HbMainWindow *> mMainWindows;
+};
+
+#endif // HBINSTANCE_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendaycontainer/rom/unittest_calendaycontainer.iby	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2006-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:   Image description file for test project
+*
+*/
+
+#ifndef UNITTEST_CALENDAYCONTAINER_IBY
+#define UNITTEST_CALENDAYCONTAINER_IBY
+
+S60_APP_EXE(unittest_calendaycontainer)
+S60_APP_RESOURCE(unittest_calendaycontainer)
+
+// Application registration file.
+data=DATAZ_\private\10003a3f\import\apps\unittest_calendaycontainer_reg.rsc		\private\10003a3f\import\apps\unittest_calendaycontainer_reg.rsc
+
+
+#endif		// UNITTEST_CALENDAYCONTAINER_IBY
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendaycontainer/unittest_calendaycontainer.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,115 @@
+/*
+ * 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: Test class for CalenDayContainerWidget
+ *
+ */
+#include <QtTest/QtTest>
+
+#include "calendaycontainer.h"
+
+// Test variables
+QRectF gTestWindowRect = QRectF(0, 0, 10, 20);
+Qt::Orientation gTestOrientation = Qt::Horizontal;
+
+class TestCalenDayContainer : public QObject
+{
+Q_OBJECT
+
+public:
+    TestCalenDayContainer();
+    virtual ~TestCalenDayContainer();
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+    void init();
+    void cleanup();
+
+    void testConstructors();
+
+private:
+    CalenDayContainer *mContainer;
+};
+
+/*!
+ Constructor
+ */
+TestCalenDayContainer::TestCalenDayContainer() :
+    mContainer(NULL)
+{
+
+}
+
+/*!
+ Destructor
+ */
+TestCalenDayContainer::~TestCalenDayContainer()
+{
+
+}
+
+/*!
+ Called before testcase
+ */
+void TestCalenDayContainer::initTestCase()
+{
+}
+
+/*!
+ Called after testcase
+ */
+void TestCalenDayContainer::cleanupTestCase()
+{
+
+}
+
+/*!
+ Called before every function
+ */
+void TestCalenDayContainer::init()
+{
+    mContainer = new CalenDayContainer();
+}
+
+/*!
+ Called after everyfunction
+ */
+void TestCalenDayContainer::cleanup()
+{
+    if (mContainer) {
+        delete mContainer;
+        mContainer = NULL;
+    }
+}
+
+/*!
+ Test function for constructors
+ 1. Test if container is not initialized
+ 2. Test if container is correcty created
+ */
+void TestCalenDayContainer::testConstructors()
+{
+    //1)
+    CalenDayContainer *testContainer = 0;
+    QVERIFY(!testContainer);
+    
+    //2)
+    testContainer = new CalenDayContainer();
+    QVERIFY(testContainer);
+    
+    delete testContainer;
+}
+
+QTEST_MAIN(TestCalenDayContainer);
+#include "unittest_calendaycontainer.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendaycontainer/unittest_calendaycontainer.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,71 @@
+#
+#  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: calendaycontentwidget test project file
+#
+
+TEMPLATE = app
+TARGET = unittest_calendaycontainer
+
+MOC_DIR = moc
+
+CONFIG += qtestlib
+CONFIG += symbian_test
+CONFIG += hb
+				
+INCLUDEPATH += . \
+               ../../../inc/ \
+               ./../../../../inc/ \
+               ./../../../../../inc/
+
+DEPENDPATH  += . \
+               ../../../inc/ \
+               ../../../src/  \
+               ./../../../../inc/ \
+               ./../../../../../inc/
+
+# Input
+HEADERS +=	calendaycontainer.h \
+			calendayutils.h \
+			calendayeventspane.h \
+			calendayitem.h \
+			calendaystatusstrip.h \
+			calendaymodel.h
+
+SOURCES +=	unittest_calendaycontainer.cpp \
+			calendaycontainer.cpp  \
+			calendayutils.cpp \
+			calendayeventspane.cpp \
+			calendayitem.cpp \
+			calendaystatusstrip.cpp \
+			calendaymodel.cpp
+
+symbian : {
+	TARGET.CAPABILITY = CAP_APPLICATION
+    MMP_RULES += "USERINCLUDE ."
+    
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+    
+    LIBS += -lagendainterface \
+    		-lxqsettingsmanager
+    		
+    BLD_INF_RULES.prj_testexports += \
+        "./rom/unittest_calendaycontainer.iby        CORE_APP_LAYER_IBY_EXPORT_PATH(unittest_calendaycontainer.iby)"
+        
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+        
+    LIBS += -lagendainterface \
+            -lcalencommonutils
+}
+
+# End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendaycontentwidget/calendaycontentwidgetheaders.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,70 @@
+/*
+* 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/calendaymodelmanager.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,97 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendaycontentwidget/rom/unittest_calendaycontentwidget.iby	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2006-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:   Image description file for test project
+*
+*/
+
+#ifndef UNITTEST_CALENDAYCONTENTWIDGET_IBY
+#define UNITTEST_CALENDAYCONTENTWIDGET_IBY
+
+S60_APP_EXE(unittest_calendaycontentwidget)
+S60_APP_RESOURCE(unittest_calendaycontentwidget)
+
+// Application registration file.
+data=DATAZ_\private\10003a3f\import\apps\unittest_calendaycontentwidget_reg.rsc		\private\10003a3f\import\apps\unittest_unittest_calendaycontentwidget_reg.rsc
+
+
+#endif		// UNITTEST_CALENDAYCONTENTWIDGET_IBY
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendaycontentwidget/unittest_calendaycontentwidget.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,111 @@
+/*
+ * 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: Test class for CalenDayContentWidget
+ *
+ */
+#include <QGraphicsItem>
+#include <QtTest/QtTest>
+
+
+#include "calendaymodelmanager.h"
+#include "calendaycontentwidget.h"
+
+class TestCalenContentWidget : public QObject
+{
+Q_OBJECT
+
+public:
+    TestCalenContentWidget();
+    virtual ~TestCalenContentWidget();
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+    void init();
+    void cleanup();
+
+    void testConstructors();
+
+private:
+    CalenDayModelManager *mModelMgr;
+    CalenDayContentWidget *mContentWidget;
+};
+
+/*!
+ Constructor
+ */
+TestCalenContentWidget::TestCalenContentWidget() :
+    mModelMgr(NULL), mContentWidget(NULL)
+{
+
+}
+
+/*!
+ Destructor
+ */
+TestCalenContentWidget::~TestCalenContentWidget()
+{
+
+}
+
+/*!
+ Called before testcase
+ */
+void TestCalenContentWidget::initTestCase()
+{
+    mModelMgr = new CalenDayModelManager();
+}
+
+/*!
+ Called after testcase
+ */
+void TestCalenContentWidget::cleanupTestCase()
+{
+    if (mModelMgr) {
+        delete mModelMgr;
+    }
+}
+
+/*!
+ Called before every function
+ */
+void TestCalenContentWidget::init()
+{
+
+}
+
+/*!
+ Called after everyfunction
+ */
+void TestCalenContentWidget::cleanup()
+{
+    if (mContentWidget) {
+        delete mContentWidget;
+        mContentWidget = NULL;
+    }
+}
+
+/*!
+ Test class for constructors
+ 1. Test if content widget is correcty created
+ */
+void TestCalenContentWidget::testConstructors()
+{
+    QVERIFY(!mContentWidget);
+    mContentWidget = new CalenDayContentWidget(*mModelMgr);
+    QVERIFY(mContentWidget);
+}
+
+QTEST_MAIN(TestCalenContentWidget);
+#include "unittest_calendaycontentwidget.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendaycontentwidget/unittest_calendaycontentwidget.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,50 @@
+#
+#  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: calendaycontentwidget test project file
+#
+
+TEMPLATE = app
+TARGET = unittest_calendaycontentwidget
+
+MOC_DIR = moc
+
+CONFIG += qtestlib
+CONFIG += symbian_test
+CONFIG += hb
+				
+INCLUDEPATH += . \
+               ../../../inc/ \
+
+DEPENDPATH  += . \
+               ../../../inc/ \
+               ../../../src/  
+
+# Input
+HEADERS +=	calendaymodelmanager.h \ 
+            calendaycontentwidgetheaders.h \
+			calendaycontentwidget.h 
+			
+
+SOURCES +=	unittest_calendaycontentwidget.cpp \
+			calendaycontentwidget.cpp 
+
+symbian : {
+	TARGET.CAPABILITY = CAP_APPLICATION
+    MMP_RULES += "USERINCLUDE ."
+            
+    BLD_INF_RULES.prj_testexports += \
+        "./rom/unittest_calendaycontentwidget.iby        CORE_APP_LAYER_IBY_EXPORT_PATH(unittest_calendaycontentwidget.iby)"
+}
+
+# End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayeventspane/rom/unittest_calendayeventspane.iby	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2006-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:   Image description file for test project
+*
+*/
+
+#ifndef UNITTEST_CALENDAYEVENTSPANE_IBY
+#define UNITTEST_CALENDAYEVENTSPANE_IBY
+
+S60_APP_EXE(unittest_calendayeventspane)
+S60_APP_RESOURCE(unittest_calendayeventspane)
+
+// Application registration file.
+data=DATAZ_\private\10003a3f\import\apps\unittest_calendayeventspane_reg.rsc		\private\10003a3f\import\apps\unittest_calendayeventspane_reg.rsc
+
+
+#endif		// UNITTEST_CALENDAYEVENTSPANE_IBY
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayeventspane/unittest_calendayeventspane.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,112 @@
+/*
+ * 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: Test class for CalenDayContentWidget
+ *
+ */
+#include <QGraphicsItem>
+#include <QtTest/QtTest>
+#include <QPen>
+
+#include "calendayeventspane.h"
+
+class TestCalenEventsPane : public QObject
+{
+Q_OBJECT
+
+public:
+    TestCalenEventsPane();
+    virtual ~TestCalenEventsPane();
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+    void init();
+    void cleanup();
+
+    void testConstructors();
+
+private:
+    CalenDayEventsPane *mEventsPane;
+};
+
+/*!
+ Constructor
+ */
+TestCalenEventsPane::TestCalenEventsPane() :
+   mEventsPane(NULL)
+{
+
+}
+
+/*!
+ Destructor
+ */
+TestCalenEventsPane::~TestCalenEventsPane()
+{
+
+}
+
+/*!
+ Called before testcase
+ */
+void TestCalenEventsPane::initTestCase()
+{
+}
+
+/*!
+ Called after testcase
+ */
+void TestCalenEventsPane::cleanupTestCase()
+{
+
+}
+
+/*!
+ Called before every function
+ */
+void TestCalenEventsPane::init()
+{
+    mEventsPane = new CalenDayEventsPane();
+}
+
+/*!
+ Called after everyfunction
+ */
+void TestCalenEventsPane::cleanup()
+{
+    if (mEventsPane) {
+        delete mEventsPane;
+        mEventsPane = NULL;
+    }
+}
+
+/*!
+ Test function for constructors
+ 1. Test if events pane is not initialized
+ 2. Test if events pane is correcty created
+ */
+void TestCalenEventsPane::testConstructors()
+{
+    //1)
+    CalenDayEventsPane *testEventsPane = 0;
+    QVERIFY(!testEventsPane);
+    
+    //2)
+    testEventsPane = new CalenDayEventsPane();
+    QVERIFY(testEventsPane);
+    delete testEventsPane;
+}
+
+QTEST_MAIN(TestCalenEventsPane);
+#include "unittest_calendayeventspane.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayeventspane/unittest_calendayeventspane.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,48 @@
+#
+#  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: calendaycontentwidget test project file
+#
+
+TEMPLATE = app
+TARGET = unittest_calendayeventspane
+
+MOC_DIR = moc
+
+CONFIG += qtestlib
+CONFIG += symbian_test
+CONFIG += hb
+				
+INCLUDEPATH += . \
+               ../../../inc/ \
+
+DEPENDPATH  += . \
+               ../../../inc/ \
+               ../../../src/  
+
+# Input
+HEADERS +=	calendayeventspane.h 
+			
+
+SOURCES +=	unittest_calendayeventspane.cpp \
+			calendayeventspane.cpp 
+
+symbian : {
+	TARGET.CAPABILITY = CAP_APPLICATION
+    MMP_RULES += "USERINCLUDE ."
+            
+    BLD_INF_RULES.prj_testexports += \
+        "./rom/unittest_calendayeventspane.iby        CORE_APP_LAYER_IBY_EXPORT_PATH(unittest_calendayeventspane.iby)"
+}
+
+# End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayhourelement/rom/unittest_calendayhourelement.iby	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2006-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:   Image description file for test project
+*
+*/
+
+#ifndef UNITTEST_CALENDAYHOURELEMENT_IBY
+#define UNITTEST_CALENDAYHOURELEMENT_IBY
+
+S60_APP_EXE(unittest_calendayhourelement)
+S60_APP_RESOURCE(unittest_calendayhourelement)
+
+// Application registration file.
+data=DATAZ_\private\10003a3f\import\apps\unittest_calendayhourelement_reg.rsc		\private\10003a3f\import\apps\unittest_calendayhourelement_reg.rsc
+
+
+#endif		// UNITTEST_CALENDAYHOURELEMENT_IBY
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayhourelement/unittest_calendayhourelement.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,113 @@
+/*
+ * 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: Test class for CalenDayContentWidget
+ *
+ */
+#include <QGraphicsItem>
+#include <QtTest/QtTest>
+
+#include "calendayhourelement.h"
+
+class TestCalenDayHourElement : public QObject
+{
+Q_OBJECT
+
+public:
+    TestCalenDayHourElement();
+    virtual ~TestCalenDayHourElement();
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+    void init();
+    void cleanup();
+
+    void testConstructors();
+
+private:
+    CalenDayHourElement *mHourElement;
+    QTime   mTime;
+};
+
+/*!
+ Constructor
+ */
+TestCalenDayHourElement::TestCalenDayHourElement() :
+   mHourElement(NULL)
+{
+
+}
+
+/*!
+ Destructor
+ */
+TestCalenDayHourElement::~TestCalenDayHourElement()
+{
+
+}
+
+/*!
+ Called before testcase
+ */
+void TestCalenDayHourElement::initTestCase()
+{
+}
+
+/*!
+ Called after testcase
+ */
+void TestCalenDayHourElement::cleanupTestCase()
+{
+
+}
+
+/*!
+ Called before every function
+ */
+void TestCalenDayHourElement::init()
+{
+    mHourElement = new CalenDayHourElement(mTime);
+}
+
+/*!
+ Called after everyfunction
+ */
+void TestCalenDayHourElement::cleanup()
+{
+    if (mHourElement) {
+        delete mHourElement;
+        mHourElement = NULL;
+    }
+}
+
+/*!
+ Test function for constructors
+ 1. Test if content widget is not initialized
+ 2. Test if content widget is correcty created
+ */
+void TestCalenDayHourElement::testConstructors()
+{
+    //1)
+    CalenDayHourElement *testHourElement = 0;
+    QVERIFY(!testHourElement);
+    
+    testHourElement = new CalenDayHourElement(mTime);
+    
+    QVERIFY(testHourElement);
+    
+    delete testHourElement;
+}
+
+QTEST_MAIN(TestCalenDayHourElement);
+#include "unittest_calendayhourelement.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayhourelement/unittest_calendayhourelement.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,50 @@
+#
+#  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: calendaycontentwidget test project file
+#
+
+TEMPLATE = app
+TARGET = unittest_calendayhourelement
+
+MOC_DIR = moc
+
+CONFIG += qtestlib
+CONFIG += symbian_test
+CONFIG += hb
+				
+INCLUDEPATH += . \
+               ../../../inc/ \
+
+DEPENDPATH  += . \
+               ../../../inc/ \
+               ../../../src/  
+
+# Input
+HEADERS +=	calendayhourelement.h \
+            calendayhourscrollarea.h
+			
+
+SOURCES +=	unittest_calendayhourelement.cpp \
+			calendayhourelement.cpp \
+			calendayhourscrollarea.cpp
+
+symbian : {
+	TARGET.CAPABILITY = CAP_APPLICATION
+    MMP_RULES += "USERINCLUDE ."
+            
+    BLD_INF_RULES.prj_testexports += \
+        "./rom/unittest_calendayhourelement.iby        CORE_APP_LAYER_IBY_EXPORT_PATH(unittest_calendayhourelement.iby)"
+}
+
+# End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayhourscrollarea/rom/unittest_calendayhourscrollarea.iby	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2006-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:   Image description file for test project
+*
+*/
+
+#ifndef UNITTEST_CALENDAYHOURSCROLLAREA_IBY
+#define UNITTEST_CALENDAYHOURSCROLLAREA_IBY
+
+S60_APP_EXE(unittest_calendayhourscrollarea)
+S60_APP_RESOURCE(unittest_calendayhourscrollarea)
+
+// Application registration file.
+data=DATAZ_\private\10003a3f\import\apps\unittest_calendayhourscrollarea_reg.rsc		\private\10003a3f\import\apps\unittest_calendayhourscrollarea_reg.rsc
+
+
+#endif		// UNITTEST_CALENDAYHOURSCROLLAREA_IBY
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayhourscrollarea/unittest_calendayhourscrollarea.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,112 @@
+/*
+ * 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: Test class for CalenDayContentWidget
+ *
+ */
+#include <QGraphicsItem>
+#include <QtTest/QtTest>
+
+#include "calendayhourscrollarea.h"
+
+class TestCalenDayHourScrollArea : public QObject
+{
+Q_OBJECT
+
+public:
+    TestCalenDayHourScrollArea();
+    virtual ~TestCalenDayHourScrollArea();
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+    void init();
+    void cleanup();
+
+    void testConstructors();
+
+private:
+    CalenDayHourScrollArea *mHourScrollArea;
+};
+
+/*!
+ Constructor
+ */
+TestCalenDayHourScrollArea::TestCalenDayHourScrollArea() :
+   mHourScrollArea(NULL)
+{
+
+}
+
+/*!
+ Destructor
+ */
+TestCalenDayHourScrollArea::~TestCalenDayHourScrollArea()
+{
+
+}
+
+/*!
+ Called before testcase
+ */
+void TestCalenDayHourScrollArea::initTestCase()
+{
+}
+
+/*!
+ Called after testcase
+ */
+void TestCalenDayHourScrollArea::cleanupTestCase()
+{
+
+}
+
+/*!
+ Called before every function
+ */
+void TestCalenDayHourScrollArea::init()
+{
+    mHourScrollArea = new CalenDayHourScrollArea();
+}
+
+/*!
+ Called after everyfunction
+ */
+void TestCalenDayHourScrollArea::cleanup()
+{
+    if (mHourScrollArea) {
+        delete mHourScrollArea;
+        mHourScrollArea = NULL;
+    }
+}
+
+/*!
+ Test function for constructors
+ 1. Test if hour scroll area is not initialized
+ 2. Test if hour scroll area is correcty created
+ */
+void TestCalenDayHourScrollArea::testConstructors()
+{
+    //1)
+    CalenDayHourScrollArea *testHourScrollArea = 0;
+    QVERIFY(!testHourScrollArea);
+    
+    testHourScrollArea = new CalenDayHourScrollArea();
+    
+    QVERIFY(testHourScrollArea);
+    
+    delete testHourScrollArea;
+}
+
+QTEST_MAIN(TestCalenDayHourScrollArea);
+#include "unittest_calendayhourscrollarea.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayhourscrollarea/unittest_calendayhourscrollarea.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,61 @@
+#
+#  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: calendaycontentwidget test project file
+#
+
+TEMPLATE = app
+TARGET = unittest_calendayhourscrollarea
+
+MOC_DIR = moc
+
+CONFIG += qtestlib
+CONFIG += symbian_test
+CONFIG += hb
+				
+INCLUDEPATH += . \
+               ../../../inc/ \
+               ./../../../../inc/ \
+               ./../../../../../inc/
+
+DEPENDPATH  += . \
+               ../../../inc/ \
+               ../../../src/  \
+               ./../../../../inc/ \
+               ./../../../../../inc/
+
+# Input
+HEADERS +=	calendayhourelement.h \
+            calendayhourscrollarea.h \
+            calendayutils.h
+			
+
+SOURCES +=	unittest_calendayhourscrollarea.cpp \
+			calendayhourelement.cpp \
+			calendayhourscrollarea.cpp \
+			calendayutils.cpp
+
+symbian : {
+	TARGET.CAPABILITY = CAP_APPLICATION
+    MMP_RULES += "USERINCLUDE ."
+            
+    BLD_INF_RULES.prj_testexports += \
+        "./rom/unittest_calendayhourscrollarea.iby        CORE_APP_LAYER_IBY_EXPORT_PATH(unittest_calendayhourscrollarea.iby)"
+        
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+        
+    LIBS += -lagendainterface \
+            -lcalencommonutils
+}
+
+# End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayinfo/rom/unittest_calendayinfo.iby	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2006-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:   Image description file for test project
+*
+*/
+
+#ifndef UNITTEST_CALENDAYINFO_IBY
+#define UNITTEST_CALENDAYINFO_IBY
+
+S60_APP_EXE(unittest_calendayinfo)
+S60_APP_RESOURCE(unittest_calendayinfo)
+
+// Application registration file.
+data=DATAZ_\private\10003a3f\import\apps\unittest_calendayinfo_reg.rsc		\private\10003a3f\import\apps\unittest_calendayinfo_reg.rsc
+
+
+#endif		// UNITTEST_CALENDAYINFO_IBY
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayinfo/unittest_calendayinfo.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,116 @@
+/*
+ * 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: Test class for CalenDayContentWidget
+ *
+ */
+#include <QGraphicsItem>
+#include <QtTest/QtTest>
+
+
+#include <HbMainWindow>
+
+#include "calendayinfo.h"
+#include "calendaycommonheaders.h"
+
+class TestCalenDayInfo : public QObject
+{
+Q_OBJECT
+
+public:
+    TestCalenDayInfo();
+    virtual ~TestCalenDayInfo();
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+    void init();
+    void cleanup();
+
+    void testConstructors();
+
+private:
+    CalenDayInfo *mInfo;
+};
+
+/*!
+ Constructor
+ */
+TestCalenDayInfo::TestCalenDayInfo() :
+   mInfo(NULL)
+{
+
+}
+
+/*!
+ Destructor
+ */
+TestCalenDayInfo::~TestCalenDayInfo()
+{
+
+}
+
+/*!
+ Called before testcase
+ */
+void TestCalenDayInfo::initTestCase()
+{
+}
+
+/*!
+ Called after testcase
+ */
+void TestCalenDayInfo::cleanupTestCase()
+{
+
+}
+
+/*!
+ Called before every function
+ */
+void TestCalenDayInfo::init()
+{
+    mInfo = new CalenDayInfo(CalenDayInfo::ETwo);
+}
+
+/*!
+ Called after everyfunction
+ */
+void TestCalenDayInfo::cleanup()
+{
+    if (mInfo) {
+        delete mInfo;
+        mInfo = NULL;
+    }
+}
+
+/*!
+ Test function for constructors
+ 1. Test if CalenDayInfo is not initialized
+ 2. Test if CalenDayInfo is correcty created
+ */
+void TestCalenDayInfo::testConstructors()
+{
+    //1)
+    CalenDayInfo *testCalenDayInfo = 0;
+    QVERIFY(!testCalenDayInfo);
+    
+    //2)
+    testCalenDayInfo = new CalenDayInfo(CalenDayInfo::ETwo);
+    QVERIFY(testCalenDayInfo);
+}
+
+
+QTEST_MAIN(TestCalenDayInfo);
+
+#include "unittest_calendayinfo.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayinfo/unittest_calendayinfo.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,61 @@
+#
+#  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: calendaycontentwidget test project file
+#
+
+TEMPLATE = app
+TARGET = unittest_calendayinfo
+
+MOC_DIR = moc
+
+CONFIG += qtestlib
+CONFIG += symbian_test
+CONFIG += hb
+				
+INCLUDEPATH += . \
+			   ../../inc/ \			   
+               ../../../inc/ \
+               ../../../../../inc/ \
+               ../../../../../commonutils/inc/
+
+DEPENDPATH  += . \
+			   ../../inc/ \			   
+               ../../../inc/ \
+               ../../../../../inc/ \
+               ../../../../../commonutils/inc/ \
+               ../../../src/  
+
+# Input
+HEADERS +=	calendayinfo.h \
+            calinstance.h \
+            caleninstanceid.h \
+            calenagendautils.h \
+            calenconstants.h \
+            calendateutils.h            
+			
+
+SOURCES +=	unittest_calendayinfo.cpp \
+			calendayinfo.cpp 
+
+symbian : {
+	TARGET.CAPABILITY = CAP_APPLICATION
+    MMP_RULES += "USERINCLUDE ."
+    	
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+            
+    BLD_INF_RULES.prj_testexports += \
+        "./rom/unittest_calendayinfo.iby        CORE_APP_LAYER_IBY_EXPORT_PATH(unittest_calendayinfo.iby)"
+}
+
+# End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayitem/rom/unittest_calendayitem.iby	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2006-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:   Image description file for test project
+*
+*/
+
+#ifndef UNITTEST_CALENDAYITEM_IBY
+#define UNITTEST_CALENDAYITEM_IBY
+
+S60_APP_EXE(unittest_calendayitem)
+S60_APP_RESOURCE(unittest_calendayitem)
+
+// Application registration file.
+data=DATAZ_\private\10003a3f\import\apps\unittest_calendayitem_reg.rsc		\private\10003a3f\import\apps\unittest_calendayitem_reg.rsc
+
+
+#endif		// UNITTEST_CALENDAYITEM_IBY
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayitem/unittest_calendayitem.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,126 @@
+/*
+ * 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: Test class for CalenDayContentWidget
+ *
+ */
+#include <QGraphicsItem>
+#include <QtTest/QtTest>
+
+
+#include "calendayitem.h"
+
+class TestCalenDayItem : public QObject
+{
+Q_OBJECT
+
+public:
+    TestCalenDayItem();
+    virtual ~TestCalenDayItem();
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+    void init();
+    void cleanup();
+
+    void testConstructors();
+    void testCreateItem();
+
+private:
+    CalenDayItem *mItem;
+};
+
+/*!
+ Constructor
+ */
+TestCalenDayItem::TestCalenDayItem() :
+   mItem(NULL)
+{
+
+}
+
+/*!
+ Destructor
+ */
+TestCalenDayItem::~TestCalenDayItem()
+{
+
+}
+
+/*!
+ Called before testcase
+ */
+void TestCalenDayItem::initTestCase()
+{
+}
+
+/*!
+ Called after testcase
+ */
+void TestCalenDayItem::cleanupTestCase()
+{
+
+}
+
+/*!
+ Called before every function
+ */
+void TestCalenDayItem::init()
+{
+    mItem = new CalenDayItem();
+}
+
+/*!
+ Called after everyfunction
+ */
+void TestCalenDayItem::cleanup()
+{
+    if (mItem) {
+        delete mItem;
+        mItem = NULL;
+    }
+}
+
+/*!
+ Test function for constructors
+ 1. Test if content widget is not initialized
+ 2. Test if content widget is correcty created
+ */
+void TestCalenDayItem::testConstructors()
+{
+    //1)
+    CalenDayItem *testItem = 0;
+    QVERIFY(!testItem);
+    
+    //2)
+    testItem = new CalenDayItem();
+    QVERIFY(testItem);
+    delete testItem;
+}
+
+/*!
+  Test function for creating new abstract items.
+  1. Test if item is created
+  2. Test if is the same as orginal.
+ */
+void TestCalenDayItem::testCreateItem()
+{
+    HbAbstractViewItem *testItem = mItem->createItem();
+    QVERIFY(testItem);
+    
+    delete testItem;
+}
+
+QTEST_MAIN(TestCalenDayItem);
+#include "unittest_calendayitem.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayitem/unittest_calendayitem.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,55 @@
+#
+#  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: calendaycontentwidget test project file
+#
+
+TEMPLATE = app
+TARGET = unittest_calendayitem
+
+MOC_DIR = moc
+
+CONFIG += qtestlib
+CONFIG += symbian_test
+CONFIG += hb
+				
+INCLUDEPATH += . \
+               ../../../inc/ \
+               ../../../../inc/ 
+
+DEPENDPATH  += . \
+               ../../../inc/ \
+               ../../../src/  
+
+# Input
+HEADERS +=	calendayitem.h \
+            calendaystatusstrip.h
+			
+
+SOURCES +=	unittest_calendayitem.cpp \
+			calendayitem.cpp \
+			calendaystatusstrip.cpp 
+
+symbian : {
+	TARGET.CAPABILITY = CAP_APPLICATION
+    MMP_RULES += "USERINCLUDE ."
+    
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+    
+    LIBS += -lagendainterface
+            
+    BLD_INF_RULES.prj_testexports += \
+        "./rom/unittest_calendayitem.iby        CORE_APP_LAYER_IBY_EXPORT_PATH(unittest_calendayitem.iby)"
+}
+
+# End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayitemview/calencontext.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,38 @@
+/*
+* 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:
+*
+*/
+
+#ifndef CALENCONTEXT_H
+#define CALENCONTEXT_H
+
+#include <QDateTime>
+#include "calendayinfo.h"
+
+class MCalenContext
+{
+    public:
+    MCalenContext() {}
+    
+    void setFocusDateAndTimeAndInstance( const QDateTime& focusDateTime,
+                                         const TCalenInstanceId& aInstanceId )
+    {
+        Q_UNUSED(focusDateTime);
+        Q_UNUSED(aInstanceId);
+    }
+    
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayitemview/calendaycontainer.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,211 @@
+/*
+ * 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:
+ *
+ */
+
+#ifndef CALENDAYCONTAINER_H
+#define CALENDAYCONTAINER_H
+
+//System includes
+#include <QDateTime>
+
+#include "../../../../../mw/hb/src/hbwidgets/itemviews/hbabstractitemcontainer_p.h"
+
+//User includes
+
+//Forward declarations
+#include "calendayinfo.h"
+
+class CalenDayContainer : public HbAbstractItemContainer
+{
+    Q_OBJECT
+
+public:
+    
+    /**
+     * Constructor. 
+     */
+    CalenDayContainer(QGraphicsItem *parent = 0)
+    {
+        Q_UNUSED(parent);
+    }
+
+    /**
+     * Destructor.
+     */
+    ~CalenDayContainer(){}
+
+    /**
+     * 
+     */
+    void itemAdded (int index, HbAbstractViewItem *item, bool animate)
+    {
+        Q_UNUSED(index);
+        Q_UNUSED(item);
+        Q_UNUSED(animate);
+    }
+    
+    /**
+     * 
+     */
+    void itemRemoved (HbAbstractViewItem *item, bool animate)
+    {
+        Q_UNUSED(item);
+        Q_UNUSED(animate);
+    }
+    
+    /**
+     * 
+     */
+    //void reset();
+    
+    /**
+     * 
+     */
+    void viewResized (const QSizeF &size)
+    {
+        Q_UNUSED(size);
+    }
+    
+    /**
+     * Sets day's info structer to the container.
+     * 
+     * @param dayInfo Day info.
+     */
+    void setDayInfo( CalenDayInfo* dayInfo )
+    {
+        Q_UNUSED(dayInfo);
+    }
+    
+public slots:
+
+    /**
+     * Slot handles layout switch.
+     * @param orientation Current device orientation
+     */
+    void orientationChanged(Qt::Orientation orientation)
+    {
+        Q_UNUSED(orientation);
+    }
+    
+protected:
+
+    /**
+     * 
+     */
+    HbAbstractViewItem * createDefaultPrototype() const{ return 0;}
+    
+    /**
+     * 
+     */
+   // void setItemModelIndex(HbAbstractViewItem *item, const QModelIndex &index);
+    
+    /**
+     * Updates geometry of a timed event.
+     */
+   // void updateTimedEventGeometry(HbAbstractViewItem *item, 
+   //                               const QModelIndex &index);
+    
+    /**
+     * Updates geometry of a all-day events	
+     */
+   // void updateAllDayEventGeometry(HbAbstractViewItem *item, 
+   //                               const QModelIndex &index);
+    
+    /**
+     * Structure with event layout values.
+     * 
+     * eventAreaX X value for event area start.
+     * eventAreaWidth The width of event area.
+     * eventMargin Margins between the multiple events.
+     * slotHeight Half hour slot's height.
+     * unitInPixels no. of pixels in 1un
+     */
+
+    /*struct LayoutValues {
+					LayoutValues()
+						:eventAreaX(0),
+						 eventAreaWidth(0),
+						 eventMargin(0),
+						 slotHeight(0),
+						 unitInPixels(0),
+						 maxColumns(0)
+						 {}
+						
+    	qreal eventAreaX;
+    	qreal eventAreaWidth;
+    	qreal eventMargin;
+    	qreal slotHeight;
+    	qreal unitInPixels;
+    	int maxColumns;
+    };
+    */
+    /**
+     * Gets event layout values.
+     * 
+     * @param layoutValues structure to be filled with layout data
+     */
+    //void getTimedEventLayoutValues(LayoutValues& layoutValues);
+    
+    
+    /**
+     *  creates absorbers which prevent touching to small items
+     *  (according to UI spec items smaller than ... are untouchable)
+     */
+    //void createTouchEventAbsorbers();
+    
+    /**
+     * 
+     */
+    //TouchEventAbsorber* crateAbsorberBetweenSlots(int startSlot, int endSlot);
+    
+private:
+    
+    //bool mGeometryUpdated;
+
+    //QDateTime mDateTime;
+    
+    /**
+     * Day event info.
+     * Not own.
+     */
+    //CalenDayInfo* mInfo;
+    
+   // LayoutValues mLayoutValues;
+    //QList<TouchEventAbsorber*> mAbsorbers;
+};
+
+
+
+class TouchEventAbsorber : public HbWidget
+    	{
+	Q_OBJECT
+    public:
+    	TouchEventAbsorber(QGraphicsItem *parent=0);
+    	~TouchEventAbsorber();
+    	
+    protected:
+        void gestureEvent(QGestureEvent *event);
+        
+#ifdef _DEBUG
+        void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
+				QWidget *widget);
+#endif
+        
+    	};
+
+#endif // CALENDAYCONTAINER_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayitemview/calendayinfo.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,214 @@
+/*
+ * 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:
+ *
+ */
+
+#ifndef  CALENDAYINFO_H
+#define  CALENDAYINFO_H
+
+#include <QtGlobal>
+#include "caleninstanceid.h"
+#include <QtGui>
+
+//from hb_calencommands.hrh
+
+enum TCalenCommandId
+    {
+    ECalenMonthView,
+    ECalenWeekView,
+    ECalenAgendaView,
+    ECalenDayView,
+    ECalenTodoEditor,
+    ECalenTodoEditorDone,
+    ECalenForwardsToDayView,
+    ECalenNextView,
+    ECalenPrevView,
+    ECalenSwitchView,
+    ECalenShowToolbar,
+    ECalenHideToolbar,
+    ECalenUpdateToolbar,
+    ECalenHidePreview,
+    ECalenShowPreview,
+    ECalenStartActiveStep,
+    ECalenGotoToday,
+    ECalenGotoDate,
+    ECalenEventView,
+    ECalenCmdPromptThenEdit,    
+    ECalenFasterAppExit,
+    ECalenShowNextDay,
+    ECalenShowPrevDay,
+    ECalenNewMeeting,
+    ECalenNewAnniv,
+    ECalenNewDayNote,
+    ECalenNewReminder,
+    ECalenNewMeetingRequest,
+    ECalenNewEntry, 
+    ECalenEditCurrentEntry,
+    ECalenEditSeries,
+    ECalenEditOccurrence,
+    ECalenEditEntryFromViewer,
+    ECalenViewCurrentEntry,
+    ECalenNotifyFocusChange,
+    ECalenCompleteTodo,
+    ECalenRestoreTodo,
+    ECalenSend,
+    ECalenDeleteCurrentEntry,
+    ECalenDeleteEntryWithoutQuery,
+    ECalenDeleteSeries,
+    ECalenDeleteCurrentOccurrence,
+    ECalenDeleteAllEntries,
+    ECalenDeleteEntriesBeforeDate,
+    ECalenCancelDelete,
+    ECalenDeleteEntryFromViewer,
+    ECalenShowSettings,
+    ECalenGetLocation,
+    ECalenShowLocation,
+    ECalenGetLocationAndSave,
+    ECalenMissedAlarmsView,
+    ECalenMissedEventView,
+    ECalenCmdClear,
+    ECalenCmdClearAll,                          
+    ECalenCmdGotoCalendar,
+    ECalenMissedAlarmsViewFromIdle,
+    ECalenMissedEventViewFromIdle,
+    ECalenLastCommand,
+    ECalenRegionalPluginTapEvent
+    };
+
+//////////////////end of hb_calencommands.hrh
+
+struct SCalenApptInfo
+    {
+    QModelIndex iIndex;
+    QDateTime iStartTime;
+    QDateTime iEndTime;
+    bool iAllDay;
+    TCalenInstanceId iId;
+//    AgendaEntry::Status iStatus;
+//    AgendaEntry::TReplicationStatus iReplicationStatus;
+ //   TBufC<KFSCalMaxDescriptionLength> iSummary;
+    TUint32 iColor;
+    };
+
+class CalenDayInfo
+{
+public:
+
+    enum TSlotsInHour
+        {
+        EOne = 1,
+        ETwo,
+        EThree,
+        EFour
+        };
+
+public:  // Constructors and destructor
+
+    /**
+     * C++ default constructor.
+     */
+    CalenDayInfo( TSlotsInHour aSlotsInHour ) {Q_UNUSED(aSlotsInHour);}
+    
+public:     
+
+    void Reset() {}
+
+    void InsertTimedEvent( const SCalenApptInfo& aItemInfo ) {Q_UNUSED(aItemInfo);}
+
+    //void InsertUntimedEvent( AgendaEntry::Type aType,
+    //                         const TCalenInstanceId& aId );
+
+    void InsertAlldayEvent( const SCalenApptInfo& aItemInfo ){Q_UNUSED(aItemInfo);}
+
+    //static bool IsAlldayEvent( QDateTime aStart, QDateTime aEnd );
+
+
+    //int SuggestedUntimedSlotPos();
+
+    //int NeededUntimedSlotCount();
+
+    //int UpdateUntimedPos( int aSlot = -1, int aUntimedCount = 0 );
+
+    //int FirstOccupiedSlot();
+
+    //int LastOccupiedSlot();
+
+    //int EarliestEndSlot();
+    //int LastStartSlot();
+
+
+    //int SlotIndexForStartTime( QDateTime aStartTime );
+
+    //int SlotIndexForEndTime( QDateTime aStartTime );
+
+    //void GetLocation( const SCalenApptInfo& aItemInfo,
+    //                  int& aStartSlot,
+    //                  int& aEndSlot,
+    //                  int& aColumnIndex,
+    //                  int& aColumns );
+
+    //int AlldayCount();
+
+    //int TodoCount();
+
+    //bool IsHourStartSlot( const int& aSlotIndex ) const;
+
+    //bool IsExtraSlot( const int& aSlotIndex ) const;
+
+    //int HourFromSlotIndex( const int& aSlotIndex ) const;
+
+    //int SlotIndexFromHour( int aHour );
+
+    //int RoundHourUp( int aSlot );
+
+    //int RoundHourDown( int aSlot );
+
+    //void GetSelectedSlot( int& aSlot, int& aRegion, int& aColumnIndex, int& aColumns );
+
+    //bool MoveSelection( TScrollDirection aDirection );
+
+    //void MoveSelectionInEvent( TScrollDirection aDirection );
+
+    //void UpdateSelectionInEvent();
+
+    //bool IsEventSelected() const;
+
+   // bool IsMultipleEventsSelected() const;
+
+    //bool IsAlldayEventSelected() const;
+
+    //TCalenInstanceId SelectedEvent();
+
+    //int SelectEvent( const TCalenInstanceId& aId );
+
+    //TCalenInstanceId UntimedEvent( int aIndex );
+
+    //const CalenTimedEventInfo& AlldayEvent( int aIndex );
+
+    //void SelectSlot( int aSlot );
+
+
+    //const QList<CalenTimeRegion>& RegionList() const;
+
+
+    //void GetEventIntervals( QList<CalenEventInterval>& aArray ) const;
+
+
+   // CalenSlotInterval SelectedInterval();
+    
+   // bool SetSelectionInRegion( int aRegion, int aColumn, int aSlot );
+};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayitemview/calendaymodel.h	Thu Jul 22 16:32:51 2010 +0100
@@ -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
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayitemview/calenservices.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,42 @@
+/*
+ * 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:
+ *
+ */
+
+#ifndef CALENSERVICES_H
+#define CALENSERVICES_H
+
+#include "calencontext.h"
+
+/*!
+ Mocked class MCalenServices
+ */
+class MCalenServices
+{
+public:
+    MCalenServices() {
+        
+    }
+    
+    ~MCalenServices() {
+        
+    }
+    
+    MCalenContext Context() {return MCalenContext();}
+    
+    bool IssueCommandL( quint32 aCommand  ) {Q_UNUSED(aCommand); return true;}
+};
+
+#endif // CALENSERVICES_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayitemview/hbinstance.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,96 @@
+/*
+* 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: Mocked classes for testing CalenDayUtils class
+*
+*/
+
+#ifndef  HBMAINWINDOW_H
+#define  HBMAINWINDOW_H
+
+#include <QObject>
+#include <QtGlobal>
+#include <QRectF>
+
+// Test variables
+extern QRectF gTestWindowRect;
+extern Qt::Orientation gTestOrientation;
+
+
+
+/*!
+ Mocked class HbMainWindow (simulating window in unittests)
+ */
+class HbMainWindow
+: public QObject
+{
+    Q_OBJECT
+public:
+    HbMainWindow(QObject *parent = 0) : QObject(parent){
+        Q_UNUSED(parent);
+    }
+    
+    ~HbMainWindow() {
+    }
+    
+    QRectF layoutRect() const {
+        return gTestWindowRect;
+    }
+    
+    Qt::Orientation orientation() const {
+        return gTestOrientation;
+    }
+signals:
+    void orientationChanged(Qt::Orientation);
+};
+
+#endif // HBMAINWINDOW_H
+
+#ifndef  HBINSTANCE_H
+#define  HBINSTANCE_H
+
+#include <QList>
+
+/*!
+ Mocked class HbInstance (simulating hbinstance in unittests)
+ */
+class HbInstance
+{
+public:
+    
+    static HbInstance *instance() {
+        return new HbInstance();
+    }
+    
+    QList<HbMainWindow *> allMainWindows() const {
+        return mMainWindows;
+    }
+    
+    HbInstance() {
+        HbMainWindow* window = new HbMainWindow();
+        mMainWindows.append(window);
+    }
+    
+    ~HbInstance() {
+        for (int i = 0; i < mMainWindows.count(); i++) {
+            delete mMainWindows[i];
+        }
+        mMainWindows.clear();
+    }
+    
+    QList<HbMainWindow *> mMainWindows;
+};
+
+#endif // HBINSTANCE_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayitemview/rom/unittest_calendayitemview.iby	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2006-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:   Image description file for test project
+*
+*/
+
+#ifndef UNITTEST_CALENDAYITEMVIEW_IBY
+#define UNITTEST_CALENDAYITEMVIEW_IBY
+
+S60_APP_EXE(unittest_calendayitemview)
+S60_APP_RESOURCE(unittest_calendayitemview)
+
+// Application registration file.
+data=DATAZ_\private\10003a3f\import\apps\unittest_calendayitemview_reg.rsc		\private\10003a3f\import\apps\unittest_calendayitemview_reg.rsc
+
+
+#endif		// UNITTEST_CALENDAYITEMVIEW_IBY
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayitemview/unittest_calendayitemview.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,114 @@
+/*
+ * 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:
+ *
+ */
+#include <QGraphicsItem>
+#include <hbmodeliterator.h>
+#include <QtTest/QtTest>
+
+#include "calenservices.h"
+#include "calendayitemview.h"
+
+// Test variables
+QRectF gTestWindowRect = QRectF(0, 0, 10, 20);
+Qt::Orientation gTestOrientation = Qt::Horizontal;
+
+class TestCalenItemView : public QObject
+{
+Q_OBJECT
+
+public:
+    TestCalenItemView();
+    virtual ~TestCalenItemView();
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+    void init();
+    void cleanup();
+
+    void testConstructors();
+private:
+    MCalenServices   mMCalenServices;
+
+};
+
+/*!
+ Constructor
+ */
+TestCalenItemView::TestCalenItemView()
+{
+
+}
+
+/*!
+ Destructor
+ */
+TestCalenItemView::~TestCalenItemView()
+{
+
+}
+
+/*!
+ Called before testcase
+ */
+void TestCalenItemView::initTestCase()
+{
+}
+
+/*!
+ Called after testcase
+ */
+void TestCalenItemView::cleanupTestCase()
+{
+
+}
+
+/*!
+ Called before every function
+ */
+void TestCalenItemView::init()
+{
+
+}
+
+/*!
+ Called after everyfunction
+ */
+void TestCalenItemView::cleanup()
+{
+
+}
+
+/*!
+ Test function for constructors
+ 1. Test if content widget is not initialized
+ 2. Test if content widget is correcty created
+ */
+void TestCalenItemView::testConstructors()
+{
+    //1)
+    CalenDayItemView *testItemView = 0;
+    QVERIFY(!testItemView);
+    
+    //2)
+    HbModelIterator *iterator = new HbModelIterator();
+    testItemView = new CalenDayItemView(mMCalenServices,iterator,0);
+    QVERIFY(testItemView);
+    delete testItemView;
+}
+
+QTEST_MAIN(TestCalenItemView);
+#include "unittest_calendayitemview.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayitemview/unittest_calendayitemview.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,68 @@
+#
+#  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: calendaycontentwidget test project file
+#
+
+TEMPLATE = app
+TARGET = unittest_calendayitemview
+
+MOC_DIR = moc
+
+CONFIG += qtestlib
+CONFIG += symbian_test
+CONFIG += hb
+				
+INCLUDEPATH += . \
+               ../../../inc/ \
+               ../../../src/  \
+               ./../../../../inc/ \
+               ./../../../../../inc/
+
+DEPENDPATH  += . \
+               ../../../inc/ \
+               ../../../src/  \
+               ./../../../../inc/ \
+               ./../../../../../inc/
+
+# Input
+HEADERS +=	calencontext.h \
+            calendayinfo.h \
+            calenservices.h \
+            CalenUid.h \
+            calendayitemview.h \
+            caleninstanceid.h \
+            calendaycontainer.h \
+            calendayutils.h \
+            hbinstance.h \
+            calendaymodel.h
+			
+
+SOURCES +=	unittest_calendayitemview.cpp \
+			calendayitemview.cpp \
+            calendayutils.cpp 
+
+symbian : {
+	TARGET.CAPABILITY = CAP_APPLICATION
+    MMP_RULES += "USERINCLUDE ."
+    
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+    
+        LIBS += -lagendainterface \
+            -lcalencommonutils
+            
+    BLD_INF_RULES.prj_testexports += \
+        "./rom/unittest_calendayitemview.iby        CORE_APP_LAYER_IBY_EXPORT_PATH(unittest_calendayitemview.iby)"
+}
+
+# End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendaymodel/calenservices.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,86 @@
+/*
+* 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 CalenDayModel class
+*
+*/
+
+#ifndef AGENDAUTIL_H
+#define AGENDAUTIL_H
+
+#include <agendaentry.h>
+
+/*!
+ Mocked class AgendaUtil
+ */
+class AgendaUtil
+{
+public:
+    enum FilterFlags {
+        IncludeAppointments = 0x01, 
+        IncludeReminders = 0x02,
+        IncludeEvents = 0x03
+    };
+
+public:
+    AgendaUtil() {
+
+    }
+
+    ~AgendaUtil() {
+
+    }
+    
+    QList<AgendaEntry> createEntryIdListForDay(const QDateTime &date,AgendaUtil::FilterFlags filter)
+    {
+        QList<AgendaEntry> agenda;
+        AgendaEntry entry;
+        agenda << entry;
+        return agenda;
+    }
+};
+
+#endif // AGENDAUTIL_H
+
+#ifndef CALENSERVICES_H
+#define CALENSERVICES_H
+
+/*!
+ Mocked class MCalenServices
+ */
+class MCalenServices
+{
+public:
+    MCalenServices() : mAgendaUtil(NULL) {
+        mAgendaUtil = new AgendaUtil();
+    }
+    
+    ~MCalenServices() {
+        if (mAgendaUtil) {
+            delete mAgendaUtil;
+            mAgendaUtil = NULL;
+        }
+    }
+    
+    AgendaUtil* agendaInterface() {
+        return mAgendaUtil;
+    }
+    
+public:
+    AgendaUtil* mAgendaUtil;
+};
+
+#endif // CALENSERVICES_H
+
+// End of file
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendaymodel/rom/unittest_calendaymodel.iby	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2006-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:   Image description file for test project
+*
+*/
+
+#ifndef UNITTEST_CALENDAYMODEL_IBY
+#define UNITTEST_CALENDAYMODEL_IBY
+
+S60_APP_EXE(unittest_calendaymodel)
+S60_APP_RESOURCE(unittest_calendaymodel)
+
+// Application registration file.
+data=DATAZ_\private\10003a3f\import\apps\unittest_calendaymodel_reg.rsc		\private\10003a3f\import\apps\unittest_calendaymodel_reg.rsc
+
+
+#endif		// UNITTEST_CALENDAYMODEL_IBY
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendaymodel/unittest_calendaymodel.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,118 @@
+/*
+ * 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: Test class for CalenDayModel
+ *
+ */
+#include <QtTest/QtTest>
+
+#include "calendaymodel.h"
+#include "calenservices.h"
+
+class TestCalenDayModel : public QObject
+{
+Q_OBJECT
+
+public:
+    TestCalenDayModel();
+    virtual ~TestCalenDayModel();
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+    void init();
+    void cleanup();
+
+    void testConstructors();
+
+private:
+    QDateTime mDateTime;
+    MCalenServices *mServices;
+    CalenDayModel *mModel;
+};
+
+/*!
+ Constructor
+ */
+TestCalenDayModel::TestCalenDayModel() :
+    mServices(NULL), mModel(NULL)
+{
+
+}
+
+/*!
+ Destructor
+ */
+TestCalenDayModel::~TestCalenDayModel()
+{
+
+}
+
+/*!
+ Called before testcase
+ */
+void TestCalenDayModel::initTestCase()
+{
+    mDateTime = QDateTime::currentDateTime();
+    mServices = new MCalenServices();
+}
+
+/*!
+ Called after testcase
+ */
+void TestCalenDayModel::cleanupTestCase()
+{
+    if (mServices) {
+        delete mServices;
+    }
+}
+
+/*!
+ Called before every function
+ */
+void TestCalenDayModel::init()
+{
+    mModel = new CalenDayModel(mDateTime, *mServices);
+}
+
+/*!
+ Called after everyfunction
+ */
+void TestCalenDayModel::cleanup()
+{
+    if (mModel) {
+        delete mModel;
+        mModel = NULL;
+    }
+}
+
+/*!
+ Test function for constructors
+ 1. Test if model is not initialized
+ 2. Test if model is correcty created
+ */
+void TestCalenDayModel::testConstructors()
+{
+    //1)
+    CalenDayModel *testModel = 0;
+    QVERIFY(!testModel);
+    
+    //2)
+    testModel = new CalenDayModel(mDateTime, *mServices);
+    QVERIFY(testModel);
+    
+    delete testModel;
+}
+
+QTEST_MAIN(TestCalenDayModel);
+#include "unittest_calendaymodel.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendaymodel/unittest_calendaymodel.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,51 @@
+#
+#  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: CalenDayModel test project file
+#
+
+TEMPLATE = app
+TARGET = unittest_calendaymodel
+
+MOC_DIR = moc
+
+CONFIG += qtestlib
+CONFIG += symbian_test
+CONFIG += hb
+				
+INCLUDEPATH += . \
+               ../../../inc/ \
+               ../../../../inc/ 
+
+DEPENDPATH  += . \
+               ../../../inc/ \
+               ../../../src/  
+
+# Input
+HEADERS +=	calendaymodel.h
+
+SOURCES +=	unittest_calendaymodel.cpp \
+			calendaymodel.cpp
+
+symbian : {
+	TARGET.CAPABILITY = CAP_APPLICATION
+    MMP_RULES += "USERINCLUDE ."
+    
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+    LIBS += -lagendainterface
+            
+    BLD_INF_RULES.prj_testexports += \
+        "./rom/unittest_calendaymodel.iby        CORE_APP_LAYER_IBY_EXPORT_PATH(unittest_calendaymodel.iby)"
+}
+
+# End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendaymodelmanager/calencontext.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,46 @@
+/*
+* 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 context, info on what's currently focused
+*
+*/
+
+
+#ifndef CALENCONTEXT_H
+#define CALENCONTEXT_H
+#include <QDateTime>
+
+// FORWARD DECLARATIONS
+class TCalenInstanceId;
+class QDateTime;
+
+// INCLUDES
+
+// CLASS DEFINITIONS
+/**
+ * The controller handles events from the rest of Calendar and delegates
+ * them to the appropriate place (i.e. the action ui classes).
+ */
+class MCalenContext
+    {
+public :
+    QDateTime focusDateAndTime()
+    	{
+			return QDateTime(QDate(2000, 10, 10));
+    	}
+		
+    };
+
+#endif // CALENCONTEXT_H
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendaymodelmanager/calendaymodel.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,70 @@
+/*
+* 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(services);
+							Q_UNUSED(parent);
+						}
+	
+    // from QAbstractListModel
+	int rowCount(const QModelIndex &parent = QModelIndex()) const{
+		Q_UNUSED(parent);
+		return 0;
+	}
+    QVariant data(const QModelIndex &index, int role) const{
+		Q_UNUSED(index);
+		Q_UNUSED(role);
+		return 0;
+    }
+    
+	void refreshModel(const QDateTime &date){
+		Q_UNUSED(date);
+	}
+	
+	QDateTime modelDate(){
+		return QDateTime(QDate(2000, 10, 10));
+	}
+};
+
+#endif //CALENDAYMODEL_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendaymodelmanager/calenservices.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,33 @@
+/*
+ * calenservices.h
+ *
+ *  Created on: Jun 21, 2010
+ *      Author: zabinpio
+ */
+
+#ifndef CALENSERVICES_H_
+#define CALENSERVICES_H_
+
+#include "calencontext.h"
+
+/*!
+ Mocked class MCalenServices
+ */
+class MCalenServices
+{
+public:
+    MCalenServices() {
+        
+    }
+    
+    MCalenContext& Context(){
+			return mContext;
+    	}
+    
+    ~MCalenServices() {
+        
+    }
+    
+    MCalenContext mContext;
+};
+#endif /* CALENSERVICES_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendaymodelmanager/rom/unittest_calendaymodelmanager.iby	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2006-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:   Image description file for test project
+*
+*/
+
+#ifndef UNITTEST_CALENDAYMODELMANAGER_IBY
+#define UNITTEST_CALENDAYMODELMANAGER_IBY
+
+S60_APP_EXE(unittest_calendaymodelmanager)
+S60_APP_RESOURCE(unittest_calendaymodelmanager)
+
+// Application registration file.
+data=DATAZ_\private\10003a3f\import\apps\unittest_calendaymodelmanager_reg.rsc		\private\10003a3f\import\apps\unittest_calendaymodelmanager_reg.rsc
+
+
+#endif		//UNITTEST_CALENDAYMODELMANAGER_IBY
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendaymodelmanager/unittest_calendaymodelmanager.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,119 @@
+/*
+ * 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: Test class for CalenDayContainerWidget
+ *
+ */
+#include <QtTest/QtTest>
+
+#include "calenservices.h"
+#include "calendaymodelmanager.h"
+
+class TestCalenDayModelManager : public QObject
+{
+Q_OBJECT
+
+public:
+    TestCalenDayModelManager();
+    virtual ~TestCalenDayModelManager();
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+    void init();
+    void cleanup();
+
+    void testConstructors();
+
+private:
+    CalenDayModelManager *mManager;
+};
+
+/*!
+ Constructor
+ */
+TestCalenDayModelManager::TestCalenDayModelManager() :
+mManager(NULL)
+{
+	
+}
+
+/*!
+ Destructor
+ */
+TestCalenDayModelManager::~TestCalenDayModelManager()
+{
+
+}
+
+/*!
+ Called before testcase
+ */
+void TestCalenDayModelManager::initTestCase()
+{
+}
+
+/*!
+ Called after testcase
+ */
+void TestCalenDayModelManager::cleanupTestCase()
+{
+
+}
+
+/*!
+ Called before every function
+ */
+void TestCalenDayModelManager::init()
+{
+	//mManager = new CalenDayModelManager();
+}
+
+/*!
+ Called after everyfunction
+ */
+void TestCalenDayModelManager::cleanup()
+{
+   // if (mManager) {
+   //     delete mManager;
+   //     mManager = NULL;
+   // }
+}
+
+/*!
+ Test function for constructors
+ 1. Test if container is not initialized
+ 2. Test if container is correcty created
+ */
+void TestCalenDayModelManager::testConstructors()
+{
+    //1)
+	MCalenServices services;
+
+    CalenDayModelManager *testManager = 0;
+    CalenDayModelManager *testManager2 = 0;
+    QVERIFY(!testManager);
+    QVERIFY(!testManager2);
+    
+    //2)
+    testManager = new CalenDayModelManager(services, false, 0);
+    testManager2 = new CalenDayModelManager(services, true, 0);
+    QVERIFY(testManager);
+    QVERIFY(testManager2);
+    
+    delete testManager;
+    delete testManager2;
+}
+
+QTEST_MAIN(TestCalenDayModelManager);
+#include "unittest_calendaymodelmanager.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendaymodelmanager/unittest_calendaymodelmanager.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,38 @@
+# 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: calendaycontentwidget test project file
+TEMPLATE = app
+TARGET = unittest_calendaymodelmanager
+MOC_DIR = moc
+CONFIG += qtestlib
+CONFIG += symbian_test
+CONFIG += hb
+INCLUDEPATH += . \
+    ../../../inc/
+DEPENDPATH += . \
+    ../../../inc/ \
+    ../../../src/
+
+# Input
+HEADERS += calencontext.h \
+			calendaymodel.h \
+			calenservices.h \ 
+			 calendaymodelmanager.h
+
+SOURCES += calendaymodelmanager.cpp \
+			unittest_calendaymodelmanager.cpp 
+
+symbian: { 
+    TARGET.CAPABILITY = CAP_APPLICATION
+    MMP_RULES += "USERINCLUDE ."
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+	BLD_INF_RULES.prj_testexports += \
+        "./rom/unittest_calendaymodelmanager.iby        CORE_APP_LAYER_IBY_EXPORT_PATH(unittest_calendaymodelmanager.iby)"
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendaystatusstrip/calendaystatusstriptest.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,37 @@
+/*
+ * 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:  Class needed by testing to have acces to private data memebers
+ *
+ */
+
+
+#ifndef CALENDAYSTATUSSTRIPTEST_H
+#define CALENDAYSTATUSSTRIPTEST_H
+
+#include "calenDaystatusstrip.h"
+
+class CalenDayStatusStripTest : public CalenDayStatusStrip
+{
+    
+    Q_OBJECT
+public:
+    CalenDayStatusStripTest(HbWidget *parent = 0)
+    : CalenDayStatusStrip(parent)
+    {
+        
+    }
+    friend class TestCalenStatusStrip;
+};
+
+#endif // CALENDAYSTATUSSTRIPTEST_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendaystatusstrip/rom/unittest_calendaystatusstrip.iby	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2006-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:   Image description file for test project
+*
+*/
+
+#ifndef UNITTEST_CALENDAYSTATUSSTRIP_IBY
+#define UNITTEST_CALENDAYSTATUSSTRIP_IBY
+
+S60_APP_EXE(unittest_calendaystatusstrip)
+S60_APP_RESOURCE(unittest_calendaystatusstrip)
+
+// Application registration file.
+data=DATAZ_\private\10003a3f\import\apps\unittest_calendaystatusstrip_reg.rsc		\private\10003a3f\import\apps\unittest_calendaystatusstrip_reg.rsc
+
+
+#endif		// UNITTEST_CALENDAYSTATUSSTRIP_IBY
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendaystatusstrip/unittest_calendaystatusstrip.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,368 @@
+/*
+ * 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: Test class for CalenDayContentWidget
+ *
+ */
+
+#include <QtTest/QtTest>
+#include <QGraphicsItem>
+
+#include "calendaystatusstriptest.h"
+
+#include <QPainter>
+#include <QImage>
+#include <QPair>
+
+const qreal WIDGET_WIDTH = 50;
+const qreal WIDGET_HEIGHT = 150;
+
+class TestCalenStatusStrip : public QObject
+{
+Q_OBJECT
+
+public:
+    TestCalenStatusStrip();
+    virtual ~TestCalenStatusStrip();
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+    void init();
+    void cleanup();
+
+    void testConstructors();
+    void testSetGetColor();
+    void testSetGetRange();
+    void testSetGetDrawingStyle_data();
+    void testSetGetDrawingStyle();
+    void testStartEndTime();
+    void testCreatingDiagonalLine();
+    void testCalculateStartEndTimePosition_data();
+    void testCalculateStartEndTimePosition();
+    void testCalculateMinuteHegiht();
+    void testPaint();
+
+private:
+    CalenDayStatusStripTest *mStatusStrip;
+};
+
+
+
+
+/*!
+ Constructor
+ */
+TestCalenStatusStrip::TestCalenStatusStrip() :
+   mStatusStrip(NULL)
+{
+
+}
+
+/*!
+ Destructor
+ */
+TestCalenStatusStrip::~TestCalenStatusStrip()
+{
+
+}
+
+/*!
+ Called before testcase
+ */
+void TestCalenStatusStrip::initTestCase()
+{
+}
+
+/*!
+ Called after testcase
+ */
+void TestCalenStatusStrip::cleanupTestCase()
+{
+
+}
+
+/*!
+ Called before every function
+ */
+void TestCalenStatusStrip::init()
+{
+    mStatusStrip = new CalenDayStatusStripTest();
+}
+
+/*!
+ Called after everyfunction
+ */
+void TestCalenStatusStrip::cleanup()
+{
+    if (mStatusStrip) {
+        delete mStatusStrip;
+        mStatusStrip = NULL;
+    }
+}
+
+/*!
+ Test function for constructors
+ 1. Test if content widget is not initialized
+ 2. Test if content widget is correcty created
+ */
+void TestCalenStatusStrip::testConstructors()
+{
+    //1)
+    CalenDayStatusStrip *testStatusStrip = 0;
+    QVERIFY(!testStatusStrip);
+    
+    //2)
+    testStatusStrip = new CalenDayStatusStrip();
+    QVERIFY(testStatusStrip);
+    delete testStatusStrip;
+}
+
+/*!
+   Test function for geting and setting color
+   1. Test setting red color
+   2. Test change color to blue
+ */
+void TestCalenStatusStrip::testSetGetColor()
+{
+    //1)
+    mStatusStrip->setColor(QColor(Qt::red));
+    QColor testColor = mStatusStrip->color();
+    QCOMPARE(QColor(Qt::red),testColor);
+    
+    //2)
+    mStatusStrip->setColor(QColor(Qt::blue));
+    testColor = mStatusStrip->color();
+    QCOMPARE(QColor(Qt::blue),testColor);
+}
+
+/*!
+   Test function for geting and setting range
+   1. Test setting 5px range
+   2. Test change range to 1px
+ */
+void TestCalenStatusStrip::testSetGetRange()
+{
+    //1)
+    mStatusStrip->setRange(5);
+    QCOMPARE((qreal)5,mStatusStrip->range());
+    
+    //2)
+    mStatusStrip->setRange(1);
+    QCOMPARE((qreal)1,mStatusStrip->range());
+}
+
+/*!
+   Preapre data for \sa testSetGetDrawingStyle
+   Add new enum \sa CalenDayStatusStrip::DrawingStyle
+   1)OnlyFrame
+   2)StripWithLines
+   3)Filled
+ */
+void TestCalenStatusStrip::testSetGetDrawingStyle_data()
+{
+    QTest::addColumn<CalenDayStatusStrip::DrawingStyle>("testedValue");    
+    QTest::addColumn<CalenDayStatusStrip::DrawingStyle>("testValue");
+    
+    QTest::newRow("OnlyFrame") << CalenDayStatusStrip::OnlyFrame 
+                               << CalenDayStatusStrip::OnlyFrame;
+    QTest::newRow("StripWithLines") << CalenDayStatusStrip::StripWithLines 
+                                    << CalenDayStatusStrip::StripWithLines; 
+    QTest::newRow("Filled") << CalenDayStatusStrip::Filled 
+                            << CalenDayStatusStrip::Filled;   
+}
+
+/*!
+   Test settting and getting drawing style on preapred data
+   
+   \sa testSetGetDrawingStyle_data
+ */
+void TestCalenStatusStrip::testSetGetDrawingStyle()
+{ 
+    //get data to test
+    QFETCH(CalenDayStatusStrip::DrawingStyle, testedValue); 
+    QFETCH(CalenDayStatusStrip::DrawingStyle, testValue); 
+    
+    //set data
+    mStatusStrip->setDrawingStyle(testedValue);
+    
+    //check data
+    QCOMPARE(mStatusStrip->drawingStyle(),testValue);
+}
+
+/*!
+   Test setting and getting start and end time of event
+   1)Set end and start of event
+   2)Change values
+ */
+void TestCalenStatusStrip::testStartEndTime()
+{
+    QPair<QTime, QTime> startEndTime;
+    startEndTime.first = QTime(12,12,12);
+    startEndTime.second = QTime(15,15,15);
+    
+    mStatusStrip->setStartEndTime(startEndTime.first,startEndTime.second);
+    
+    QCOMPARE(mStatusStrip->startEndTime().first,startEndTime.first);
+    QCOMPARE(mStatusStrip->startEndTime().second,startEndTime.second);
+    
+    startEndTime.first = QTime(1,1,1);
+    startEndTime.second = QTime(5,5,5);
+    
+    mStatusStrip->setStartEndTime(startEndTime.first,startEndTime.second);
+    
+    QCOMPARE(mStatusStrip->startEndTime().first,startEndTime.first);
+    QCOMPARE(mStatusStrip->startEndTime().second,startEndTime.second);
+}
+
+/*!
+   Test creating polygon to draw diagonal line on widget
+ */
+void TestCalenStatusStrip::testCreatingDiagonalLine()
+{
+    qreal dx = 10;
+    qreal dy = 1;
+    QPointF point(0,60);
+    QVector<QPointF> points;
+    
+    points << QPointF(0,60);
+    points << QPointF(0,59);
+    points << QPointF(10,58);
+    points << QPointF(10,59);
+    
+    QPolygonF testValue(points);
+    QPolygonF testedValue = mStatusStrip->diagonalLine(point,dx,dy);
+    
+    QCOMPARE(testedValue,testValue);
+}
+
+/*!
+   Prepare data for \sa testCalculateStartEndTimePosition
+   Add new start and end time of event.
+   1)Full time start and end
+   2)Exactly 30min time start and end
+   3)More than 30min time start and end
+   4)time start > 30m and end > 23h30m
+ */
+void TestCalenStatusStrip::testCalculateStartEndTimePosition_data()
+{
+    QTest::addColumn<QTime>("testedStartValue");
+    QTest::addColumn<QTime>("testedEndValue");
+    QTest::addColumn<QTime>("testStartValue");
+    QTest::addColumn<QTime>("testEndValue");
+    
+    QTest::newRow("Full time start and end") <<  QTime(10,00,00)
+                                             <<  QTime(11,00,00)
+                                             <<  QTime(10,00,00)
+                                             <<  QTime(11,00,00);
+    QTest::newRow("Exactly 30min time start and end") <<  QTime(10,30,00)
+                                             <<  QTime(11,30,00)
+                                             <<  QTime(10,30,00)
+                                             <<  QTime(11,30,00);
+    QTest::newRow("More than 30min time start and end") <<  QTime(10,40,00)
+                                             <<  QTime(12,35,00)
+                                             <<  QTime(10,30,00)
+                                             <<  QTime(13,00,00);
+    QTest::newRow("time start > 30m and end > 23h30m") <<  QTime(20,35,00)
+                                             <<  QTime(23,35,00)
+                                             <<  QTime(20,30,00)
+                                             <<  QTime(23,59,00);
+}
+
+/*!
+   Test calculating start and end time drawing of event bubble on prepared data
+   \sa testCalculateStartEndTimePosition_data
+ */
+void TestCalenStatusStrip::testCalculateStartEndTimePosition()
+{
+    //get prepared data
+    QFETCH(QTime, testedStartValue); 
+    QFETCH(QTime, testedEndValue); 
+    QFETCH(QTime, testStartValue); 
+    QFETCH(QTime, testEndValue); 
+    
+    //run function
+    QPair<QTime,QTime> testStartEndValue 
+                     = mStatusStrip->calculateStartEndPostion(testedStartValue,
+                                                               testedEndValue);
+    //check data
+    QCOMPARE(testStartEndValue.first,testStartValue);
+    QCOMPARE(testStartEndValue.second,testEndValue);
+}
+
+/*!
+   Test calculating minute height based on widget height and given time.
+   1)Calculate on given time
+   2)Change time of event
+ */
+void TestCalenStatusStrip::testCalculateMinuteHegiht()
+{   
+    qreal testedValue;
+    qreal testValue;
+    mStatusStrip->resize(WIDGET_WIDTH,WIDGET_HEIGHT);
+    
+    //1)
+    testedValue = mStatusStrip->calculateMinuteHeight(QTime(10,00,0),
+                                                      QTime(11,00,0));
+    testValue = WIDGET_HEIGHT / (qreal)60;
+    QCOMPARE(testedValue,testValue);
+    
+    //2)
+    testedValue = mStatusStrip->calculateMinuteHeight(QTime(10,00,0),
+                                                      QTime(11,30,0));
+    testValue = WIDGET_HEIGHT / (qreal)90;
+    QCOMPARE(testedValue,testValue);
+}
+
+
+/*!
+   Test drawing widget.
+   
+   If there is no SAVE_IMAGES macro defined it will only run this function.
+   If there is macro defined and c:\unittest folder created then image will be
+   created so user can see if it draw in good way.
+ */
+void TestCalenStatusStrip::testPaint()
+{      
+    //preapre data needed to draw on widget
+    mStatusStrip->setColor(QColor(Qt::red));
+    QPair<QTime, QTime> startEndTime;
+    startEndTime.first = QTime(10,20,0);
+    startEndTime.second = QTime(15,10,00);
+    
+    //set event time
+    mStatusStrip->setStartEndTime(startEndTime.first,startEndTime.second);
+    
+    //resize widget to be bigger than (0,0)
+    mStatusStrip->resize(WIDGET_WIDTH,WIDGET_HEIGHT);
+    QSize size = mStatusStrip->size().toSize();
+    
+    //create image that will simulate widget where painting should be done
+    QImage img(size,QImage::Format_RGB32);
+    //create painter which will be used to paint
+    QPainter painter(&img);
+    //fill image with white color to have better filings with look of "paper"
+    painter.fillRect(0,0,size.width(),size.height(),QColor(Qt::white));
+    //run paint
+    mStatusStrip->paint(&painter,0);
+    
+#ifdef SAVE_IMAGES
+    //save drawed image
+    img.save("c:/unittest/TestCalenStatusStrip_testPaint.jpg");
+    
+#endif
+
+}
+
+QTEST_MAIN(TestCalenStatusStrip);
+#include "unittest_calendaystatusstrip.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendaystatusstrip/unittest_calendaystatusstrip.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,53 @@
+#
+#  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: calendaycontentwidget test project file
+#
+
+TEMPLATE = app
+TARGET = unittest_calendaystatusstrip
+
+#uncoment it if want to get images from test where it is posible.
+#it need folder in c:/unittest path
+#DEFINES += SAVE_IMAGES  
+
+MOC_DIR = moc
+
+CONFIG += qtestlib
+CONFIG += symbian_test
+CONFIG += hb
+				
+INCLUDEPATH += . \
+               ../../../inc/ \
+
+DEPENDPATH  += . \
+               ../../../inc/ \
+               ../../../src/  
+
+# Input
+HEADERS +=	calendaystatusstrip.h \
+            calendaystatusstriptest.h 
+			
+
+SOURCES +=	unittest_calendaystatusstrip.cpp \
+			calendaystatusstrip.cpp 
+
+symbian : {
+	TARGET.CAPABILITY = CAP_APPLICATION
+    MMP_RULES += "USERINCLUDE ."
+            
+    BLD_INF_RULES.prj_testexports += \
+        "./rom/unittest_calendaystatusstrip.iby        CORE_APP_LAYER_IBY_EXPORT_PATH(unittest_calendaystatusstrip.iby)"
+}
+
+# End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayutils/hbinstance.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,85 @@
+/*
+* 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: Mocked classes for testing CalenDayUtils class
+*
+*/
+
+#ifndef  HBMAINWINDOW_H
+#define  HBMAINWINDOW_H
+
+// Test variables
+extern QRectF gTestWindowRect;
+extern Qt::Orientation gTestOrientation;
+
+/*!
+ Mocked class HbMainWindow (simulating window in unittests)
+ */
+class HbMainWindow
+{
+public:
+    HbMainWindow() {
+    }
+    
+    ~HbMainWindow() {
+    }
+    
+    QRectF layoutRect() const {
+        return gTestWindowRect;
+    }
+    
+    Qt::Orientation orientation() const {
+        return gTestOrientation;
+    }
+};
+
+#endif // HBMAINWINDOW_H
+
+#ifndef  HBINSTANCE_H
+#define  HBINSTANCE_H
+
+#include <QList>
+
+/*!
+ Mocked class HbInstance (simulating hbinstance in unittests)
+ */
+class HbInstance
+{
+public:
+    
+    static HbInstance *instance() {
+        return new HbInstance();
+    }
+    
+    QList<HbMainWindow *> allMainWindows() const {
+        return mMainWindows;
+    }
+    
+    HbInstance() {
+        HbMainWindow* window = new HbMainWindow();
+        mMainWindows.append(window);
+    }
+    
+    ~HbInstance() {
+        for (int i = 0; i < mMainWindows.count(); i++) {
+            delete mMainWindows[i];
+        }
+        mMainWindows.clear();
+    }
+    
+    QList<HbMainWindow *> mMainWindows;
+};
+
+#endif // HBINSTANCE_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayutils/rom/unittest_calendayutils.iby	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2006-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:   Image description file for test project
+*
+*/
+
+#ifndef UNITTEST_CALENDAYUTILS_IBY
+#define UNITTEST_CALENDAYUTILS_IBY
+
+S60_APP_EXE(unittest_calendayutils)
+S60_APP_RESOURCE(unittest_calendayutils)
+
+// Application registration file.
+data=DATAZ_\private\10003a3f\import\apps\unittest_calendayutils_reg.rsc		\private\10003a3f\import\apps\unittest_calendayutils_reg.rsc
+
+
+#endif		// UNITTEST_CALENDAYUTILS_IBY
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayutils/unittest_calendayutils.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,144 @@
+/*
+ * 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: Test class for CalenDayContentWidget
+ *
+ */
+#include <QGraphicsItem>
+#include <QtTest/QtTest>
+
+#include "calendayutils.h"
+#include "calendaycommonheaders.h"
+
+// Test variables
+QRectF gTestWindowRect = QRectF(0, 0, 10, 20);
+Qt::Orientation gTestOrientation = Qt::Horizontal;
+
+class TestCalenDayUtils : public QObject
+{
+Q_OBJECT
+
+public:
+    TestCalenDayUtils();
+    virtual ~TestCalenDayUtils();
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+    void init();
+    void cleanup();
+
+    void testConstructors();
+    void testHorizontalSwipe();
+    void testOrientation();
+
+private:
+    CalenDayUtils *mUtils;
+};
+
+/*!
+ Constructor
+ */
+TestCalenDayUtils::TestCalenDayUtils() :
+   mUtils(NULL)
+{
+
+}
+
+/*!
+ Destructor
+ */
+TestCalenDayUtils::~TestCalenDayUtils()
+{
+
+}
+
+/*!
+ Called before testcase
+ */
+void TestCalenDayUtils::initTestCase()
+{
+}
+
+/*!
+ Called after testcase
+ */
+void TestCalenDayUtils::cleanupTestCase()
+{
+
+}
+
+/*!
+ Called before every function
+ */
+void TestCalenDayUtils::init()
+{
+}
+
+/*!
+ Called after everyfunction
+ */
+void TestCalenDayUtils::cleanup()
+{
+}
+
+/*!
+ Test function for constructors
+ 1. Test if content widget is not initialized
+ 2. Test if content widget is correcty created
+ */
+void TestCalenDayUtils::testConstructors()
+{
+    //1)
+    CalenDayUtils *testUtils = 0;
+    QVERIFY(!testUtils);
+    
+    //2)
+    testUtils = CalenDayUtils::instance();
+    QVERIFY(testUtils);
+}
+
+/*!
+   Test function for checking if swipe is horizontal or not
+   1)test Horizontal swipe
+   2)test no horizontal swipe
+ */
+void TestCalenDayUtils::testHorizontalSwipe()
+{
+    //1)
+    QCOMPARE(CalenDayUtils::instance()->isHorizontalSwipe(KCalenSwipeAngle-5), 
+        true);
+    
+    //2)
+    QCOMPARE(CalenDayUtils::instance()->isHorizontalSwipe(KCalenSwipeAngle+5),
+        false);
+}
+
+/*!
+   Test function for getting main window's orientation
+   1)test if horizontal orientation is returned
+   2)test if vertical orientation is returned
+ */
+void TestCalenDayUtils::testOrientation()
+{
+    //1)
+    gTestOrientation = Qt::Horizontal;
+    QCOMPARE(CalenDayUtils::instance()->orientation(), Qt::Horizontal);
+    
+    //2)
+    gTestOrientation = Qt::Vertical;
+    QCOMPARE(CalenDayUtils::instance()->orientation(), Qt::Vertical);
+}
+
+QTEST_MAIN(TestCalenDayUtils);
+#include "unittest_calendayutils.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayutils/unittest_calendayutils.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,58 @@
+#
+#  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: calendaycontentwidget test project file
+#
+
+TEMPLATE = app
+TARGET = unittest_calendayutils
+
+MOC_DIR = moc
+
+CONFIG += qtestlib
+CONFIG += symbian_test
+CONFIG += hb
+				
+INCLUDEPATH += . \
+               ../../../inc/ \
+               ./../../../../inc/ \
+               ./../../../../../inc/
+
+DEPENDPATH  += . \
+               ../../../inc/ \
+               ../../../src/ \
+               ./../../../../inc/ \
+               ./../../../../../inc/
+
+# Input
+HEADERS +=	calendayutils.h \
+            calendaycommonheaders.h
+			
+
+SOURCES +=	unittest_calendayutils.cpp \
+			calendayutils.cpp 
+
+symbian : {
+	TARGET.CAPABILITY = CAP_APPLICATION
+    MMP_RULES += "USERINCLUDE ."
+            
+    BLD_INF_RULES.prj_testexports += \
+        "./rom/unittest_calendayutils.iby        CORE_APP_LAYER_IBY_EXPORT_PATH(unittest_calendayutils.iby)"
+        
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+        
+    LIBS += -lagendainterface \
+            -lcalencommonutils
+}
+
+# End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/CalenUid.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) 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:  UIDS used by the S60 Calendar
+*
+*/
+
+
+#ifndef CALENUID_H
+#define CALENUID_H
+
+// UID of the S60 Calendar application
+const TUid KUidCalendar         = { 0x10005901 };
+
+// UIDS of the S60 Calendar native views
+const TInt KCalenMonthViewUidValue        = 0x00000000 ;
+const TInt KCalenAgendaViewUidValue         = 0x00000002;
+const TInt KCalenEventViewUidValue   	  = 0x00000003;
+const TInt KCalenLandscapeDayViewUidValue = 0x00000004;
+const TInt KCalenTodoEditorViewUidValue         = 0x00000005;
+const TInt KCalenSettingsViewUidValue         = 0x00000006;
+
+
+const TUid KUidCalenMonthView        = { KCalenMonthViewUidValue };
+const TUid KUidCalenAgendaView      = { KCalenAgendaViewUidValue };
+const TUid KCalenTodoEditorView      = { KCalenTodoEditorViewUidValue };
+const TUid KUidCalenEventView        = { KCalenEventViewUidValue };
+const TUid KUidCalenLandscapeDayView = { KCalenLandscapeDayViewUidValue };
+const TUid KUidCalenSettingsView = { KCalenSettingsViewUidValue };
+
+const TUid KCalenChineseImplUid = {0x2002EA3D};
+
+#endif // CALENUID_H
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/CalendarPrivateCRKeys.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,38 @@
+/*
+* 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 keys used by application.
+*
+*
+*/
+
+#ifndef CALENDARPRIVATECRKEYS_H
+#define CALENDARPRIVATECRKEYS_H
+
+#include <calendardomaincrkeys.h>
+
+/**
+* Defines whether week number must be shown in month view of the calendar.
+* Default value: 0
+**/
+const long int KCalendarShowWeekNum = 0x00000000;
+
+/**
+* Defines whether regional information must be shown in the Calendar.
+* Default value: 1
+*/
+const long int KCalendarShowRegionalInfo = 0x00000002;
+
+#endif  // CALENDARPRIVATECRKEYS_H
+
+// End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calencontext.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,59 @@
+/*
+ * 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 context, info on what's currently focused
+ *
+ */
+
+#ifndef CALENCONTEXT_H
+#define CALENCONTEXT_H
+#include <QDateTime>
+
+// FORWARD DECLARATIONS
+class TCalenInstanceId;
+class QDateTime;
+
+// INCLUDES
+
+// CLASS DEFINITIONS
+/**
+ * The controller handles events from the rest of Calendar and delegates
+ * them to the appropriate place (i.e. the action ui classes).
+ */
+class MCalenContext
+	{
+public:
+	QDateTime focusDateAndTime()
+		{
+		return QDateTime(QDate(2000, 10, 10));
+		}
+
+	void setFocusDate(const QDateTime& focusDateTime)
+		{
+		Q_UNUSED(focusDateTime);
+		}
+
+	void setFocusDateAndTime(const QDateTime& focusDateTime)
+		{
+		Q_UNUSED(focusDateTime);
+		}
+
+	QDateTime defaultCalTimeForViewsL()
+		{
+		return QDateTime(QDate(2000, 10, 10));
+		}
+
+	};
+
+#endif // CALENCONTEXT_H
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calendateutils.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,188 @@
+/*
+ * 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calendaycontentscrollarea.h	Thu Jul 22 16:32:51 2010 +0100
@@ -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:  CalenDayContentScrollArea class definition.
+ *
+ */
+
+#ifndef CALENDAYCONTENTSCROLLAREA_H_
+#define CALENDAYCONTENTSCROLLAREA_H_
+
+// System includes
+#include <hbscrollarea.h>
+
+#include "calendaycommonheaders.h"
+
+// Class declaration
+class CalenDayContentScrollArea : public HbScrollArea
+	{
+Q_OBJECT
+
+public:
+	CalenDayContentScrollArea(QGraphicsItem *parent = 0)
+		{
+		Q_UNUSED(parent);
+		}
+	virtual ~CalenDayContentScrollArea()
+		{
+		}
+
+	signals:
+	void scrollAreaMoveStarted(CalenScrollDirection scrollTo);
+	void scrollAreaMoveFinished(CalenScrollDirection scrollTo);
+
+public slots:
+	void scrollToMiddleWidget()
+		{
+		}
+
+protected:
+	bool scrollByAmount(const QPointF &delta)
+		{
+		Q_UNUSED(delta);
+		return false;
+		}
+
+	void gestureEvent(QGestureEvent *event)
+		{
+		Q_UNUSED(event);
+		}
+	bool eventFilter(QObject *obj, QEvent *event)
+		{
+		Q_UNUSED(obj);Q_UNUSED(event);
+		return false;
+		}
+	bool event(QEvent *e)
+		{
+		Q_UNUSED(e);
+		return false;
+		}
+	};
+
+#endif /* CALENDAYCONTENTSCROLLAREA_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calendaycontentwidget.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,86 @@
+/*
+ * 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/calendayhourscrollarea.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,63 @@
+/*
+ * 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:  CalenDayHourScrollArea class definition.
+ *
+ */
+
+#ifndef CALENDAYHOURSCROLLAREA_H_
+#define CALENDAYHOURSCROLLAREA_H_
+
+// System includes
+#include <hbscrollarea.h>
+#include <QDateTime>
+
+// User includes
+#include "calendaycommonheaders.h"
+
+// Class declaration
+class CalenDayHourScrollArea : public HbScrollArea
+	{
+Q_OBJECT
+
+public:
+	CalenDayHourScrollArea(QGraphicsItem *parent = 0)
+		{
+		Q_UNUSED(parent);
+		}
+	virtual ~CalenDayHourScrollArea()
+		{
+		}
+	void setDateTime(const QDateTime &dateTime)
+		{
+		Q_UNUSED(dateTime);
+		}
+	QDateTime dateTime()
+		{
+		return QDateTime();
+		}
+
+	void scrollToHour(int hour)
+		{
+		Q_UNUSED(hour);
+		}
+
+public slots:
+	void scrollVertically(const QPointF &newPosition)
+		{
+		Q_UNUSED(newPosition);
+		}
+
+	};
+
+#endif /* CALENDAYHOURSCROLLAREA_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calendaymodelmanager.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,120 @@
+/*
+ * 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: Model manager holds models for three day views
+ *
+ */
+#ifndef CALENDAYMODELMANAGER_H
+#define CALENDAYMODELMANAGER_H
+
+#include <QObject>
+#include <QMap>
+#include <QDateTime>
+
+#include "calendaycommonheaders.h"
+#include <QAbstractListModel>
+class QAbstractItemModel;
+class MCalenServices;
+class CalenDayModel;
+
+/*!
+ 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);
+    }
+};
+
+class CalenDayModelManager : public QObject
+	{
+Q_OBJECT
+
+public:
+	enum ModelDay
+		{
+		PreviousDay = 0, CurrentDay = 1, NextDay = 2, NumberOfDays
+		};
+
+public:
+	CalenDayModelManager(MCalenServices &services, bool emptyModels, QObject *parent = 0) :
+		mServices(services)
+		{
+		Q_UNUSED(emptyModels);
+		Q_UNUSED(parent);
+		}
+	~CalenDayModelManager()
+		{
+		}
+
+	QAbstractItemModel &getModel(CalenDayModelManager::ModelDay day)
+		{
+		Q_UNUSED(day);
+		model = new TestAbstractListModel();
+		return *model;
+		}
+
+	void refreshAllModels()
+		{
+		}
+	void refreshSingleModel(CalenDayModelManager::ModelDay day)
+		{
+		Q_UNUSED(day);
+		}
+	MCalenServices &getServices()
+		{
+		return mServices;
+		}
+
+public slots:
+	void viewsScrollingFinished(CalenScrollDirection scrollTo)
+		{
+		Q_UNUSED(scrollTo);
+		}
+
+private:
+	void createAllModels()
+		{
+		}
+	void moveBackward()
+		{
+		}
+	void moveForeward()
+		{
+		}
+
+private:
+	QMap<ModelDay, CalenDayModel*> mModels;
+	MCalenServices &mServices;
+	QDateTime mCurrentDayTime;
+	TestAbstractListModel* model;
+	};
+
+#endif//CALENDAYMODELMANAGER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calendayutils.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,70 @@
+/*
+ * 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 1;
+		}
+
+	HbMainWindow* mainWindow()
+		{
+		return 0;
+		}
+
+	bool isHorizontalSwipe(qreal angle)
+		{
+		Q_UNUSED(angle);
+		return false;
+		}
+
+protected:
+	CalenDayUtils()
+		{
+		}
+	};
+
+#endif /* CALENDAYUTILS_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calendocloader.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,52 @@
+/*
+* Copyright (c) 2008-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:  Class declaration for CalenDocLoader.
+ *
+*/
+
+
+#ifndef CALENDOCLOADER_H
+#define CALENDOCLOADER_H
+
+// system includes
+#include <hbdocumentloader.h>
+
+// forward declaration
+class CCalenController;
+
+// Class declaration
+/**
+ * @class  CalenDocLoader
+ * @brief The loader class for application
+ * Inherits from HbDocumentLoader.
+ */
+class CalenDocLoader : public HbDocumentLoader
+{
+public:
+	
+	CalenDocLoader(CCalenController &controller) : mController(controller){}
+	~CalenDocLoader(){}
+	
+protected:
+	
+	virtual QObject *createObject(const QString &type, const QString &name){Q_UNUSED(type); Q_UNUSED(name); return 0;}
+	
+private:
+	
+	CCalenController &mController;
+};
+
+#endif // CALENDOCLOADER_H
+
+// End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calennativeview.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,92 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calennotificationhandler.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,83 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calenpluginlabel.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,43 @@
+/*
+* 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:  CalenPluginLabel class definition.
+*
+*/
+
+#ifndef CALENPLUGINLABEL_H
+#define CALENPLUGINLABEL_H
+
+// System includes
+#include <hblabel.h>
+
+class MCalenServices;
+class CalenPluginLabel : public HbLabel
+{
+	Q_OBJECT
+
+public:
+	Q_DECL_EXPORT CalenPluginLabel(MCalenServices &services, QGraphicsItem *parent = 0) : mServices(services){Q_UNUSED(parent);}
+	Q_DECL_EXPORT ~CalenPluginLabel(){}
+
+protected:
+	void gestureEvent(QGestureEvent *event){Q_UNUSED(event);}
+
+	
+private:
+	MCalenServices	&mServices;
+};
+	
+#endif /* CALENPLUGINLABEL_H */
+
+// End of file  --Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calenservices.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,39 @@
+/*
+ * calenservices.h
+ *
+ *  Created on: Jun 21, 2010
+ *      Author: zabinpio
+ */
+
+#ifndef CALENSERVICES_H_
+#define CALENSERVICES_H_
+
+#include "calencontext.h"
+
+/*!
+ Mocked class MCalenServices
+ */
+class AgendaUtil;
+
+class MCalenServices
+{
+public:
+    MCalenServices() {
+        
+    }
+    
+    MCalenContext& Context(){
+			return mContext;
+    	}
+    
+    int getFirstView(){ return 0;}
+    TBool IssueCommandL( TInt aCommand  ){ Q_UNUSED(aCommand); return EFalse;}
+    AgendaUtil* agendaInterface() {return 0;}
+    
+    ~MCalenServices() {
+        
+    }
+    
+    MCalenContext mContext;
+};
+#endif /* CALENSERVICES_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calenview.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,49 @@
+/*
+* 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:  Baseclass for creating customised views
+ *
+*/
+
+#ifndef CALENVIEW_H
+#define CALENVIEW_H
+
+// INCLUDES
+#include <hbview.h>
+
+
+/**
+ * CCalenView is the base class for
+ * creating customised calendar views.
+ */
+class  CalenView  : public HbView
+    {
+    public:  // Enumerations
+        enum TNextPopulationStep
+            {
+            EKeepGoing,
+            EWaitForInstanceView,
+            EWaitForEntryView,
+            EDone
+            };
+
+    public:  // New functions
+        
+        virtual TNextPopulationStep ActiveStepL(){return EDone;}
+        virtual void CancelPopulation(){}
+        
+    };
+
+#endif  // CALENVIEW_H
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/hb_calencommands.hrh	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,102 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/hbeffect.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,183 @@
+/****************************************************************************
+ **
+ ** Copyright (C) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
+ ** All rights reserved.
+ ** Contact: Nokia Corporation (developer.feedback@nokia.com)
+ **
+ ** This file is part of the HbCore module of the UI Extensions for Mobile.
+ **
+ ** GNU Lesser General Public License Usage
+ ** This file may be used under the terms of the GNU Lesser General Public
+ ** License version 2.1 as published by the Free Software Foundation and
+ ** appearing in the file LICENSE.LGPL included in the packaging of this file.
+ ** Please review the following information to ensure the GNU Lesser General
+ ** Public License version 2.1 requirements will be met:
+ ** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+ **
+ ** In addition, as a special exception, Nokia gives you certain additional
+ ** rights.  These rights are described in the Nokia Qt LGPL Exception
+ ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+ **
+ ** If you have questions regarding the use of this file, please contact
+ ** Nokia at developer.feedback@nokia.com.
+ **
+ ****************************************************************************/
+
+#ifndef HBEFFECT_H
+#define HBEFFECT_H
+
+#include <hbglobal.h>
+#include <hbnamespace.h>
+#include <QRectF>
+#include <QStringList>
+
+QT_BEGIN_NAMESPACE
+class QGraphicsItem;
+class QVariant;
+QT_END_NAMESPACE
+
+class HbEffect
+	{
+
+public:
+
+	struct EffectStatus
+		{
+		QGraphicsItem *item;
+		QString effectEvent;
+		Hb::EffectEvent reason;
+		QVariant userData;
+		};
+
+	static bool start(QGraphicsItem *item, const QString &itemType,
+			const QString &effectEvent, QObject *receiver = 0,
+			const char *member = 0, const QVariant &userData = QVariant(),
+			const QRectF &extRect = QRectF())
+		{
+		Q_UNUSED(item);
+		Q_UNUSED(itemType);
+		Q_UNUSED(effectEvent);
+		Q_UNUSED(receiver);
+		Q_UNUSED(member);
+		Q_UNUSED(userData);
+		Q_UNUSED(extRect);
+		return false;
+		}
+
+	static bool start(QGraphicsItem *item, const QString &effectEvent,
+			QObject *receiver = 0, const char *member = 0,
+			const QVariant &userData = QVariant(), const QRectF &extRect =
+					QRectF())
+		{
+		Q_UNUSED(item);
+		Q_UNUSED(effectEvent);
+		Q_UNUSED(receiver);
+		Q_UNUSED(member);
+		Q_UNUSED(userData);
+		Q_UNUSED(extRect);
+		return false;
+		}
+
+	static bool start(const QList<QGraphicsItem *> &items,
+			const QString &itemType, const QString &effectEvent,
+			QObject *receiver = 0, const char *member = 0,
+			const QVariant &userData = QVariant())
+		{
+		Q_UNUSED(items);
+		Q_UNUSED(itemType);
+		Q_UNUSED(effectEvent);
+		Q_UNUSED(receiver);
+		Q_UNUSED(member);
+		Q_UNUSED(userData);
+		return false;
+		}
+
+	static bool effectRunning(QGraphicsItem *item, const QString &effectEvent =
+			QString())
+		{
+		Q_UNUSED(item);
+		Q_UNUSED(effectEvent);
+		return false;
+		}
+
+	static bool cancel(QGraphicsItem *item, const QString &effectEvent =
+			QString(), bool clearEffect = false, bool sendCallback = true,
+			bool itemIsValid = true)
+		{
+		Q_UNUSED(item);
+		Q_UNUSED(effectEvent);
+		Q_UNUSED(clearEffect);
+		Q_UNUSED(sendCallback);
+		Q_UNUSED(itemIsValid);
+		return false;
+		}
+
+	static bool add(const QString &itemType, const QString &filePath,
+			const QString &effectEvent = QString())
+		{
+		Q_UNUSED(itemType);
+		Q_UNUSED(filePath);
+		Q_UNUSED(effectEvent);
+		return false;
+		}
+	static bool add(const QStringList &itemType, const QStringList &filePath,
+			const QStringList &effectEvent = QStringList())
+		{
+		Q_UNUSED(itemType);
+		Q_UNUSED(filePath);
+		Q_UNUSED(effectEvent);
+		return false;
+		}
+
+	static bool add(QGraphicsItem *item, const QString &filePath,
+			const QString &effectEvent = QString())
+		{
+		Q_UNUSED(item);
+		Q_UNUSED(filePath);
+		Q_UNUSED(effectEvent);
+		return false;
+		}
+	static bool add(QGraphicsItem *item, const QStringList &filePath,
+			const QStringList &effectEvent = QStringList())
+		{
+		Q_UNUSED(item);
+		Q_UNUSED(filePath);
+		Q_UNUSED(effectEvent);
+		return false;
+		}
+
+	static bool remove(const QString &itemType, const QString &filePath,
+			const QString &effectEvent = QString())
+		{
+		Q_UNUSED(itemType);
+		Q_UNUSED(filePath);
+		Q_UNUSED(effectEvent);
+		return false;
+		}
+	static bool remove(QGraphicsItem *item, const QString &filePath,
+			const QString &effectEvent = QString())
+		{
+		Q_UNUSED(item);
+		Q_UNUSED(filePath);
+		Q_UNUSED(effectEvent);
+		return false;
+		}
+	static bool remove(QGraphicsItem *item)
+		{
+		Q_UNUSED(item);
+		return false;
+		}
+
+	static void enable(QGraphicsItem *item)
+		{
+		Q_UNUSED(item);
+		}
+	static void disable(QGraphicsItem *item)
+		{
+		Q_UNUSED(item);
+		}
+	};
+
+Q_DECLARE_METATYPE(HbEffect::EffectStatus)
+
+#endif // HBEFFECT_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/rom/unittest_calendayview.iby	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2006-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:   Image description file for test project
+*
+*/
+
+#ifndef UNITTEST_CALENDAYITEM_IBY
+#define UNITTEST_CALENDAYITEM_IBY
+
+S60_APP_EXE(unittest_calendayitem)
+S60_APP_RESOURCE(unittest_calendayitem)
+
+// Application registration file.
+data=DATAZ_\private\10003a3f\import\apps\unittest_calendayview_reg.rsc		\private\10003a3f\import\apps\unittest_calendayview_reg.rsc
+
+
+#endif		// UNITTEST_CALENDAYITEM_IBY
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/unittest_calendayview.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,129 @@
+/*
+ * 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: Test class for CalenDayContainerWidget
+ *
+ */
+#include <QtTest/QtTest>
+
+#include "calenservices.h"
+#include "calendateutils.h"
+#include "calendaymodelmanager.h"
+#include "calendayview.h"
+
+class TestCalenDayView : public QObject
+{
+Q_OBJECT
+
+public:
+    TestCalenDayView();
+    virtual ~TestCalenDayView();
+
+private slots:
+    void initTestCase();
+    void cleanupTestCase();
+    void init();
+    void cleanup();
+
+    void testConstructors();
+
+private:
+    CalenDayView *mView;
+};
+
+/*!
+ Constructor
+ */
+TestCalenDayView::TestCalenDayView() :
+	mView(NULL)
+{
+
+}
+
+/*!
+ Destructor
+ */
+TestCalenDayView::~TestCalenDayView()
+{
+
+}
+
+/*!
+ Called before testcase
+ */
+void TestCalenDayView::initTestCase()
+{
+}
+
+/*!
+ Called after testcase
+ */
+void TestCalenDayView::cleanupTestCase()
+{
+
+}
+
+/*!
+ Called before every function
+ */
+void TestCalenDayView::init()
+{
+
+}
+
+/*!
+ Called after everyfunction
+ */
+void TestCalenDayView::cleanup()
+{
+
+}
+
+void TestCalenDayView::testConstructors()
+{
+	MCalenServices services;
+    //1)
+    CalenDayView *testView = 0;
+    QVERIFY(!testView);
+    
+    //2)
+    testView = new CalenDayView(services);
+    QVERIFY(testView);
+    
+    delete testView;
+}
+
+int main(int argc, char ** argv)
+
+{
+
+argc++;
+
+argc++;
+
+char * argvNew[3];
+
+argvNew[0]= argv[0];
+
+argvNew[1]= const_cast<char*>("-o");
+
+argvNew[2]= const_cast<char*>("c:\\unittest\\TestCalenDayView.txt");//set place where //output chould be
+
+QApplication app(argc, argvNew);
+
+TestCalenDayView testFile;//file with class containing unit tests
+
+QTest::qExec(&testFile,argc,argvNew);
+
+}
+#include "unittest_calendayview.moc"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayview/unittest_calendayview.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,67 @@
+#
+#  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: calendaycontentwidget test project file
+#
+
+TEMPLATE = app
+TARGET = unittest_calendayview
+
+MOC_DIR = moc
+
+CONFIG += qtestlib
+CONFIG += symbian_test
+CONFIG += hb
+				
+INCLUDEPATH += . \
+               ../../../inc/ \
+
+DEPENDPATH  += . \
+               ../../../inc/ \
+               ../../../src/ \
+
+# Input
+HEADERS +=	hbeffect.h \
+			calendateutils.h \
+			calenservices.h \
+			calencontext.h \
+			calennotificationhandler.h \
+			calenview.h \
+			calennativeview.h \
+			hb_calencommands.hrh \
+			calendocloader.h \
+			calendarcrkeys.h \
+			calenuid.h \
+			calenpluginlabel.h \
+			calendaymodelmanager.h \
+			calendaycontentwidget.h \
+			calendaycontentscrollarea.h \
+			calendayhourscrollarea.h \
+			calendayutils.h \
+			calendateutils.h \
+			calendayview.h
+
+SOURCES +=	unittest_calendayview.cpp \
+			calendayview.cpp 
+
+symbian : {
+	TARGET.CAPABILITY = CAP_APPLICATION
+    MMP_RULES += "USERINCLUDE ."
+    
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+    
+        LIBS += -lagendainterface \
+    		-lxqsettingsmanager
+}
+
+# End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittests.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,35 @@
+#
+#  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: calendayview project file for all unittests
+#
+
+TEMPLATE = subdirs
+
+SUBDIRS =  unittest_calendaycontentwidget \
+           unittest_calendaystatusstrip \
+           unittest_calendayutils \
+           unittest_calendayitem \
+           unittest_calendayhourelement \
+           unittest_calendayhourscrollarea \
+           unittest_calendayeventspane \
+           unittest_calendayinfo \
+           unittest_calendaycontainer \
+           unittest_calendaymodel \
+	   unittest_calendayitemview \
+	   unittest_calendaymodelmanager \
+	   unittest_calendayview
+           
+CONFIG += symbian_test
+
+# End of file	--Don't remove this.
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/eabi/calenviewsu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,215 @@
+EXPORTS
+	_ZN12CalenDayView12doPopulationEv @ 1 NONAME
+	_ZN12CalenDayView9setupViewEP14CalenDocLoader @ 2 NONAME
+	_ZN12CalenDayViewC1ER14MCalenServices @ 3 NONAME
+	_ZN12CalenDayViewC2ER14MCalenServices @ 4 NONAME
+	_ZN12CalenDayViewD0Ev @ 5 NONAME
+	_ZN12CalenDayViewD1Ev @ 6 NONAME
+	_ZN12CalenDayViewD2Ev @ 7 NONAME
+	_ZN14CalenMonthGrid10appendRowsEv @ 8 NONAME
+	_ZN14CalenMonthGrid11downGestureEv @ 9 NONAME
+	_ZN14CalenMonthGrid11prependRowsEv @ 10 NONAME
+	_ZN14CalenMonthGrid11qt_metacallEN11QMetaObject4CallEiPPv @ 11 NONAME
+	_ZN14CalenMonthGrid11qt_metacastEPKc @ 12 NONAME
+	_ZN14CalenMonthGrid12gestureEventEP13QGestureEvent @ 13 NONAME
+	_ZN14CalenMonthGrid13itemActivatedERK11QModelIndex @ 14 NONAME
+	_ZN14CalenMonthGrid14setActiveDatesE5QDate @ 15 NONAME
+	_ZN14CalenMonthGrid14setCurrentIdexEi @ 16 NONAME
+	_ZN14CalenMonthGrid15getCurrentIndexEv @ 17 NONAME
+	_ZN14CalenMonthGrid15mousePressEventEP24QGraphicsSceneMouseEvent @ 18 NONAME
+	_ZN14CalenMonthGrid16staticMetaObjectE @ 19 NONAME DATA 16
+	_ZN14CalenMonthGrid17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 20 NONAME
+	_ZN14CalenMonthGrid17scrollingFinishedEv @ 21 NONAME
+	_ZN14CalenMonthGrid18orientationChangedEN2Qt11OrientationE @ 22 NONAME
+	_ZN14CalenMonthGrid19getStaticMetaObjectEv @ 23 NONAME
+	_ZN14CalenMonthGrid19handleAppendingRowsER5QListI14CalenMonthDataE @ 24 NONAME
+	_ZN14CalenMonthGrid19setFocusToProperDayEv @ 25 NONAME
+	_ZN14CalenMonthGrid20handlePrependingRowsER5QListI14CalenMonthDataE @ 26 NONAME
+	_ZN14CalenMonthGrid20updateMonthGridModelER5QListI14CalenMonthDataEib @ 27 NONAME
+	_ZN14CalenMonthGrid24handlePanGestureFinishedEv @ 28 NONAME
+	_ZN14CalenMonthGrid33updateMonthGridWithInActiveMonthsER5QListI14CalenMonthDataE @ 29 NONAME
+	_ZN14CalenMonthGrid34updateMonthGridWithEventIndicatorsER5QListI14CalenMonthDataE @ 30 NONAME
+	_ZN14CalenMonthGrid5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 31 NONAME
+	_ZN14CalenMonthGrid7setViewEP14CalenMonthView @ 32 NONAME
+	_ZN14CalenMonthGrid9upGestureEv @ 33 NONAME
+	_ZN14CalenMonthGridC1EP13QGraphicsItem @ 34 NONAME
+	_ZN14CalenMonthGridC2EP13QGraphicsItem @ 35 NONAME
+	_ZN14CalenMonthGridD0Ev @ 36 NONAME
+	_ZN14CalenMonthGridD1Ev @ 37 NONAME
+	_ZN14CalenMonthGridD2Ev @ 38 NONAME
+	_ZN14CalenMonthView10createGridEv @ 39 NONAME
+	_ZN14CalenMonthView11qt_metacallEN11QMetaObject4CallEiPPv @ 40 NONAME
+	_ZN14CalenMonthView11qt_metacastEPKc @ 41 NONAME
+	_ZN14CalenMonthView12createEditorEv @ 42 NONAME
+	_ZN14CalenMonthView12doPopulationEv @ 43 NONAME
+	_ZN14CalenMonthView12getActiveDayEv @ 44 NONAME
+	_ZN14CalenMonthView12setActiveDayE9QDateTime @ 45 NONAME
+	_ZN14CalenMonthView13doLazyLoadingEv @ 46 NONAME
+	_ZN14CalenMonthView13getCurrentDayEv @ 47 NONAME
+	_ZN14CalenMonthView13launchDayViewEv @ 48 NONAME
+	_ZN14CalenMonthView13monthDataListEv @ 49 NONAME
+	_ZN14CalenMonthView14addWeekNumbersEv @ 50 NONAME
+	_ZN14CalenMonthView14firstDayOfGridEv @ 51 NONAME
+	_ZN14CalenMonthView14rowsInFutMonthEv @ 52 NONAME
+	_ZN14CalenMonthView14setDateToLabelEv @ 53 NONAME
+	_ZN14CalenMonthView14updateDayLabelEv @ 54 NONAME
+	_ZN14CalenMonthView15dateFromContextERK13MCalenContext @ 55 NONAME
+	_ZN14CalenMonthView15getInstanceListER5QListI5QDateE9QDateTimeS4_ @ 56 NONAME
+	_ZN14CalenMonthView15onLocaleChangedEi @ 57 NONAME
+	_ZN14CalenMonthView15rowsInPrevMonthEv @ 58 NONAME
+	_ZN14CalenMonthView16getCurrGridIndexEv @ 59 NONAME
+	_ZN14CalenMonthView16onContextChangedEv @ 60 NONAME
+	_ZN14CalenMonthView16setCurrGridIndexEi @ 61 NONAME
+	_ZN14CalenMonthView16staticMetaObjectE @ 62 NONAME DATA 16
+	_ZN14CalenMonthView17changeOrientationEN2Qt11OrientationE @ 63 NONAME
+	_ZN14CalenMonthView17populateNextMonthEv @ 64 NONAME
+	_ZN14CalenMonthView17populatePrevMonthEv @ 65 NONAME
+	_ZN14CalenMonthView17removeWeekNumbersEv @ 66 NONAME
+	_ZN14CalenMonthView18addBackgroundFrameEv @ 67 NONAME
+	_ZN14CalenMonthView18completePopulationEv @ 68 NONAME
+	_ZN14CalenMonthView19getStaticMetaObjectEv @ 69 NONAME
+	_ZN14CalenMonthView19populatePreviewPaneER9QDateTime @ 70 NONAME
+	_ZN14CalenMonthView20prepareForPopulationEv @ 71 NONAME
+	_ZN14CalenMonthView21refreshViewOnGoToDateEv @ 72 NONAME
+	_ZN14CalenMonthView22addRemoveActionsInMenuEv @ 73 NONAME
+	_ZN14CalenMonthView22setContextForActiveDayEi @ 74 NONAME
+	_ZN14CalenMonthView22updateWeekNumGridModelEv @ 75 NONAME
+	_ZN14CalenMonthView23handleChangeOrientationEv @ 76 NONAME
+	_ZN14CalenMonthView23handleGridItemActivatedEv @ 77 NONAME
+	_ZN14CalenMonthView24handlePreviewPaneGestureEb @ 78 NONAME
+	_ZN14CalenMonthView24populateWithInstanceViewEv @ 79 NONAME
+	_ZN14CalenMonthView24updateModelWithPrevMonthEv @ 80 NONAME
+	_ZN14CalenMonthView25handleLeftEffectCompletedERKN8HbEffect12EffectStatusE @ 81 NONAME
+	_ZN14CalenMonthView26fetchEntriesAndUpdateModelEv @ 82 NONAME
+	_ZN14CalenMonthView26handleRightEffectCompletedERKN8HbEffect12EffectStatusE @ 83 NONAME
+	_ZN14CalenMonthView26updateModelWithFutureMonthEv @ 84 NONAME
+	_ZN14CalenMonthView27showHideRegionalInformationEv @ 85 NONAME
+	_ZN14CalenMonthView35updateMonthDataArrayWithActiveDatesEv @ 86 NONAME
+	_ZN14CalenMonthView7setDateEv @ 87 NONAME
+	_ZN14CalenMonthView9goToTodayEv @ 88 NONAME
+	_ZN14CalenMonthView9setupViewEP14CalenDocLoader @ 89 NONAME
+	_ZN14CalenMonthViewC1ER14MCalenServices @ 90 NONAME
+	_ZN14CalenMonthViewC2ER14MCalenServices @ 91 NONAME
+	_ZN14CalenMonthViewD0Ev @ 92 NONAME
+	_ZN14CalenMonthViewD1Ev @ 93 NONAME
+	_ZN14CalenMonthViewD2Ev @ 94 NONAME
+	_ZN15CalenAgendaView12doPopulationEv @ 95 NONAME
+	_ZN15CalenAgendaView14clearListModelEv @ 96 NONAME
+	_ZN15CalenAgendaView18HandleNotificationE18TCalenNotification @ 97 NONAME
+	_ZN15CalenAgendaView26disconnectAboutToQuitEventEv @ 98 NONAME
+	_ZN15CalenAgendaView9docLoaderEv @ 99 NONAME
+	_ZN15CalenAgendaView9setupViewEP14CalenDocLoader @ 100 NONAME
+	_ZN15CalenAgendaViewC1ER14MCalenServices @ 101 NONAME
+	_ZN15CalenAgendaViewC2ER14MCalenServices @ 102 NONAME
+	_ZN15CalenAgendaViewD0Ev @ 103 NONAME
+	_ZN15CalenAgendaViewD1Ev @ 104 NONAME
+	_ZN15CalenAgendaViewD2Ev @ 105 NONAME
+	_ZN15CalenNativeView17captureScreenshotEb @ 106 NONAME
+	_ZN16CalenPluginLabelC1ER14MCalenServicesP13QGraphicsItem @ 107 NONAME
+	_ZN16CalenPluginLabelC2ER14MCalenServicesP13QGraphicsItem @ 108 NONAME
+	_ZN16CalenPluginLabelD0Ev @ 109 NONAME
+	_ZN16CalenPluginLabelD1Ev @ 110 NONAME
+	_ZN16CalenPluginLabelD2Ev @ 111 NONAME
+	_ZN16CalenPreviewPane11qt_metacallEN11QMetaObject4CallEiPPv @ 112 NONAME
+	_ZN16CalenPreviewPane11qt_metacastEPKc @ 113 NONAME
+	_ZN16CalenPreviewPane12gestureEventEP13QGestureEvent @ 114 NONAME
+	_ZN16CalenPreviewPane13populateLabelE9QDateTime @ 115 NONAME
+	_ZN16CalenPreviewPane13stopScrollingEv @ 116 NONAME
+	_ZN16CalenPreviewPane15startAutoScrollEv @ 117 NONAME
+	_ZN16CalenPreviewPane16GetInstanceListLEv @ 118 NONAME
+	_ZN16CalenPreviewPane16staticMetaObjectE @ 119 NONAME DATA 16
+	_ZN16CalenPreviewPane17scrollingFinishedEv @ 120 NONAME
+	_ZN16CalenPreviewPane17setNoEntriesLabelEP7HbLabel @ 121 NONAME
+	_ZN16CalenPreviewPane19getStaticMetaObjectEv @ 122 NONAME
+	_ZN16CalenPreviewPane19onTwoSecondsTimeoutEv @ 123 NONAME
+	_ZN16CalenPreviewPane4DateEv @ 124 NONAME
+	_ZN16CalenPreviewPane7setViewEP14CalenMonthView @ 125 NONAME
+	_ZN16CalenPreviewPaneC1ER14MCalenServicesP13QGraphicsItem @ 126 NONAME
+	_ZN16CalenPreviewPaneC2ER14MCalenServicesP13QGraphicsItem @ 127 NONAME
+	_ZN16CalenPreviewPaneD0Ev @ 128 NONAME
+	_ZN16CalenPreviewPaneD1Ev @ 129 NONAME
+	_ZN16CalenPreviewPaneD2Ev @ 130 NONAME
+	_ZN17CalenSettingsView11qt_metacallEN11QMetaObject4CallEiPPv @ 131 NONAME
+	_ZN17CalenSettingsView11qt_metacastEPKc @ 132 NONAME
+	_ZN17CalenSettingsView11refreshViewEv @ 133 NONAME
+	_ZN17CalenSettingsView14initializeFormEv @ 134 NONAME
+	_ZN17CalenSettingsView16staticMetaObjectE @ 135 NONAME DATA 16
+	_ZN17CalenSettingsView18launchPreviousViewEv @ 136 NONAME
+	_ZN17CalenSettingsView19getStaticMetaObjectEv @ 137 NONAME
+	_ZN17CalenSettingsViewC1ER14MCalenServicesP13QGraphicsItem @ 138 NONAME
+	_ZN17CalenSettingsViewC2ER14MCalenServicesP13QGraphicsItem @ 139 NONAME
+	_ZN17CalenSettingsViewD0Ev @ 140 NONAME
+	_ZN17CalenSettingsViewD1Ev @ 141 NONAME
+	_ZN17CalenSettingsViewD2Ev @ 142 NONAME
+	_ZN21CalenAgendaViewWidgetC1ER14MCalenServicesP14CalenDocLoader @ 143 NONAME
+	_ZN21CalenAgendaViewWidgetC2ER14MCalenServicesP14CalenDocLoader @ 144 NONAME
+	_ZN21CalenAgendaViewWidgetD0Ev @ 145 NONAME
+	_ZN21CalenAgendaViewWidgetD1Ev @ 146 NONAME
+	_ZN21CalenAgendaViewWidgetD2Ev @ 147 NONAME
+	_ZN21CalenThickLinesDrawer11qt_metacallEN11QMetaObject4CallEiPPv @ 148 NONAME
+	_ZN21CalenThickLinesDrawer11qt_metacastEPKc @ 149 NONAME
+	_ZN21CalenThickLinesDrawer16staticMetaObjectE @ 150 NONAME DATA 16
+	_ZN21CalenThickLinesDrawer19getStaticMetaObjectEv @ 151 NONAME
+	_ZN21CalenThickLinesDrawer5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 152 NONAME
+	_ZN21CalenThickLinesDrawerC1EN17CalendarNamespace10WidgetTypeEP13QGraphicsItem @ 153 NONAME
+	_ZN21CalenThickLinesDrawerC2EN17CalendarNamespace10WidgetTypeEP13QGraphicsItem @ 154 NONAME
+	_ZN21CalenThickLinesDrawerD0Ev @ 155 NONAME
+	_ZN21CalenThickLinesDrawerD1Ev @ 156 NONAME
+	_ZN21CalenThickLinesDrawerD2Ev @ 157 NONAME
+	_ZNK14CalenMonthGrid10metaObjectEv @ 158 NONAME
+	_ZNK14CalenMonthView10metaObjectEv @ 159 NONAME
+	_ZNK16CalenPreviewPane10metaObjectEv @ 160 NONAME
+	_ZNK17CalenSettingsView10metaObjectEv @ 161 NONAME
+	_ZNK21CalenThickLinesDrawer10metaObjectEv @ 162 NONAME
+	_ZTI14CalenMonthGrid @ 163 NONAME
+	_ZTI14CalenMonthView @ 164 NONAME
+	_ZTI16CalenPreviewPane @ 165 NONAME
+	_ZTI17CalenSettingsView @ 166 NONAME
+	_ZTI21CalenThickLinesDrawer @ 167 NONAME
+	_ZTV14CalenMonthGrid @ 168 NONAME
+	_ZTV14CalenMonthView @ 169 NONAME
+	_ZTV16CalenPreviewPane @ 170 NONAME
+	_ZTV17CalenSettingsView @ 171 NONAME
+	_ZTV21CalenThickLinesDrawer @ 172 NONAME
+	_ZThn16_N12CalenDayViewD0Ev @ 173 NONAME
+	_ZThn16_N12CalenDayViewD1Ev @ 174 NONAME
+	_ZThn16_N14CalenMonthGridD0Ev @ 175 NONAME
+	_ZThn16_N14CalenMonthGridD1Ev @ 176 NONAME
+	_ZThn16_N14CalenMonthViewD0Ev @ 177 NONAME
+	_ZThn16_N14CalenMonthViewD1Ev @ 178 NONAME
+	_ZThn16_N15CalenAgendaViewD0Ev @ 179 NONAME
+	_ZThn16_N15CalenAgendaViewD1Ev @ 180 NONAME
+	_ZThn16_N16CalenPluginLabelD0Ev @ 181 NONAME
+	_ZThn16_N16CalenPluginLabelD1Ev @ 182 NONAME
+	_ZThn16_N16CalenPreviewPaneD0Ev @ 183 NONAME
+	_ZThn16_N16CalenPreviewPaneD1Ev @ 184 NONAME
+	_ZThn16_N17CalenSettingsViewD0Ev @ 185 NONAME
+	_ZThn16_N17CalenSettingsViewD1Ev @ 186 NONAME
+	_ZThn16_N21CalenAgendaViewWidgetD0Ev @ 187 NONAME
+	_ZThn16_N21CalenAgendaViewWidgetD1Ev @ 188 NONAME
+	_ZThn16_N21CalenThickLinesDrawerD0Ev @ 189 NONAME
+	_ZThn16_N21CalenThickLinesDrawerD1Ev @ 190 NONAME
+	_ZThn28_N15CalenAgendaView18HandleNotificationE18TCalenNotification @ 191 NONAME
+	_ZThn8_N12CalenDayViewD0Ev @ 192 NONAME
+	_ZThn8_N12CalenDayViewD1Ev @ 193 NONAME
+	_ZThn8_N14CalenMonthGrid15mousePressEventEP24QGraphicsSceneMouseEvent @ 194 NONAME
+	_ZThn8_N14CalenMonthGrid17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 195 NONAME
+	_ZThn8_N14CalenMonthGrid5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 196 NONAME
+	_ZThn8_N14CalenMonthGridD0Ev @ 197 NONAME
+	_ZThn8_N14CalenMonthGridD1Ev @ 198 NONAME
+	_ZThn8_N14CalenMonthViewD0Ev @ 199 NONAME
+	_ZThn8_N14CalenMonthViewD1Ev @ 200 NONAME
+	_ZThn8_N15CalenAgendaViewD0Ev @ 201 NONAME
+	_ZThn8_N15CalenAgendaViewD1Ev @ 202 NONAME
+	_ZThn8_N16CalenPluginLabelD0Ev @ 203 NONAME
+	_ZThn8_N16CalenPluginLabelD1Ev @ 204 NONAME
+	_ZThn8_N16CalenPreviewPaneD0Ev @ 205 NONAME
+	_ZThn8_N16CalenPreviewPaneD1Ev @ 206 NONAME
+	_ZThn8_N17CalenSettingsViewD0Ev @ 207 NONAME
+	_ZThn8_N17CalenSettingsViewD1Ev @ 208 NONAME
+	_ZThn8_N21CalenAgendaViewWidgetD0Ev @ 209 NONAME
+	_ZThn8_N21CalenAgendaViewWidgetD1Ev @ 210 NONAME
+	_ZThn8_N21CalenThickLinesDrawer5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 211 NONAME
+	_ZThn8_N21CalenThickLinesDrawerD0Ev @ 212 NONAME
+	_ZThn8_N21CalenThickLinesDrawerD1Ev @ 213 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/inc/calenagendaview.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,189 @@
+/*
+* 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: Class declaration for the agenda view
+*
+*/
+
+#ifndef CALENAGENDAVIEW_H
+#define CALENAGENDAVIEW_H
+
+// System includes
+#include <QDateTime>
+
+// User includes
+#include "calennativeview.h"
+
+// Forward declarations
+class QGraphicsSceneMouseEvent;
+class CalenAgendaViewWidget;
+class CalenDocLoader;
+
+#ifdef  CALENVIEWS_DLL
+#define CALENAGENDAVIEW_EXPORT Q_DECL_EXPORT
+#else
+#define CALENAGENDAVIEW_EXPORT Q_DECL_IMPORT
+#endif
+
+/**
+ * @class CalenAgendaView
+ * @brief Class declaration for the agenda view
+ * which shows the list of events &/ to-do's (if any)
+ * for any given day in the calendar. User can do other
+ * basic operations like creating, viewing or deleting
+ * an event
+ */
+class CalenAgendaView : public CalenNativeView
+    {
+    Q_OBJECT
+
+public:
+    /**
+     * @brief Constructor
+     * @param services A reference to the MCalenServices object
+     */
+    CALENAGENDAVIEW_EXPORT CalenAgendaView(MCalenServices &services);
+    
+    /**
+     * @brief Default C++ constructor
+     */
+    CALENAGENDAVIEW_EXPORT virtual ~CalenAgendaView();
+    
+    /**
+     * @brief Initializes the view after its creation
+     * Must be called only after the view and its children are constructed
+     * @param docLoader Pointer to the document loader object which has
+     * loaded this view from the .docml file
+     */
+    CALENAGENDAVIEW_EXPORT void setupView(CalenDocLoader *docLoader);
+    
+    /**
+     * @brief Activates the current view. Sets this view as the current
+     * view of the application's main window. Must be called only after
+     * the view has been constructed and initialized
+     */
+    CALENAGENDAVIEW_EXPORT virtual void doPopulation();
+    
+    /**
+     * @brief Callback function for any notifications that has been
+     * subscribed by this view
+     * @param notification The event for which notification is being sent
+     */
+    CALENAGENDAVIEW_EXPORT void HandleNotification(const TCalenNotification notification);
+    
+    /**
+     * @brief Getter function for the document loader. Called from the content
+     * widget in order get its children
+     */
+    CALENAGENDAVIEW_EXPORT CalenDocLoader* docLoader();
+
+    /**
+     * @brief clears the list model from the view
+     */
+    CALENAGENDAVIEW_EXPORT void clearListModel();
+
+    /**
+     * disconnectAboutToQuitEvent disconnects for the aboutToQuit events
+     * 
+     */
+    CALENAGENDAVIEW_EXPORT void disconnectAboutToQuitEvent();
+    
+	/*
+	 * @brief Refreshes the view with the date set in the context
+	 */
+    void refreshViewOnGoToDate();
+    
+protected:
+    void gestureEvent(QGestureEvent *event);
+
+private:
+    
+    /**
+     * @brief Connects to all the toolbar and menu actions associated
+     * with this view
+     */
+	void setupActions();
+	
+	/**
+	 * @brief Callback function for listening to locale changes like
+	 * time format, date format etc
+	 */
+	void onLocaleChanged(int reason);
+	
+private slots:
+	
+    /**
+	 * @brief Slot which is called whenever the orientation of the device changes
+	 * @param orientation The current device orientation
+	 */
+	void orientationChanged(Qt::Orientation orientation);
+	
+	/**
+	 * @brief Slot which launches back the month view
+	 */
+	void launchMonthView();
+	
+	/**
+	 * @brief Slot which launches the day view
+	 */
+	void launchDayView();
+
+private:
+	
+	/**
+	 * @var mDate
+	 * @brief The date for which this view is being shown
+	 */
+	QDateTime mDate;
+	
+	/**
+	 * @var mSoftKeyAction
+	 * TODO: This may not be required going ahead
+	 */
+	HbAction *mSoftKeyAction;
+	
+	/**
+	 * @var mAgendaViewWidget
+	 * @brief The pointer to the content widget of this view
+	 */
+	CalenAgendaViewWidget *mAgendaViewWidget;
+	
+	/**
+	 * @var mDocLoader
+	 * @brief Pointer to the document loader which has loaded
+	 * this view
+	 */
+	CalenDocLoader *mDocLoader;
+	
+	/**
+	 * @var mGoToTodayAction
+	 * Action which provides "Go to today" functionality
+	 */
+	HbAction *mGoToTodayAction;
+	
+	/**
+	 * @var mSwitchToDayViewAction
+	 * Action which provides "Switch to day view" functionality
+	 */
+	HbAction *mSwitchToDayViewAction;
+	
+    // TODO: Remove these after gestures are available
+    QPointF mTapPoint;
+    bool    mActionTaken;
+    bool    mIsAboutToQuitEventConnected; // bool to check if agenda view is registered to get aboutToQuit signals
+
+};
+
+#endif /* CALENAGENDAVIEW_H */
+
+// End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/inc/calenagendaviewwidget.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,362 @@
+/*
+* 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:  CalenAgendaViewWidget class definition.
+*
+*/
+
+#ifndef CALENAGENDAVIEWWIDGET_H
+#define CALENAGENDAVIEWWIDGET_H
+
+// System includes
+#include <QGraphicsLinearLayout>
+#include <QDateTime>
+#include <QPointer>
+#include <hbwidget.h>
+
+// User includes
+ 
+// Forward declarations
+class QStandardItemModel;
+class QGraphicsSceneMouseEvent; // TODO: Remove this after gestures are supported
+class HbAbstractViewItem;
+class HbGroupBox;
+class HbListView;
+class QPluginLoader;
+class HbLabel;
+class HbAction;
+class HbDateTimePicker;
+class XQSettingsManager;
+class MCalenServices;
+class CalenAgendaView;
+class AgendaEntry;
+class CalenDocLoader;
+class CalenEventListViewItem;
+class NotesEditor;
+
+/**
+ * @class CalenAgendaViewWidget
+ * @brief The content widget for the agenda view.
+ * It is responsible for showing all the events &/ to-do's
+ * (if any) for a particular day selected by the user
+ */
+class CalenAgendaViewWidget : public HbWidget
+    {
+    Q_OBJECT
+
+public:
+    
+    /**
+     * @brief Constructor
+     * @param services The reference to the MCalenServices object
+     * @param docLoader The document loader object
+     */
+	IMPORT_C CalenAgendaViewWidget(MCalenServices &services,
+	                                 CalenDocLoader *docLoader);
+	
+	/**
+	 * @brief Default C++ destructor
+	 */
+	IMPORT_C ~CalenAgendaViewWidget();
+	
+	/**
+	 * @brief Initializes the widget to show all the events/to-do's
+	 * for the selected day
+	 * @param view Pointer to the view to which this is the content
+	 */
+    void setupWidget(CalenAgendaView *view);
+    
+    /**
+     * @brief Prepares the widget to be shown.
+     * Initializes the widget with the day's events and other details 
+     */
+    void showWidget();
+    
+    /**
+     * @brief Called from the view whenever the orientation of the
+     * device changes
+     */
+    void orientationChanged(Qt::Orientation);
+    
+    /**
+     * @brief Callback function to handle system locale change
+     */
+    void handleLocaleChange();
+    
+    /**
+     * @brief clears the list model from the view
+     */
+    void clearListModel();
+    
+private:
+    
+    /**
+     * @brief Sets the context based on the item selected by the user
+     * @param entry The entry using which the context is deduced
+     */
+    void setContextFromHighlight(AgendaEntry entry);
+    
+    /**
+     * @brief Initializes the child widgets of this widget
+     */
+    void initChildWidgets();
+    
+    /**
+     * @brief Populates the list with the events for the current day.
+     * Does nothing if the day has no events. To be called whenever
+     * the view has to be refreshed
+     */
+    void populateListWidget();
+    
+    /**
+     * @brief Gets the instance list for day
+     */
+    void getInstanceList();
+    
+    /**
+     * @brief Sets the heading text to show the date for which this
+     * widget is being shown
+     */
+    void setHeadingText();
+    
+    /**
+     * @brief Creates and adds an item to the list at position index
+     * @param index The position in the list when the item is added
+     * @param entry The entry whose details must be shown in the item
+     */
+    void createListItem(int index, AgendaEntry entry);
+    
+    /**
+     * @brief Creates and add a list item for the event
+     * @param index The position in the list when the item is added
+     * @param entry The entry whose details must be shown in the item
+     */
+    void addTimedEventToList(int index, AgendaEntry entry);
+    
+    /**
+     * @brief Creates and add a list item for the event which is non timed
+     * @param index The position in the list when the item is added
+     * @param entry The entry whose details must be shown in the item
+     */
+    void addNonTimedEventToList(int index, AgendaEntry entry);
+    
+    /**
+     * @brief Sets strecthing to list items showing non-timed events
+     */
+    void handleListItemStretching(Qt::Orientation orientation);
+    
+    /**
+     * @brief Returns the index in the list to which scrolling must
+     * happen. For ex: After creating a new event, the list must scroll
+     * to the newly created event
+     */
+    int getIndexToScrollTo();
+    
+    /**
+     * @brief To Show and hide regional plugin label depends upon settings
+     */
+    
+    void showHideRegionalInformation();
+    
+   
+    
+private slots:
+
+    /**
+     * @brief Opens the editor to create a new entry
+     */
+    void createNewEvent();
+    
+    /**
+     * @brief Opens the entry at position index in the list for
+     * editing in the editor. Does nothing if the index is invalid
+     */
+    void editEntry();
+    
+    /**
+     * @brief Opens the entry at position index in the list for
+     * viewing in the viewer. Does nothing if the index is invalid
+     */
+    void viewEntry();
+	
+    /**
+     * @brief Deletes the entry at position index in the list.
+     * Does nothing if the list is empty
+     */
+    void deleteEntry();
+    
+    /**
+     * @brief Marks a to-do as done
+     */
+    void markAsDone(); 
+    
+    /**
+     * @brief Handles long press on a particular item. Presents a
+     * context menu with various operations that the user can
+     * perform
+     * @param ite, The index item which is being long pressed
+     * @param coords The (x, y) co-ordinates where the long tap has
+     * occured
+     */
+    void itemLongPressed(HbAbstractViewItem *item, const QPointF &coords);
+    
+    /**
+     * @brief Handles user selection on a particular item of a
+     * particular event in the list. Default action is to view it
+     * @param index Index of the item which was selected 
+     */
+    void itemActivated(const QModelIndex &index);
+    
+    /**
+     * @brief Called whenever a editing a to-do is completed
+     * @param status Inidcates if the editing was successful or not
+     */
+    void noteEditingCompleted(bool status);
+    
+    /**
+     * @brief Callback function for navigating to today's agenda
+     * This option must be available only if the view is showing
+     * events for some day other than the current day
+     */
+    void goToToday();
+    
+    /**
+     * @brief This slot connected to aboutToClose()signal of contextmenu
+     * To reset the flag of mLongTapEventFlag
+     */
+    void contextMenuClosed();
+    
+    /**
+     * @brief Called when contextMenu item is triggered
+     */
+    void contextManuTriggered(HbAction *action);
+
+private:
+    /**
+     * @var mDate
+     * @brief Stores the date for which this widget is being shown
+     */
+    QDateTime mDate;
+    
+    /**
+     * @var mInstanceArray
+     * @brief Holds the list of instances for the day
+     */
+    QList<AgendaEntry> mInstanceArray;
+    
+    /**
+     * @var mHeadingLabel
+     * @brief The heading widget which shows the date
+     */
+    HbGroupBox *mHeadingLabel;
+    
+    /**
+     * @var mEventsList
+     * @brief The list view which shows the list of events
+     */
+    HbListView *mEventsList;
+
+    /**
+     * @var mServices
+     * @brief The reference to the MCalenServices object
+     */
+    MCalenServices &mServices;
+    
+    /**
+     * @var mView
+     * @brief The pointer to the view
+     */
+    CalenAgendaView *mView;
+    
+    /**
+     * @var mDocLoader
+     * @brief The pointer to the document loader which has
+     * loaded this widget
+     */
+    CalenDocLoader *mDocLoader;
+    
+    /**
+     * @var mListViewPrototype
+     * @brief Acts as the item prototype for list view.
+     * Allows providing own layout for list items
+     */
+    CalenEventListViewItem *mListViewPrototype;
+	
+    /**
+     * @var mEmptyListLabel
+     * @brief The pointer to the empty view label
+     */
+	HbLabel *mEmptyListLabel;
+	
+	/**
+	 * @var mListModel
+	 * @brief The event list model
+	 */
+	QStandardItemModel *mListModel;
+	
+	/**
+	 * @var mSelectedIndex
+	 * @brief Stores the index of the item being acted upon
+	 * Since there is no focus, it becomes necessary to store the
+	 * index of the item on which user is performing some action
+	 */
+	int mSelectedIndex;
+	
+	/**
+	 * @var NotesEditorPluginLoader
+	 * @brief Pointer to the notes editor plugin loader
+	 */
+	QPointer<QPluginLoader> mNotesEditorPluginLoader;
+
+	/**
+	 * @var mDatePicker
+	 * @brief The date picker component
+	 */
+	HbDateTimePicker *mDatePicker;
+	
+	/**
+	 * @var mRegionalPluginLayout
+	 * @brief Regional Plugin layout pointer
+	 */
+	QGraphicsLinearLayout* mRegionalPluginLayout;
+	
+	/**
+	 * @var mRegionalInfoGroupBox
+	 * @brief Regional Plugin Info groupbox
+	 */
+	HbGroupBox *mRegionalInfoGroupBox;
+
+	/**
+	 * @var mSettingsManager
+	 * @brief Setting Manager pointer
+	 */
+	
+	XQSettingsManager *mSettingsManager;
+	
+	/**
+	 * @var mLongTapeventFlag
+	 * @brief Set flag true if contextmenu is opened
+	 */
+	bool mLongTapEventFlag;
+
+	/**
+	 * @var mNotesPluginLoaded
+	 * @brief Holds notes editor plugin load info.
+	 */
+	bool mNotesPluginLoaded;
+
+};
+
+#endif //CALENAGENDAVIEWWIDGET_H
+
+// End of file	--Don't remove this.
--- a/calendarui/views/inc/calendayview.h	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,175 +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: Class declaration for the day/agenda view
-*
-*/
-
-#ifndef CALENDAYVIEW_H
-#define CALENDAYVIEW_H
-
-// System includes
-#include <QDateTime>
-
-// User includes
-#include "calennativeview.h"
-
-// Forward declarations
-class QGraphicsSceneMouseEvent;
-class CalenDayViewWidget;
-class CalenDocLoader;
-
-#ifdef  CALENVIEWS_DLL
-#define CALENDAYVIEW_EXPORT Q_DECL_EXPORT
-#else
-#define CALENDAYVIEW_EXPORT Q_DECL_IMPORT
-#endif
-
-/**
- * @class CalenDayView
- * @brief Class declaration for the day/agenda view
- * which shows the list of events &/ to-do's (if any)
- * for any given day in the calendar. User can do other
- * basic operations like creating, viewing or deleting
- * an event
- */
-class CalenDayView : public CalenNativeView
-    {
-    Q_OBJECT
-
-public:
-    /**
-     * @brief Constructor
-     * @param services A reference to the MCalenServices object
-     */
-    CALENDAYVIEW_EXPORT CalenDayView(MCalenServices &services);
-    
-    /**
-     * @brief Default C++ constructor
-     */
-    CALENDAYVIEW_EXPORT virtual ~CalenDayView();
-    
-    /**
-     * @brief Initializes the view after its creation
-     * Must be called only after the view and its children are constructed
-     * @param docLoader Pointer to the document loader object which has
-     * loaded this view from the .docml file
-     */
-    CALENDAYVIEW_EXPORT void setupView(CalenDocLoader *docLoader);
-    
-    /**
-     * @brief Activates the current view. Sets this view as the current
-     * view of the application's main window. Must be called only after
-     * the view has been constructed and initialized
-     */
-    CALENDAYVIEW_EXPORT virtual void doPopulation();
-    
-    /**
-     * @brief Callback function for any notifications that has been
-     * subscribed by this view
-     * @param notification The event for which notification is being sent
-     */
-    CALENDAYVIEW_EXPORT void HandleNotification(const TCalenNotification notification);
-    
-    /**
-     * @brief Getter function for the document loader. Called from the content
-     * widget in order get its children
-     */
-    CALENDAYVIEW_EXPORT CalenDocLoader* docLoader();
-
-    /**
-     * @brief clears the list model from the view
-     */
-    CALENDAYVIEW_EXPORT void clearListModel();
-
-	/*
-	 * @brief Refreshes the view with the date set in the context
-	 */
-    void refreshViewOnGoToDate();
-    
-protected:
-    
-    // TODO: Remove these after gestures are available
-    void mousePressEvent(QGraphicsSceneMouseEvent *event);
-    void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
-    bool eventFilter(QObject *source, QEvent *event);
-
-private:
-    
-    /**
-     * @brief Connects to all the toolbar and menu actions associated
-     * with this view
-     */
-	void setupActions();
-	
-	/**
-	 * @brief Callback function for listening to locale changes like
-	 * time format, date format etc
-	 */
-	void onLocaleChanged(int reason);
-	
-private slots:
-	
-    /**
-	 * @brief Slot which is called whenever the orientation of the device changes
-	 * @param orientation The current device orientation
-	 */
-	void orientationChanged(Qt::Orientation orientation);
-	
-	/**
-	 * @brief Slot which launches back the month view
-	 */
-	void launchMonthView();
-
-private:
-	
-	/**
-	 * @var mDate
-	 * @brief The date for which this view is being shown
-	 */
-	QDateTime mDate;
-	
-	/**
-	 * @var mSoftKeyAction
-	 * TODO: This may not be required going ahead
-	 */
-	HbAction *mSoftKeyAction;
-	
-	/**
-	 * @var mDayViewWidget
-	 * @brief The pointer to the content widget of this view
-	 */
-	CalenDayViewWidget *mDayViewWidget;
-	
-	/**
-	 * @var mDocLoader
-	 * @brief Pointer to the document loader which has loaded
-	 * this view
-	 */
-	CalenDocLoader *mDocLoader;
-	
-	/**
-	 * @var mGoToTodayAction
-	 * Action which provides "Go to today" functionality
-	 */
-	HbAction *mGoToTodayAction;
-	
-    // TODO: Remove these after gestures are available
-    QPointF mTapPoint;
-    bool mActionTaken;
-
-};
-
-#endif /* CALENDAYVIEW_H */
-
-// End of file	--Don't remove this.
--- a/calendarui/views/inc/calendayviewwidget.h	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,352 +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:  CalenDayViewWidget class definition.
-*
-*/
-
-#ifndef CALENDAYVIEWWIDGET_H
-#define CALENDAYVIEWWIDGET_H
-
-// System includes
-#include <QGraphicsLinearLayout>
-#include <QDateTime>
-#include <hbwidget.h>
-
-// User includes
- 
-// Forward declarations
-class QStandardItemModel;
-class QGraphicsSceneMouseEvent; // TODO: Remove this after gestures are supported
-class HbAbstractViewItem;
-class HbGroupBox;
-class HbListView;
-class HbLabel;
-class HbAction;
-class HbDateTimePicker;
-class XQSettingsManager;
-class MCalenServices;
-class CalenDayView;
-class AgendaEntry;
-class CalenDocLoader;
-class CalenEventListViewItem;
-class NotesEditor;
-
-/**
- * @class CalenDayViewWidget
- * @brief The content widget for the day/agenda view.
- * It is responsible for showing all the events &/ to-do's
- * (if any) for a particular day selected by the user
- */
-class CalenDayViewWidget : public HbWidget
-    {
-    Q_OBJECT
-
-public:
-    
-    /**
-     * @brief Constructor
-     * @param services The reference to the MCalenServices object
-     * @param docLoader The document loader object
-     */
-	IMPORT_C CalenDayViewWidget(MCalenServices &services,
-	                                 CalenDocLoader *docLoader);
-	
-	/**
-	 * @brief Default C++ destructor
-	 */
-	IMPORT_C ~CalenDayViewWidget();
-	
-	/**
-	 * @brief Initializes the widget to show all the events/to-do's
-	 * for the selected day
-	 * @param view Pointer to the view to which this is the content
-	 */
-    void setupWidget(CalenDayView *view);
-    
-    /**
-     * @brief Prepares the widget to be shown.
-     * Initializes the widget with the day's events and other details 
-     */
-    void showWidget();
-    
-    /**
-     * @brief Called from the view whenever the orientation of the
-     * device changes
-     */
-    void orientationChanged(Qt::Orientation);
-    
-    /**
-     * @brief Callback function to handle system locale change
-     */
-    void handleLocaleChange();
-    
-    /**
-     * @brief clears the list model from the view
-     */
-    void clearListModel();
-    
-private:
-    
-    /**
-     * @brief Sets the context based on the item selected by the user
-     * @param entry The entry using which the context is deduced
-     */
-    void setContextFromHighlight(AgendaEntry entry);
-    
-    /**
-     * @brief Initializes the child widgets of this widget
-     */
-    void initChildWidgets();
-    
-    /**
-     * @brief Populates the list with the events for the current day.
-     * Does nothing if the day has no events. To be called whenever
-     * the view has to be refreshed
-     */
-    void populateListWidget();
-    
-    /**
-     * @brief Gets the instance list for day
-     */
-    void getInstanceList();
-    
-    /**
-     * @brief Sets the heading text to show the date for which this
-     * widget is being shown
-     */
-    void setHeadingText();
-    
-    /**
-     * @brief Creates and adds an item to the list at position index
-     * @param index The position in the list when the item is added
-     * @param entry The entry whose details must be shown in the item
-     */
-    void createListItem(int index, AgendaEntry entry);
-    
-    /**
-     * @brief Creates and add a list item for the event
-     * @param index The position in the list when the item is added
-     * @param entry The entry whose details must be shown in the item
-     */
-    void addTimedEventToList(int index, AgendaEntry entry);
-    
-    /**
-     * @brief Creates and add a list item for the event which is non timed
-     * @param index The position in the list when the item is added
-     * @param entry The entry whose details must be shown in the item
-     */
-    void addNonTimedEventToList(int index, AgendaEntry entry);
-    
-    /**
-     * @brief Sets strecthing to list items showing non-timed events
-     */
-    void handleListItemStretching(Qt::Orientation orientation);
-    
-    /**
-     * @brief Returns the index in the list to which scrolling must
-     * happen. For ex: After creating a new event, the list must scroll
-     * to the newly created event
-     */
-    int getIndexToScrollTo();
-    
-    /**
-     * @brief To Show and hide regional plugin label depends upon settings
-     */
-    
-    void showHideRegionalInformation();
-    
-private slots:
-
-    /**
-     * @brief Opens the editor to create a new entry
-     */
-    void createNewEvent();
-    
-    /**
-     * @brief Opens the entry at position index in the list for
-     * editing in the editor. Does nothing if the index is invalid
-     */
-    void editEntry();
-    
-    /**
-     * @brief Opens the entry at position index in the list for
-     * viewing in the viewer. Does nothing if the index is invalid
-     */
-    void viewEntry();
-	
-    /**
-     * @brief Deletes the entry at position index in the list.
-     * Does nothing if the list is empty
-     */
-    void deleteEntry();
-    
-    /**
-     * @brief Marks a to-do as done
-     */
-    void markAsDone(); 
-    
-    /**
-     * @brief Handles long press on a particular item. Presents a
-     * context menu with various operations that the user can
-     * perform
-     * @param ite, The index item which is being long pressed
-     * @param coords The (x, y) co-ordinates where the long tap has
-     * occured
-     */
-    void itemLongPressed(HbAbstractViewItem *item, const QPointF &coords);
-    
-    /**
-     * @brief Handles user selection on a particular item of a
-     * particular event in the list. Default action is to view it
-     * @param index Index of the item which was selected 
-     */
-    void itemActivated(const QModelIndex &index);
-    
-    /**
-     * @brief Called whenever a editing a to-do is completed
-     * @param status Inidcates if the editing was successful or not
-     */
-    void noteEditingCompleted(bool status);
-    
-    /**
-     * @brief Callback function for navigating to today's agenda
-     * This option must be available only if the view is showing
-     * events for some day other than the current day
-     */
-    void goToToday();
-    
-    /**
-     * @brief This slot connected to aboutToClose()signal of contextmenu
-     * To reset the flag of mLongTapEventFlag
-     */
-    void contextMenuClosed();
-    
-    /**
-     * @brief Called when contextMenu item is triggered
-     */
-    void contextManuTriggered(HbAction *action);
-
-private:
-    /**
-     * @var mDate
-     * @brief Stores the date for which this widget is being shown
-     */
-    QDateTime mDate;
-    
-    /**
-     * @var mInstanceArray
-     * @brief Holds the list of instances for the day
-     */
-    QList<AgendaEntry> mInstanceArray;
-    
-    /**
-     * @var mHeadingLabel
-     * @brief The heading widget which shows the date
-     */
-    HbGroupBox *mHeadingLabel;
-    
-    /**
-     * @var mEventsList
-     * @brief The list view which shows the list of events
-     */
-    HbListView *mEventsList;
-
-    /**
-     * @var mServices
-     * @brief The reference to the MCalenServices object
-     */
-    MCalenServices &mServices;
-    
-    /**
-     * @var mView
-     * @brief The pointer to the view
-     */
-    CalenDayView *mView;
-    
-    /**
-     * @var mDocLoader
-     * @brief The pointer to the document loader which has
-     * loaded this widget
-     */
-    CalenDocLoader *mDocLoader;
-    
-    /**
-     * @var mListViewPrototype
-     * @brief Acts as the item prototype for list view.
-     * Allows providing own layout for list items
-     */
-    CalenEventListViewItem *mListViewPrototype;
-	
-    /**
-     * @var mEmptyListLabel
-     * @brief The pointer to the empty view label
-     */
-	HbLabel *mEmptyListLabel;
-	
-	/**
-	 * @var mListModel
-	 * @brief The event list model
-	 */
-	QStandardItemModel *mListModel;
-	
-	/**
-	 * @var mSelectedIndex
-	 * @brief Stores the index of the item being acted upon
-	 * Since there is no focus, it becomes necessary to store the
-	 * index of the item on which user is performing some action
-	 */
-	int mSelectedIndex;
-	
-	/**
-	 * @var NotesEditor
-	 * @brief Pointer to the notes editor
-	 */
-	NotesEditor *mNotesEditor;
-	
-	/**
-	 * @var mDatePicker
-	 * @brief The date picker component
-	 */
-	HbDateTimePicker *mDatePicker;
-	
-	/**
-	 * @var mRegionalPluginLayout
-	 * @brief Regional Plugin layout pointer
-	 */
-	QGraphicsLinearLayout* mRegionalPluginLayout;
-	
-	/**
-	 * @var mRegionalInfoGroupBox
-	 * @brief Regional Plugin Info groupbox
-	 */
-	HbGroupBox *mRegionalInfoGroupBox;
-
-	/**
-	 * @var mSettingsManager
-	 * @brief Setting Manager pointer
-	 */
-	
-	XQSettingsManager *mSettingsManager;
-	
-	/**
-	 * @var mLongTapeventFlag
-	 * @brief Set flag true if contextmenu is opened
-	 */
-	bool mLongTapEventFlag;
-	
-};
-
-#endif //CALENDAYVIEWWIDGET_H
-
-// End of file	--Don't remove this.
--- a/calendarui/views/inc/caleneventlistviewitem.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/views/inc/caleneventlistviewitem.h	Thu Jul 22 16:32:51 2010 +0100
@@ -24,17 +24,12 @@
 class CalenEventListViewItem : public HbListViewItem
 {
     Q_OBJECT
-    Q_PROPERTY(bool timeFormat12 READ timeFormat12Hr WRITE setTimeFormat12Hr)
 public:
     CalenEventListViewItem(QGraphicsItem *parent = 0);
     ~CalenEventListViewItem();
 
     HbAbstractViewItem * createItem();
     void updateChildItems();
-    bool timeFormat12Hr();
-    void setTimeFormat12Hr(bool format);
-private:
-    bool timeFormat12;
 };
 
 #endif      // __CALEN_EVENT_LIST_VIEW_ITEM_H__
--- a/calendarui/views/inc/calengriditemprototype.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/views/inc/calengriditemprototype.h	Thu Jul 22 16:32:51 2010 +0100
@@ -28,6 +28,7 @@
 class HbIconItem;
 class HbTextItem;
 class HbFrameItem;
+class CalenTodayIndicatorLineDrawer;
 
 // CONSTANTS
 const QString focusIconName = "qtg_fr_cal_focused_day_ind";
@@ -54,8 +55,6 @@
 	void createPrimitives();
 
 private:
-	void drawUnderline(bool underlineEnabled);
-private:
 	QColor mTodayUnderLineColor;
 	QColor mActiveTextColor;
 	QColor mInActiveTextColor;
@@ -64,7 +63,7 @@
 	HbIconItem *mEventIndicatorItem;
 	HbTextItem *mMonthDayInfoItem;
 	HbFrameItem *mFocusIndicatorItem;
-	HbIconItem *mTodayIndicatorItem;
+	CalenTodayIndicatorLineDrawer *mTodayIndicatorItem;
 };
 
 #endif // CALENGRIDITEMPROTOTYPE_H
--- a/calendarui/views/inc/calenmonthgrid.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/views/inc/calenmonthgrid.h	Thu Jul 22 16:32:51 2010 +0100
@@ -66,8 +66,11 @@
 
 protected:
 	void orientationChanged(Qt::Orientation newOrientation);
+	void gestureEvent(QGestureEvent *event);
 		
 private:
+	void downGesture();
+    void upGesture();
 	void handlePrependingRows(QList<CalenMonthData > &monthDataList);
 	void handleAppendingRows(QList<CalenMonthData > &monthDataList);
 	void handlePanGestureFinished();
@@ -84,11 +87,6 @@
 	void appendRows();
 	void itemActivated(const QModelIndex &index);
 
-protected slots:
-	void downGesture(int value);
-	void upGesture(int value);
-	void panGesture(const QPointF &delta);
-
 private:
 	QStandardItemModel *mModel;
 	QList<CalenMonthData> mMonthDataArray;
--- a/calendarui/views/inc/calenmonthview.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/views/inc/calenmonthview.h	Thu Jul 22 16:32:51 2010 +0100
@@ -23,6 +23,7 @@
 #include <qdatetime.h>
 #include <hblabel.h>
 #include <hbextendedlocale.h>
+#include <hbframeitem.h>
 
 // User includes
 #include "calennativeview.h"
@@ -46,7 +47,6 @@
 class CalenPluginLabel;
 
 // Constants
-const int KCalenDaysInWeek = 7;
 const int KNumOfVisibleRows = 6;
 
 #ifdef  CALENVIEWS_DLL
@@ -85,6 +85,7 @@
 	void handlePreviewPaneGesture(bool rightGesture);
 	QDateTime firstDayOfGrid();
 	void fetchEntriesAndUpdateModel();
+	void launchDayView();
 	
 private:
 	void createGrid();
@@ -105,6 +106,7 @@
 	void refreshViewOnGoToDate();
 	void showHideRegionalInformation();
 	void onContextChanged();
+	void updateDayLabel();
 	
 private slots:
 	void createEditor();
@@ -113,9 +115,6 @@
 	void handleLeftEffectCompleted(const HbEffect::EffectStatus &status);
 	void handleRightEffectCompleted(const HbEffect::EffectStatus &status);
 	void addRemoveActionsInMenu();
-	
-public slots:
-	void launchDayView();
 	void changeOrientation(Qt::Orientation orientation);
 	
 private:
@@ -175,6 +174,7 @@
 	CalenPluginLabel *mNextRegionalInfo;
 	HbMenu *mDeleteSubMenu;
 	QColor mWeekDaysColor;
+	bool   mIsAboutToQuitEventConnected; // bool to check if month view is registered to get aboutToQuit signals
 };
 
 #endif //CALENMONTHVIEW_H
--- a/calendarui/views/inc/calennativeview.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/views/inc/calennativeview.h	Thu Jul 22 16:32:51 2010 +0100
@@ -19,6 +19,12 @@
 #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>
@@ -47,6 +53,10 @@
 		TBool pluginEnabled();
 		virtual void refreshViewOnGoToDate();
 		QString *pluginText();
+	    /**
+	     * captureScreenshot captures the current screenshot
+	     */
+		CALENNATIVEVIEW_EXPORT void captureScreenshot(bool captureScreenShot = false);
 		
 	protected:  // New functions
 	    CalenNativeView( MCalenServices& services );
@@ -63,13 +73,20 @@
         void deleteAllEntries();
         void launchSettingsView();
 	    virtual void changeOrientation(Qt::Orientation 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
     private:
         HbDateTimePicker	*mDatePicker;
+        bool                mIsCapturedScreenShotValid; // to check if the captured screenshot is valid
 	};
 
 #endif  // CALENNATIVEVIEW_H
--- a/calendarui/views/inc/calenpluginlabel.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/views/inc/calenpluginlabel.h	Thu Jul 22 16:32:51 2010 +0100
@@ -27,11 +27,12 @@
 	Q_OBJECT
 
 public:
-	CalenPluginLabel(MCalenServices &services, QGraphicsItem *parent = 0);
-	~CalenPluginLabel();
+	IMPORT_C CalenPluginLabel(MCalenServices &services, QGraphicsItem *parent = 0);
+	IMPORT_C ~CalenPluginLabel();
 
-private:
-	void mousePressEvent(QGraphicsSceneMouseEvent *event);
+protected:
+	void gestureEvent(QGestureEvent *event);
+
 	
 private:
 	MCalenServices	&mServices;
--- a/calendarui/views/inc/calenpreviewpane.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/views/inc/calenpreviewpane.h	Thu Jul 22 16:32:51 2010 +0100
@@ -23,7 +23,6 @@
 // System includes
 #include <qdatetime.h>
 #include <hbscrollarea.h>
-#include <hbgridviewitem.h>
 
 // Forward declarations
 class HbLabel;
@@ -50,12 +49,12 @@
 	void populateLabel( QDateTime date);
 	QDateTime Date();
 	void startAutoScroll();
-	void mousePressEvent(QGraphicsSceneMouseEvent* event);
-	void mouseReleaseEvent(QGraphicsSceneMouseEvent* event);
-	void mouseMoveEvent(QGraphicsSceneMouseEvent* event);
 	void setView(CalenMonthView* view);
 	void stopScrolling();
 	
+protected:
+	void gestureEvent(QGestureEvent *event);
+	
 private:
 	void GetInstanceListL();
 
@@ -82,6 +81,8 @@
 	HbLabel* mNoEntriesLabel;
 	bool mIsNoEntriesAdded;
 	bool mIsGestureHandled;
+	qreal mHtDiff;
+	int mScrollDuration;
 };
 
 #endif /* CALENPREVIEWPANE_H_ */
--- a/calendarui/views/inc/calensettingsview.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/views/inc/calensettingsview.h	Thu Jul 22 16:32:51 2010 +0100
@@ -44,19 +44,20 @@
 
 public:
     void initializeForm();
+    void refreshView();
     
 private slots:
 	void launchPreviousView();
 	
 private:
-    /**
-     * @var mSoftKeyAction
-     * @brief Holder for soft key action
-     */
-    HbAction *mSoftKeyAction;
+	MCalenServices  &mServices;
 	HbDataForm *mCalenSettingsForm;
 	CalenSettings *mCalenSettings;
-	MCalenServices  &mServices;
+	/**
+   * @var mSoftKeyAction
+   * @brief Holder for soft key action
+   */
+  HbAction *mSoftKeyAction;
 };
 
 #endif // DTSETTINGVIEW_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/inc/calentodayindicatorlinedrawer.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,43 @@
+/*
+* 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:  CalenTodayIndicatorLineDrawer class definition.
+*
+*/
+
+#ifndef CALENTODAYINDICATORLINEDRAWER_H
+#define CALENTODAYINDICATORLINEDRAWER_H
+
+// System includes
+#include <hbwidget.h>
+
+class CalenTodayIndicatorLineDrawer : public HbWidgetBase
+{
+	Q_OBJECT
+	
+public:
+	CalenTodayIndicatorLineDrawer( QGraphicsItem* parent = NULL );  
+	virtual ~CalenTodayIndicatorLineDrawer();
+		
+private:
+	void paint(
+			QPainter* painter, const QStyleOptionGraphicsItem* option,
+			QWidget* widget);
+	
+private slots:
+	void handleThemeChange();
+		
+};
+#endif /* CALENTODAYINDICATORLINEDRAWER_H */
+
+// End of file  --Don't remove this.
--- a/calendarui/views/resources/caleneventlistviewitem.css	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/views/resources/caleneventlistviewitem.css	Thu Jul 22 16:32:51 2010 +0100
@@ -6,72 +6,78 @@
     layout: custom-stretch;
 }
 
-CalenEventListViewItem[timeFormat12="true"]::text-1{
-	fixed-width: 13.5un;
-	text-height: var(hb-param-text-height-secondary);
-	text-align: left;
-	top: -var(hb-param-margin-gene-top);
-	left: -var(hb-param-margin-gene-left);
-	right: var(hb-param-margin-gene-right);
-	text-line-count-max: 2;
-	text-line-count-min: 2;
+CalenEventListViewItem::icon-1[layoutName="custom"]{
+    left: -var(hb-param-margin-gene-left);
+    right: var(hb-param-margin-gene-middle-horizontal);
+    fixed-width: var(hb-param-graphic-size-primary-small);
+    fixed-height: var(hb-param-graphic-size-primary-small);
+}
+
+CalenEventListViewItem::icon-2{
+    top: -var(hb-param-margin-gene-top);
+    right: var(hb-param-margin-gene-middle-horizontal);
+    fixed-width: var(hb-param-graphic-size-secondary);
+    fixed-height: var(hb-param-graphic-size-secondary);
 }
 
-CalenEventListViewItem[timeFormat12="false"]::text-1{
-	fixed-width: 9.5un;
-	text-height: var(hb-param-text-height-secondary);
-	text-align: right;
-	top: -var(hb-param-margin-gene-top);
-	left: -var(hb-param-margin-gene-left);
-	right: var(hb-param-margin-gene-right);
-	text-line-count-max: 2;
-	text-line-count-min: 2;
+CalenEventListViewItem::icon-3{
+    top: -var(hb-param-margin-gene-top);
+    right: var(hb-param-margin-gene-right);
+    fixed-width: var(hb-param-graphic-size-secondary);
+    fixed-height: var(hb-param-graphic-size-secondary);
 }
 
-CalenEventListViewItem::text-2[layoutName="custom"]{
-	font-variant: primary;
-	text-align: left;
+CalenEventListViewItem::icon-4{
+    right: var(hb-param-margin-gene-right);
+    fixed-width: var(hb-param-graphic-size-secondary);
+    fixed-height: var(hb-param-graphic-size-secondary);
+}
+
+CalenEventListViewItem::text-1{
+	left: -var(hb-param-margin-gene-left);
 	top: -var(hb-param-margin-gene-top);
-	right: var(hb-param-margin-gene-middle-horizontal);
-	min-width: 29un;
+    right: var(hb-param-margin-gene-middle-horizontal);
+    font-variant: secondary;
+	text-height: var(hb-param-text-height-secondary);
+
 }
 
-CalenEventListViewItem::text-3[layoutName="custom"]{
-	font-variant: secondary;
-	text-align: left;
-	top: -var(hb-param-margin-gene-middle-vertical);
-	bottom: var(hb-param-margin-gene-bottom);
-	right: var(hb-param-margin-gene-middle-horizontal);
-	min-width: 34un;
+CalenEventListViewItem::text-2{
+    top: -var(hb-param-margin-gene-top);
+    font-variant: primary;
+    text-height: var(hb-param-text-height-secondary);
+    text-align: left;
+    fixed-width: 29un;
 }
 
-CalenEventListViewItem::icon-1[layoutName="custom"]{
-	top: -var(hb-param-margin-gene-top);
-	left: -var(hb-param-margin-gene-top);
-	right: var(hb-param-margin-gene-middle-horizontal);
+CalenEventListViewItem::text-3{
+    top: -var(hb-param-margin-gene-middle-vertical);
+    bottom: var(hb-param-margin-gene-bottom);
+    font-variant: secondary;
+    text-height: var(hb-param-text-height-secondary);
+    text-align: left;
+    fixed-width: 35un;
 }
 
-CalenEventListViewItem::icon-2[layoutName="custom"]{
-	top: -var(hb-param-margin-gene-top);
-	right: var(hb-param-margin-gene-middle-horizontal);
-	text-align: right;
-	fixed-width: var(hb-param-graphic-size-secondary);
-	fixed-height: var(hb-param-graphic-size-secondary);
+CalenEventListViewItem::text-4{
+    font-variant: secondary;
+    text-height: var(hb-param-text-height-secondary);
+}
+
+CalenEventListViewItem::text-2:landscape[stretchItem="false"]{
+    fixed-width: 70un;
 }
 
-CalenEventListViewItem::icon-3[layoutName="custom"]{
-	top: -var(hb-param-margin-gene-top);
-	right: var(hb-param-margin-gene-right);
-	fixed-width: var(hb-param-graphic-size-secondary);
-	fixed-height: var(hb-param-graphic-size-secondary);
+CalenEventListViewItem::text-3:landscape[stretchItem="false"]{
+    fixed-width: 70un;
 }
 
-CalenEventListViewItem::icon-4[layoutName="custom"]{
-	top: -var(hb-param-margin-gene-middle-vertical);
-	right: var(hb-param-margin-gene-right);
-	bottom: var(hb-param-margin-gene-bottom);
-	fixed-width: var(hb-param-graphic-size-secondary);
-	fixed-height: var(hb-param-graphic-size-secondary);
+CalenEventListViewItem::text-2:landscape[stretchItem="true"]{
+    fixed-width: 35un;
+    bottom: var(hb-param-margin-gene-bottom);
 }
 
-
+CalenEventListViewItem::text-3:landscape[stretchItem="true"]{
+    fixed-width: 40un;
+    top: -var(hb-param-margin-gene-top);
+}
--- a/calendarui/views/resources/caleneventlistviewitem.widgetml	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/views/resources/caleneventlistviewitem.widgetml	Thu Jul 22 16:32:51 2010 +0100
@@ -2,54 +2,52 @@
 	<layout name="custom" type="mesh">
 		<meshitem src="text-1" srcEdge="TOP" dst="" dstEdge="TOP"/>
 		<meshitem src="text-1" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
-		<meshitem src="text-1" srcEdge="RIGHT" dst="text-2" dstEdge="LEFT"/>
+    	<meshitem src="text-1" srcEdge="RIGHT" dst="text-2" dstEdge="LEFT"/>
 		
 		<meshitem src="text-2" srcEdge="TOP" dst="" dstEdge="TOP"/>
-		<meshitem src="text-2" srcEdge="RIGHT" dst="icon-2" dstEdge="LEFT"/>
 		<meshitem src="text-2" srcEdge="BOTTOM" dst="text-3" dstEdge="TOP"/>
 		
-		<meshitem src="text-3" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
-		<meshitem src="text-3" srcEdge="LEFT" dst="text-2" dstEdge="LEFT"/>
-		
-		<meshitem src="icon-1" srcEdge="TOP" dst="" dstEdge="TOP"/>
-		<meshitem src="icon-1" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
-		<meshitem src="icon-1" srcEdge="RIGHT" dst="text-2" dstEdge="LEFT"/>
-		
-		<meshitem src="icon-2" srcEdge="TOP" dst="" dstEdge="TOP"/>
-		<meshitem src="icon-2" srcEdge="RIGHT" dst="icon-3" dstEdge="LEFT"/>
-		
-		<meshitem src="icon-3" srcEdge="TOP" dst="" dstEdge="TOP"/>
-		<meshitem src="icon-3" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
-		
-		<meshitem src="icon-4" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
-		<meshitem src="icon-4" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
+        <meshitem src="text-3" srcEdge="LEFT" dst="text-2" dstEdge="LEFT"/>
+        <meshitem src="text-3" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
+        
+        <meshitem src="text-4" srcEdge="TOP" dst="text-3" dstEdge="TOP"/>
+        <meshitem src="text-4" srcEdge="LEFT" dst="text-1" dstEdge="LEFT"/>
+        <meshitem src="text-4" srcEdge="RIGHT" dst="text-1" dstEdge="RIGHT"/>
+        <meshitem src="text-4" srcEdge="BOTTOM" dst="text-3" dstEdge="BOTTOM"/>
+        
+        <meshitem src="icon-1" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+        <meshitem src="icon-1" srcEdge="RIGHT" dst="text-2" dstEdge="LEFT"/>
+        <meshitem src="icon-1" srcEdge="CENTERV" dst="text-2" dstEdge="CENTERV"/>
+        
+        <meshitem src="icon-2" srcEdge="TOP" dst="" dstEdge="TOP"/>
+        <meshitem src="icon-2" srcEdge="RIGHT" dst="icon-3" dstEdge="LEFT"/>
+        
+        <meshitem src="icon-3" srcEdge="TOP" dst="" dstEdge="TOP"/>
+        <meshitem src="icon-3" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+        
+        <meshitem src="icon-4" srcEdge="TOP" dst="text-3" dstEdge="TOP"/>
+        <meshitem src="icon-4" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
 	</layout>
 
-	<layout name="custom-stretch" type="mesh">
-		<meshitem src="text-1" srcEdge="TOP" dst="" dstEdge="TOP"/>
-		<meshitem src="text-1" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
-		<meshitem src="text-1" srcEdge="RIGHT" dst="text-2" dstEdge="LEFT"/>
-		
-		<meshitem src="text-2" srcEdge="RIGHT" dst="icon-2" dstEdge="LEFT"/>
-		<meshitem src="text-2" srcEdge="CENTERV" dst="icon-1" dstEdge="CENTERV"/>
-		
-		<meshitem src="text-3" srcEdge="RIGHT" dst="icon-4" dstEdge="LEFT"/>
-		<meshitem src="text-3" srcEdge="CENTERV" dst="icon-1" dstEdge="CENTERV"/>
-		
-		<meshitem src="icon-1" srcEdge="TOP" dst="" dstEdge="TOP"/>
-		<meshitem src="icon-1" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
-		<meshitem src="icon-1" srcEdge="RIGHT" dst="text-2" dstEdge="LEFT"/>
-		<meshitem src="icon-1" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="var(hb-param-margin-gene-bottom)"/>
-		
-		<meshitem src="icon-2" srcEdge="RIGHT" dst="icon-3" dstEdge="LEFT"/>
-		<meshitem src="icon-2" srcEdge="CENTERV" dst="icon-1" dstEdge="CENTERV"/>
-		
-		<meshitem src="icon-3" srcEdge="RIGHT" dst="text-3" dstEdge="LEFT"/>
-		<meshitem src="icon-3" srcEdge="CENTERV" dst="icon-1" dstEdge="CENTERV"/>
-		
-		<meshitem src="icon-4" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
-		<meshitem src="icon-4" srcEdge="CENTERV" dst="icon-1" dstEdge="CENTERV"/>
-	</layout>
+    <layout name="custom-stretch" type="mesh">
+        <meshitem src="icon-1" srcEdge="LEFT" dst="" dstEdge="LEFT"/>
+        <meshitem src="icon-1" srcEdge="RIGHT" dst="text-2" dstEdge="LEFT"/>
+        <meshitem src="icon-1" srcEdge="CENTERV" dst="text-2" dstEdge="CENTERV"/>
+        
+        <meshitem src="text-2" srcEdge="TOP" dst="" dstEdge="TOP"/>
+        <meshitem src="text-2" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM"/>
 
-  
+        <meshitem src="icon-2" srcEdge="RIGHT" dst="icon-3" dstEdge="LEFT"/>
+        <meshitem src="icon-2" srcEdge="CENTERV" dst="text-2" dstEdge="CENTERV"/>
+        
+        <meshitem src="icon-3" srcEdge="RIGHT" dst="text-3" dstEdge="LEFT"/>
+        <meshitem src="icon-3" srcEdge="CENTERV" dst="text-2" dstEdge="CENTERV"/>
+        
+        <meshitem src="text-3" srcEdge="CENTERV" dst="text-2" dstEdge="CENTERV"/>
+        <meshitem src="text-3" srcEdge="RIGHT" dst="icon-4" dstEdge="LEFT"/>
+        
+        <meshitem src="icon-4" srcEdge="RIGHT" dst="" dstEdge="RIGHT"/>
+        <meshitem src="icon-4" srcEdge="CENTERV" dst="text-2" dstEdge="CENTERV"/>
+        
+    </layout>
 </hbwidget>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/resources/caleneventlistviewitem_color.css	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,35 @@
+CalenEventListViewItem::text-4{
+    color: var(qtc_list_item_content_normal);
+}
+
+CalenEventListViewItem::text-4[state="pressed"]{
+    color: var(qtc_list_item_pressed);
+}
+
+CalenEventListViewItem::text-4[state="disabled"]{
+    color: var(qtc_list_item_disabled);
+}
+
+CalenEventListViewItem::icon-3{
+    color: var(qtc_list_item_content_normal);
+}
+
+CalenEventListViewItem::icon-3[state="pressed"]{
+    color: var(qtc_list_item_pressed);
+}
+
+CalenEventListViewItem::icon-3[state="disabled"]{
+    color: var(qtc_list_item_disabled);
+}
+
+CalenEventListViewItem::icon-4{
+    color: var(qtc_list_item_content_normal);
+}
+
+CalenEventListViewItem::icon-4[state="pressed"]{
+    color: var(qtc_list_item_pressed);
+}
+
+CalenEventListViewItem::icon-4[state="disabled"]{
+    color: var(qtc_list_item_disabled);
+}
\ No newline at end of file
--- a/calendarui/views/resources/calengriditemprototype.css	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/views/resources/calengriditemprototype.css	Thu Jul 22 16:32:51 2010 +0100
@@ -36,5 +36,4 @@
 	left: -0.75un;
 	right: 0.75un;
 	fixed-height: 0.75un;
-	background-color: red;
 }
--- a/calendarui/views/resources/calenresources.qrc	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/views/resources/calenresources.qrc	Thu Jul 22 16:32:51 2010 +0100
@@ -4,6 +4,7 @@
 		<file>calengriditemprototype.css</file>
         	<file>caleneventlistviewitem.widgetml</file>
 		<file>caleneventlistviewitem.css</file>
+		<file>caleneventlistviewitem_color.css</file>
 		<file>qgn_indi_cdr_meeting_layer0.svg</file>
 		<file>qtg_mono_exception.png</file>
     </qresource>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/src/calenagendaview.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,347 @@
+/*
+* 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:  CalenAgendaView implementation.
+*
+*/
+
+// System includes
+#include <QGraphicsSceneEvent>
+#include <hbmainwindow.h>
+#include <hbaction.h>
+#include <hbpangesture.h>
+#include <hbswipegesture.h>
+#include <hbapplication.h> // hbapplication
+#include <hbactivitymanager.h> // Activity Manager
+
+// User includes
+#include "calenagendaview.h"
+#include "calendocloader.h"
+#include "calenagendaviewwidget.h"
+#include "calenservices.h"
+#include "calencommon.h"
+#include "calencontext.h"
+#include "calendateutils.h"
+#include "calenconstants.h"
+
+// ----------------------------------------------------------------------------
+// CalenAgendaView::CalenAgendaView
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//
+CalenAgendaView::CalenAgendaView(MCalenServices &services):
+CalenNativeView(services),
+mSoftKeyAction(NULL),
+mGoToTodayAction(NULL),
+mSwitchToDayViewAction(NULL),
+mActionTaken(false),
+mIsAboutToQuitEventConnected(false)
+{
+    // No implementation yet
+    grabGesture(Qt::SwipeGesture);
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaView::~CalenAgendaView
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//    
+CalenAgendaView::~CalenAgendaView()
+{
+    // No implementation yet
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaView::setupView
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//    
+void CalenAgendaView::setupView(CalenDocLoader *docLoader)
+{
+    if (!docLoader) {
+        // Nothing can be done. Simply return
+        return;
+    }
+    // Store the document loader for reference later
+	mDocLoader = docLoader;
+	
+	// Listen to orientation change events
+	connect(&(mServices.MainWindow()), SIGNAL(orientationChanged(Qt::Orientation)),
+	        this, SLOT(orientationChanged(Qt::Orientation)));
+	
+	// Get the pointer to the content widget
+	mAgendaViewWidget = qobject_cast<CalenAgendaViewWidget*>(mDocLoader->findWidget(CALEN_AGENDAVIEW_WIDGET));
+	if (!mAgendaViewWidget) {
+	    qFatal("calenagendaview.cpp : Unable to find the content widget");
+	}
+	mAgendaViewWidget->setupWidget(this);
+	
+	// Initialize all the menu and toolbar actions
+	setupActions();
+	// get a poitner to activity manager
+	HbActivityManager* activityManager = qobject_cast<HbApplication*>(qApp)->activityManager();
+
+	// clean up any previous versions of this activity, if any, i.e. activityName, from the activity manager. 
+	// Ignore return value, first boot would always return False. bool declared 
+	// only for debugging purpose.
+	bool ok = activityManager->removeActivity(activityName);
+	
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaView::doPopulation
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+// 
+void CalenAgendaView::doPopulation()
+    {
+    // The content widget has not been constructed. Don't do anything
+    if (!mAgendaViewWidget) {
+        return;
+    }
+    // Get the day for which this view is being shown from the context
+    mDate = mServices.Context().focusDateAndTime();
+    
+    // Check if the current day being shown is "Today"
+    if (mGoToTodayAction) {
+        if (mDate.date() == CalenDateUtils::today().date()) {
+            // Hide the "Go to today" option
+            mGoToTodayAction->setVisible(false);
+        } else {
+            mGoToTodayAction->setVisible(true);
+        }
+    }
+    
+    // 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()) {
+		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();
+    
+	//set Current Activity as day view
+    mActivityId = ECalenAgendaView;
+
+	// connect to receive a call back on Day View exit. Call back would result in saveActivity 
+	// to be called in Native View
+    if (!mIsAboutToQuitEventConnected) // check if already not connected
+        {
+        connect(qobject_cast<HbApplication*>(qApp), SIGNAL(aboutToQuit()), this, SLOT(saveActivity()));
+		mIsAboutToQuitEventConnected = true;
+        }
+
+
+    // Population is complete, issue a notification
+    populationComplete();
+    }
+
+/*!
+ Funtion to refresh the current view upon selecting a date
+ from GoToDate popup
+ */
+void CalenAgendaView::refreshViewOnGoToDate()
+{
+	// Get the day for which this view is being shown from the context
+	mDate = mServices.Context().focusDateAndTime();
+	
+	// Check if the current day being shown is "Today"
+	if (mGoToTodayAction) {
+		if (mDate.date() == CalenDateUtils::today().date()) {
+			// Hide the "Go to today" option
+			mGoToTodayAction->setVisible(false);
+		} else {
+			mGoToTodayAction->setVisible(true);
+		}
+	}
+	
+	// Initialize the content widget
+	mAgendaViewWidget->showWidget();
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaView::HandleNotification
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//    
+void CalenAgendaView::HandleNotification(const TCalenNotification notification)
+{
+    Q_UNUSED(notification)
+    // No implementation yet
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaView::docLoader
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//    
+CalenDocLoader* CalenAgendaView::docLoader()
+{
+    return mDocLoader;
+}
+
+/*
+	Function to listen for gestures
+*/
+void CalenAgendaView::gestureEvent(QGestureEvent *event)
+{
+    if(HbSwipeGesture *gesture = qobject_cast<HbSwipeGesture *>(event->gesture(Qt::SwipeGesture))) {
+        if (gesture->state() == Qt::GestureStarted) {
+            if(QSwipeGesture::Left == gesture->sceneHorizontalDirection()) {
+                mServices.IssueCommandL(ECalenShowNextDay);
+                event->accept(Qt::SwipeGesture);
+            } else if(QSwipeGesture::Right == gesture->sceneHorizontalDirection()) {
+                mServices.IssueCommandL(ECalenShowPrevDay);
+               event->accept(Qt::SwipeGesture);
+            }
+        }
+    } 
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaView::createToolBar
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//
+void CalenAgendaView::setupActions()
+{
+	// Get the actions associated with this view
+	HbAction *newEventAction = qobject_cast<HbAction *>
+                                (mDocLoader->findObject(CALEN_AGENDAVIEW_MENU_NEW_EVENT));
+	if (!newEventAction) {
+	    qFatal("calenagendaview.cpp : Unable to find new event action");
+	}
+	// Connect to the signal triggered by new event action
+	connect(newEventAction, SIGNAL(triggered()), mAgendaViewWidget, SLOT(createNewEvent()));
+	
+	mGoToTodayAction = qobject_cast<HbAction *>
+                        (mDocLoader->findObject(CALEN_AGENDAVIEW_MENU_GO_TO_TODAY));
+	if (!mGoToTodayAction) {
+	    qFatal("calenagendaview.cpp : Unable to find go to today action");
+	}
+	// Connect to the signal triggered by go to Today action
+	connect(mGoToTodayAction, SIGNAL(triggered()), mAgendaViewWidget, SLOT(goToToday()));
+	
+	HbAction *goToDateAction = qobject_cast<HbAction *>
+                                (mDocLoader->findObject(CALEN_AGENDAVIEW_MENU_GO_TO_DATE));
+	if (!goToDateAction) {
+	    qFatal("calenagendaview.cpp : Unable to find go to date action");
+	}
+	// Connect to the signal triggered by go to Date action
+	connect(goToDateAction, SIGNAL(triggered()), this, SLOT(goToDate()));
+	
+	mSwitchToDayViewAction = qobject_cast<HbAction *>
+	                                (mDocLoader->findObject(CALEN_AGENDAVIEW_MENU_SWITCH_TO_DAYVIEW));
+	if (!mSwitchToDayViewAction) {
+		    qFatal("calenagendaview.cpp : Unable to find go to date action");
+		}
+	// Connect to the signal triggered by switch to dayview action
+	connect(mSwitchToDayViewAction, SIGNAL(triggered()), this, SLOT(launchDayView()));
+	
+	HbAction *settingsAction = qobject_cast<HbAction *>
+                                (mDocLoader->findObject(CALEN_AGENDAVIEW_MENU_SETTINGS));
+	if (!settingsAction) {
+	    qFatal("calenagendaview.cpp : Unable to find settings action");
+	}
+	// Connect to the signal triggered by settings action
+	connect(settingsAction, SIGNAL(triggered()), this, SLOT(launchSettingsView()));
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaView::onLocaleChanged
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//    
+void CalenAgendaView::onLocaleChanged(int reason)
+{
+    Q_UNUSED(reason)
+    // Notify the content widget about the change
+    if(mAgendaViewWidget) {
+    mAgendaViewWidget->handleLocaleChange();
+    }
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaView::orientationChanged
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+// 
+void CalenAgendaView::orientationChanged(Qt::Orientation orientation)
+{
+    // Notify the content widget about the change
+    if (mAgendaViewWidget) {
+    mAgendaViewWidget->orientationChanged(orientation);
+    }
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaView::launchMonthView
+// ----------------------------------------------------------------------------
+//    
+void CalenAgendaView::launchMonthView()
+{
+    // Issue the command to launch the month view
+    mServices.IssueCommandL(ECalenMonthView);
+	// month view launched now, disconnect to get the call backs for saveActivity 
+	// on aboutToQuit signal
+    disconnectAboutToQuitEvent();
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaView::launchDayView
+// ----------------------------------------------------------------------------
+//    
+void CalenAgendaView::launchDayView()
+{
+    // Issue the command to launch the day view
+    mServices.IssueCommandL(ECalenDayView);
+}
+
+// ----------------------------------------------------------------------------
+// clears the list model 
+// ----------------------------------------------------------------------------
+// 
+void CalenAgendaView::clearListModel()
+    {
+	// day view is removed from the list disconnect for aboutToQuit events
+    disconnectAboutToQuitEvent();
+    mAgendaViewWidget->clearListModel();
+    }
+
+// ----------------------------------------------------------------------------
+// disconnectAboutToQuitEvent disconnects for the aboutToQuit events
+// ----------------------------------------------------------------------------
+// 
+void CalenAgendaView::disconnectAboutToQuitEvent()
+    {
+    if (mIsAboutToQuitEventConnected)
+        {
+        disconnect(qobject_cast<HbApplication*>(qApp), SIGNAL(aboutToQuit()), this, SLOT(saveActivity()));
+        mIsAboutToQuitEventConnected = false;
+        }
+    }
+
+// End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/src/calenagendaviewwidget.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,1142 @@
+/*
+* 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: CalenAgendaViewWidget implementation
+*
+*/
+
+// System includes
+#include <QStandardItemModel>
+#include <QGraphicsSceneEvent>
+#include <QDir>
+#include <QPluginLoader>
+#include <hbi18ndef.h>
+#include <hbextendedlocale.h>
+#include <hbgroupbox.h>
+#include <hbmenu.h>
+#include <hbaction.h>
+#include <hbmainwindow.h>
+#include <hbstyleloader.h>
+#include <hbdatetimepicker.h>
+#include <hbdialog.h>
+#include <xqsettingsmanager.h>
+#include <agendautil.h>
+#include <NotesEditorInterface>
+
+// User includes
+#include "calenagendaviewwidget.h"
+#include "calencommon.h"
+#include "calenagendaview.h"
+#include "calendocloader.h"
+#include "calenservices.h"
+#include "calencontext.h"
+#include "calendateutils.h"
+#include "CalenUid.h"
+#include "caleneventlistviewitem.h"
+#include "calenpluginlabel.h"
+#include "calendarprivatecrkeys.h"
+
+// Constants
+const QString singleSpace(" ");
+const QString doubleSpace("  ");
+const QString space("              ");
+const QString singleHyphen("-");
+const QString customLayout("custom");
+const char *stretchLayout("stretchItem");
+const QString toDoIcon("qtg_small_todo");
+const QString reminderIcon("qtg_mono_alarm");
+const QString locationIcon("qtg_mono_location");
+const QString repeatIcon("qtg_mono_repeat");
+// TODO: Replace with actual image name once its available
+//const QString allDayIcon("qtg_small_allday");
+const QString allDayIcon(":/qgn_indi_cdr_meeting_layer0.svg"); 
+const QString exceptionIcon("qtg_mono_repeat_exception");
+const int singleColumn(1);
+
+// ----------------------------------------------------------------------------
+// CalenAgendaViewWidget::CalenAgendaViewWidget
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//
+EXPORT_C CalenAgendaViewWidget::CalenAgendaViewWidget(MCalenServices &services,
+                                       CalenDocLoader *docLoader) :
+mServices(services),
+mDocLoader(docLoader),
+mRegionalInfoGroupBox(NULL),
+mLongTapEventFlag(false),
+mNotesPluginLoaded(false)
+{
+    // Construct the list view prototype
+    mListViewPrototype = new CalenEventListViewItem(this);
+    
+    // Create the list model
+    mListModel = new QStandardItemModel(this);
+    
+    // Register the custom docml and css to provide our own style to the list items
+    HbStyleLoader::registerFilePath(":/");
+    
+    //Create the setting manager
+    mSettingsManager = new XQSettingsManager(this);
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaViewWidget::~CalenAgendaViewWidget
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//    
+EXPORT_C CalenAgendaViewWidget::~CalenAgendaViewWidget()
+{
+	// Unload notes editor if loaded.
+	if (mNotesEditorPluginLoader) {
+		mNotesEditorPluginLoader->unload();
+		delete mNotesEditorPluginLoader;
+		mNotesEditorPluginLoader = 0;
+	}
+
+    if (mListViewPrototype) {
+        delete mListViewPrototype;
+        mListViewPrototype = NULL;
+    }
+    if (mListModel) {
+        // Do not delete the model since its owned by the view
+        mListModel->clear();
+    }
+    if (mSettingsManager) {
+    	delete mSettingsManager;
+    	mSettingsManager = NULL;
+    }
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaViewWidget::setupWidget
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//    
+void CalenAgendaViewWidget::setupWidget(CalenAgendaView *view)
+{
+    // Store the view for future reference
+	mView = view;
+	
+	if (!mDocLoader) {
+	    // Nothing much can be done. Simply return
+	    return;
+	}
+
+	// Initialize the child widgets
+	initChildWidgets();
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaViewWidget::showWidget
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//
+void CalenAgendaViewWidget::showWidget()
+{
+    // Get the date for which this view has been launched
+    mDate = mServices.Context().focusDateAndTime();
+        
+    // Set the heading text
+    setHeadingText();
+
+    // Get the instance list
+    getInstanceList();
+    
+    // Check if regional information needs to be shown
+    // and add it or remove it
+    showHideRegionalInformation();
+
+    // Load the appropriate section based on the number of events for the day
+    if (0 == mInstanceArray.count()) {
+        // There are no entries for the day
+        // Load and show the empty list section
+        bool loadSuccess = false;
+
+        // Hide the list which shows the events
+        mEventsList->hide();
+
+        // Show the empty list text
+        mEmptyListLabel->show();
+
+        // Get the current device orientation
+        int orientation = mServices.MainWindow().orientation();
+        if (Qt::Vertical == orientation) {
+            mDocLoader->load(CALEN_AGENDAVIEW_XML_FILE, "emptyList", &loadSuccess);
+        } else {
+            mDocLoader->load(CALEN_AGENDAVIEW_XML_FILE, "emptyLandscape", &loadSuccess);
+        }
+        if (!loadSuccess) {
+            qFatal("calenagendaviewwidget.cpp : Unable to load empty list section");
+        }
+    } else {
+        // Hide the empty view label
+        mEmptyListLabel->hide();
+
+        // Show the events list
+        mEventsList->show();
+
+        // There are one or more events. Load the non-empty section
+        bool loadSuccess = false;
+        mDocLoader->load(CALEN_AGENDAVIEW_XML_FILE, "nonEmptyList", &loadSuccess);
+        if (!loadSuccess) {
+            qFatal("calenagendaviewwidget.cpp : Unable to load non-empty list section");
+        }
+        // Now populate the list with the events
+        populateListWidget();
+    }
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaViewWidget::orientationChanged
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//
+void CalenAgendaViewWidget::orientationChanged(Qt::Orientation orientation)
+{
+    // Load the appropriate section based on the number of events for the day
+    if (0 == mInstanceArray.count()) {
+        // There are no entries for the day
+        // Load and show the empty list section
+        bool loadSuccess = false;
+
+        // Hide the list which shows the events
+        mEventsList->hide();
+
+        // Show the empty list text
+        mEmptyListLabel->show();
+
+        if (Qt::Vertical == orientation) {
+            mDocLoader->load(CALEN_AGENDAVIEW_XML_FILE, "emptyList", &loadSuccess);
+        } else {
+            mDocLoader->load(CALEN_AGENDAVIEW_XML_FILE, "emptyLandscape", &loadSuccess);
+        }
+        if (!loadSuccess) {
+            qFatal("calenagendaviewwidget.cpp : Unable to load empty list section");
+        }
+    } else {
+        // Hide the empty view label
+        mEmptyListLabel->hide();
+
+        // Show the events list
+        mEventsList->show();
+
+        // There are one or more events. Load the non-empty section
+        bool loadSuccess = false;
+        mDocLoader->load(CALEN_AGENDAVIEW_XML_FILE, "nonEmptyList", &loadSuccess);
+        if (!loadSuccess) {
+            qFatal("calenagendaviewwidget.cpp : Unable to load non-empty list section");
+        }
+        handleListItemStretching(orientation);
+    }
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaViewWidget::handleLocaleChange
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//
+void CalenAgendaViewWidget::handleLocaleChange()
+{
+
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaViewWidget::setContextFromHighlight
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//    
+void CalenAgendaViewWidget::setContextFromHighlight(AgendaEntry entry)
+{
+    if (entry.isTimedEntry()) {
+        // Timed entry.
+        QDateTime start = entry.startTime();
+        // start.setDate(mDate.date());
+        mServices.Context().setFocusDateAndTimeAndInstance(start,
+                                                            TCalenInstanceId::create(entry));
+    } else {
+        // Untimed entry.
+        if (CalenDateUtils::onSameDay(TCalenInstanceId::create(entry).mInstanceTime,
+                                      mDate)) {
+            mServices.Context().setInstanceId(TCalenInstanceId::create(entry));
+        } else {
+            // Multi-day untimed note (either multi-day day note or weird todo).
+            // Focus on the instance and set the focus time to the highlighted day.
+            mServices.Context().setFocusDateAndTimeAndInstance(mDate,
+                                                                TCalenInstanceId::create(entry));
+        }
+    }
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaViewWidget::initChildWidgets
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//
+void CalenAgendaViewWidget::initChildWidgets()
+{
+    // Get the pointer to the events list
+    mEventsList = static_cast<HbListView*> (mDocLoader->findWidget(CALEN_AGENDAVIEW_LISTWIDGET));
+    if (!mEventsList) {
+        qFatal("calenagendaviewwidget.cpp : Unable to find the events list");
+    }
+    // NOTE: Layout name MUST be same as the name mentioned in the css
+    mEventsList->setLayoutName(customLayout);
+    
+    // TODO : remove this line after gestures are available
+    mEventsList->installEventFilter(mView);
+
+    // Connect to the long press and activation signals
+    connect(mEventsList, SIGNAL(longPressed(HbAbstractViewItem*, const QPointF&)),
+            this, SLOT(itemLongPressed(HbAbstractViewItem*, const QPointF&)));
+    connect(mEventsList, SIGNAL(activated(const QModelIndex&)), this,
+            SLOT(itemActivated(const QModelIndex&)));
+    
+    // Get the pointer to label from the loader.
+    mHeadingLabel = qobject_cast<HbGroupBox*> (mDocLoader->findWidget(CALEN_AGENDAVIEW_HEADING));
+    if (!mHeadingLabel) {
+        qFatal("calenagendaviewwidget.cpp : Unable to find heading widget");
+    }
+    
+    // Get the pointer to the empty view label
+    mEmptyListLabel = qobject_cast<HbLabel*> (mDocLoader->findWidget("noEventsLabel"));
+    if (!mEmptyListLabel) {
+        qFatal("calenagendaviewwidget.cpp : Unable to find empty list label");
+    }
+    HbWidget *headingPluginWidget = 
+    		qobject_cast<HbWidget*> (mDocLoader->findWidget(CALEN_AGENDAVIEW_HEADING_REGIONALPLUGIN_WIDGET));
+    
+    mRegionalPluginLayout = static_cast<QGraphicsLinearLayout*>(headingPluginWidget->layout());
+    
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaViewWidget::populateListWidget
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//    
+void CalenAgendaViewWidget::populateListWidget()
+{
+    // Recycle the list items so that only needed rows
+    // are added or removed
+    if (mInstanceArray.count() == 0) {
+        // Reset the list
+        mEventsList->reset();
+        // Clear the model to ensure it does not have any old items
+        mListModel->clear();
+        return;
+    } else if (mInstanceArray.count() > mListModel->rowCount()) {
+        // There are more events than the number of items
+        // in the list. Add more rows
+        mListModel->insertRows(0, mInstanceArray.count() - mListModel->rowCount());
+    } else if (mInstanceArray.count() < mListModel->rowCount()) {
+        // There are less number of events than the number
+        // of items in the list. Remove the extra rows
+        mListModel->removeRows(0, mListModel->rowCount() - mInstanceArray.count());
+    }
+    mListModel->setColumnCount(singleColumn);
+    
+    // Add all the events to the list
+    for (int index = 0; index < mInstanceArray.count(); index++) {
+        // Get each of the entry details
+        AgendaEntry entry = mInstanceArray[index];
+        // Create a list item for each entry
+        createListItem(index, entry);
+    }
+    // Add the item on to the list widget
+    mEventsList->setModel(mListModel, mListViewPrototype);
+    
+    // Now get the item to scroll to
+    int scrollToIndex = getIndexToScrollTo();
+    if (mListModel->rowCount() > 0) {
+        // Scroll to the index only if index is valid
+        mEventsList->scrollTo(mListModel->index(scrollToIndex, 0));
+    }
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaViewWidget::getInstanceList
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//    
+void CalenAgendaViewWidget::getInstanceList()
+{
+    // Clear the previous instance list
+    mInstanceArray.clear();
+    
+    // Check if the date is valid
+    if (!CalenDateUtils::isValidDay(mDate)) {
+        mDate = CalenDateUtils::today();
+    }
+    
+    // Set the filter flags to fetch all relevant entries
+    AgendaUtil::FilterFlags filter = AgendaUtil::FilterFlags(AgendaUtil::IncludeAnniversaries |
+                                                             AgendaUtil::IncludeAppointments | 
+                                                             AgendaUtil::IncludeEvents |
+                                                             AgendaUtil::IncludeReminders |
+                                                             AgendaUtil::IncludeIncompletedTodos);
+    
+    // Fetch the instance list from the agenda interface
+    mInstanceArray = mServices.agendaInterface()->createEntryIdListForDay(mDate, filter);
+    
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaViewWidget::setDateToLabel
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//
+void CalenAgendaViewWidget::setHeadingText()
+    {
+    // Format the date as per the device locale settings
+	HbExtendedLocale systemLocale = HbExtendedLocale::system();
+	
+	// Get localised name of the day from locale
+	QString dayString = systemLocale.dayName(mDate.date().dayOfWeek());
+	// Append a single space
+	dayString.append(singleSpace);
+	// Set the heading
+	// Append the date which is formatted as per the locale
+	mHeadingLabel->setHeading(hbTrId(
+				"txt_calendar_subhead_1_2").arg(dayString).arg(
+				systemLocale.format(mDate.date(), r_qtn_date_usual_with_zero)));
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaViewWidget::createListItem
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//
+void CalenAgendaViewWidget::createListItem(int index, AgendaEntry entry)
+{
+    if (index < 0 || entry.isNull()) {
+        // Not a valid index or entry. Dont do anything
+        return;
+    }
+    // Check if the entry is a timed entry
+    // TODO: Right now, only appointment/meeting type is being handled
+    // Handle other timed entry types like reminder etc
+    if (entry.isTimedEntry()) {
+        // Get the text and icon data for the entry
+        addTimedEventToList(index, entry);
+    } else {
+        addNonTimedEventToList(index, entry);
+    }
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaViewWidget::addTimedEventToList
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//
+void CalenAgendaViewWidget::addTimedEventToList(int index, AgendaEntry entry)
+{
+    // Create text and icon list to set to the model
+    QVariantList textData;
+    QVariantList iconData;
+    bool twoLines = false;
+    
+    /**
+     * IMPORTANT NOTE: All the text and icon items must be
+     * inserted into the variant list in a specific order.
+     * If not, chaos will set it!!!
+     * On a more serious note, the mesh layout depends on the
+     * fact that the icons and text data will be added in a
+     * particular order. If one of the items go missing, the
+     * layout might get messed up. Also in case a particular item
+     * is not required to be added in the middle of the list, an
+     * empty QVariant must be added to indicate to the list view
+     * that the item must be removed from the layout.
+     * Do not mess with the order in case you are not sure what
+     * you are exactly doing.
+     */
+    
+    // The first icon to show to-do or all day should not be shown
+    // Append empty data to the icons list
+    iconData << QVariant();
+
+    // Check if alarm is enabled for the entry       
+    if (entry.alarm().isNull()) {
+        // Insert a blank icon. Else the next icon
+        // will get replaced in this icon's position
+        iconData << QVariant();
+    } else {
+        iconData << HbIcon(reminderIcon);
+    }
+
+    // Check if the entry is recurring
+    if (entry.isRepeating()) {
+        iconData << HbIcon(repeatIcon);
+    } else if (!entry.recurrenceId().isNull()) {
+        // This is an exceptional entry
+        iconData << HbIcon(exceptionIcon);
+    } else {
+        // Insert a blank icon. Else the next icon
+        // will get replaced in this icon's position
+        iconData << QVariant();
+    }
+
+    HbExtendedLocale locale = HbExtendedLocale::system();
+	// Get the start time and format as per the locale
+	QDateTime startTime = entry.startTime();
+	QTime eventStartTime;
+
+	if (CalenDateUtils::beginningOfDay(startTime)
+	        < CalenDateUtils::beginningOfDay(mDate)) {
+		// event is started previous day, show StarTime as 12:00 am in Agendaview, 
+		eventStartTime.setHMS(00, 00, 00);
+	} else {
+		eventStartTime = entry.startTime().time();
+	}
+    QString eventTime = locale.format(eventStartTime, r_qtn_time_usual_with_zero);
+
+	// Get the event end time
+	QDateTime endTime = entry.endTime();
+	QTime eventEndTime;
+
+	if (CalenDateUtils::beginningOfDay(endTime)
+	        > CalenDateUtils::beginningOfDay(mDate)) {
+		// event has MidNight crossover, show EndTime as 11:59pm in Agendaview, 
+		eventEndTime.setHMS(23, 59, 59);
+	} else {
+		eventEndTime = entry.endTime().time();
+	}
+
+    if (eventStartTime < eventEndTime) {
+        // Raise the flag to indicate that the list item
+        // would wrap to two lines
+        twoLines = true;
+        // Append '-' to indicate an end time is present
+        eventTime.append(singleHyphen);
+    } else {
+    	// To align the subject properly if the start and endtime are same
+    	eventTime.append(doubleSpace);
+    }
+    
+    // Add the event time to the text list
+    // This MUST be the first item to be added to the list 
+    textData << eventTime;
+
+    // Get the entry subject
+    QString subject = entry.summary();
+    if (subject.isEmpty() || subject.isNull()) {
+        // No subject. Add "(No subject)" text
+        subject.append(hbTrId("txt_calendar_dblist_unnamed"));
+    }
+    // Add the subject to the text list
+    // This MUST be the second item in the list
+    textData << subject;
+
+    // Check if the entry has location
+    // TODO: This must change to check for geo-location
+    // This MUST be the third item in the list
+    if (entry.location().isEmpty()) {
+        // Insert a blank icon. Else the next icon
+        // will get replaced in this icon's position
+        iconData << QVariant();
+        if (twoLines) {
+            /**
+             * NOTE: If the primary text is wrapping to two
+             * lines, then the location must be set as blank
+             * since the bottom of the list item is anchored to
+             * the bottom of the secondary text. Else the bottom
+             * of the list will overlap on the primary text
+             */
+            textData << singleSpace;
+        } else {
+            /**
+             * Else, set the secondary text to empty to indicate
+             * to the list view to remove the item itself and 
+             * shrink its size to a single line size
+             */
+            textData << QVariant();
+        }
+    } else {
+        // TODO: Location icon must be shown
+        // only if valid geo-coordinates are present
+        if (!entry.geoValue().isNull()){    
+            iconData << HbIcon(locationIcon);
+        }
+        else {
+            iconData << HbIcon();
+        }
+        textData << entry.location();
+    }
+    // Add the end time to the list item	
+    if (eventStartTime < eventEndTime) {
+    	QString endtime = locale.format(eventEndTime, r_qtn_time_usual_with_zero);
+    	endtime.append(singleSpace);
+    	textData << endtime;
+    }else {
+    	textData<<QString(space);
+    }
+    // Get the list model index and set the text and icon data
+    QModelIndex listIndex = mListModel->index(index, 0);
+    mListModel->setData(listIndex, textData, Qt::DisplayRole);
+    mListModel->setData(listIndex, iconData, Qt::DecorationRole);
+    
+    // Disable item stretching by removing the dynamic property
+    HbListViewItem *listViewItem = static_cast<HbListViewItem*>
+                                        (mEventsList->itemByIndex(mListModel->index(index, 0)));
+    if (listViewItem) {
+        listViewItem->setProperty(stretchLayout, false);
+    }
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaViewWidget::addNonTimedEventToList
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//
+void CalenAgendaViewWidget::addNonTimedEventToList(int index, AgendaEntry entry)
+{
+    QVariantList textData;
+    QVariantList iconData;
+    
+    /**
+     * IMPORTANT NOTE: All the text and icon items must be
+     * inserted into the variant list in a specific order.
+     * If not, chaos will set it!!!
+     * On a more serious note, the mesh layout depends on the
+     * fact that the icons and text data will be added in a
+     * particular order. If one of the items go missing, the
+     * layout might get messed up. Also in case a particular item
+     * is not required to be added in the middle of the list, an
+     * empty QVariant must be added to indicate to the list view
+     * that the item must be removed from the layout.
+     * Do not mess with the order in case you are not sure what
+     * you are exactly doing.
+     */
+    
+    // The first column text has to be empty
+    textData << QVariant();
+    
+    // Get the entry subject
+    QString subject = entry.summary();
+    if (subject.isEmpty() || subject.isNull()) {
+        // No subject. Add "(No subject)" text
+        subject.append(hbTrId("txt_calendar_dblist_unnamed"));
+    }
+    // Add the subject to the text list
+    // This MUST be the second item in the list
+    textData << subject;
+    
+    // Get the entry type
+    AgendaEntry::Type entryType = entry.type();
+        
+    if (entryType == AgendaEntry::TypeAnniversary) {
+        // Nothing to do as of now as anniversary events
+        // cannot be created
+        // TODO: To be handled in case of sync
+    } else if (entryType == AgendaEntry::TypeEvent) {
+        // This is an all day event
+        // Append the all-day icon
+        iconData << HbIcon(allDayIcon);
+        
+        // Check if alarm is enabled for the entry
+        if (entry.alarm().isNull()) {
+            // Insert a blank icon. Else next text item will get shifted to left
+            iconData << HbIcon();
+        } else {
+        	// if entry is not repeating in place of reminder icon put a blank 
+        	// icon and move reminder icon to the place of repeating icon 
+        	 if (!entry.isRepeating()) {
+        		 iconData << HbIcon();
+        	 }
+            iconData << HbIcon(reminderIcon);
+        }
+
+        // Check if the entry is recurring
+        if (entry.isRepeating()) {
+            iconData << HbIcon(repeatIcon);
+        } else {
+        	// put the blank icon only when both reminder and repeating icons 
+        	// are not there
+        	if (entry.alarm().isNull()) {
+        	iconData << HbIcon();
+        	}
+        }
+        
+        // Append the location
+        if (!entry.location().isEmpty()) {
+            textData << entry.location();
+            // TODO: Location icon must be shown
+            // only if valid geo-coordinates are present
+            if (!entry.geoValue().isNull()){ 
+                iconData << HbIcon(locationIcon);
+            }else {
+                iconData << HbIcon();
+            }
+        } else {
+            textData << QVariant();
+        }
+        // The fourth text item has to be empty
+        textData << QVariant();
+        
+    } else if (entryType == AgendaEntry::TypeTodo) {
+        // Append the to-do icon
+        iconData << HbIcon(toDoIcon);
+        
+        // Get the due date
+        QDateTime dueDate = entry.endTime();
+        
+        // Append the date first
+        QString dueDateString(hbTrId("txt_calendar_dblist_val_due_on_1"));
+        QString dueText;
+        dueText.setNum(dueDate.date().day());
+        dueText.append(singleSpace);
+        
+        // Append the month name next
+        HbExtendedLocale locale = HbExtendedLocale::system();
+        QString month = locale.monthName(dueDate.date().month());
+        dueText.append(month);
+        dueText.append(singleSpace);
+        
+        // Append the year
+        QString year;
+        year.setNum(dueDate.date().year());
+        dueText.append(year);
+        
+        textData << dueDateString.arg(dueText);
+        
+        // The fourth text item has to be empty
+        textData << QVariant();
+       
+        // Check if alarm is enabled for the entry
+        if (entry.alarm().isNull()) {
+        	// Insert a blank icon. Else next text item will get shifted to left
+        	iconData << HbIcon();
+        } else {
+        	// if entry is not repeating in place of reminder icon put a blank 
+        	// icon and move reminder icon to the place of repeating icon 
+        	if (!entry.isRepeating()) {
+        		iconData << HbIcon();
+        	}
+        	iconData << HbIcon(reminderIcon);
+        }
+
+        // Check if the entry is recurring
+        if (entry.isRepeating()) {
+        	iconData << HbIcon(repeatIcon);
+        } else {
+        	// Insert the blank icon only when both reminder and repeating icons 
+        	// are not there
+        	if (entry.alarm().isNull()) {
+        		iconData << HbIcon();
+        	}
+        }
+    }
+    
+    // Get the list model index and set the text and icon data
+    QModelIndex listIndex = mListModel->index(index, 0);
+    mListModel->setData(listIndex, textData, Qt::DisplayRole);
+    mListModel->setData(listIndex, iconData, Qt::DecorationRole);
+    
+    // Enable item stretching by adding the dynamic property
+    HbListViewItem *listViewItem = static_cast<HbListViewItem*>
+                                        (mEventsList->itemByIndex(mListModel->index(index, 0)));
+    Qt::Orientation orientation = mServices.MainWindow().orientation();
+    // Apply stretch only for landscape orientation
+    if (listViewItem) {
+        if (Qt::Horizontal == orientation) {
+            listViewItem->setProperty(stretchLayout, true);
+        } else {
+            listViewItem->setProperty(stretchLayout, false);
+        }
+    }
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaViewWidget::handleListItemStretching
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+// 
+void CalenAgendaViewWidget::handleListItemStretching(Qt::Orientation orientation)
+{
+    if (mInstanceArray.count() == 0) {
+        // Nothing much to do. Simply return
+        return;
+    }
+    for(int index = 0; index < mInstanceArray.count() ; index ++) {
+        AgendaEntry entry = mInstanceArray[index];
+        if (!entry.isNull()) {
+            AgendaEntry::Type eventType = entry.type();
+            switch(eventType) {
+                // Apply the stretching to only to-do's,
+                // anniversary and all-day event types
+                case AgendaEntry::TypeTodo:
+                case AgendaEntry::TypeEvent:
+                case AgendaEntry::TypeAnniversary:
+                {
+                    // Get the list view item corresponding to the index
+                    HbListViewItem *listItem = static_cast<HbListViewItem*>
+                                                (mEventsList->itemByIndex(mListModel->index(index, 0)));
+                    if (listItem) {
+                        if (orientation == Qt::Horizontal) {
+                            // Set a dynamic property to indicate that this list item
+                            // must be stretched in landscape.
+                            // NOTE: Property name MUST match the name specified in
+                            // css file, else wierd things might happen
+                            listItem->setProperty(stretchLayout, true);
+                        }
+                    }
+                }
+                    break;
+                default:
+                {
+                    HbListViewItem *listItem = static_cast<HbListViewItem*>
+                                                (mEventsList->itemByIndex(mListModel->index(index, 0)));
+                    if (listItem) {
+                        listItem->setProperty(stretchLayout, false);
+                    }
+                    break;
+                }
+            }
+        }
+    }
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaViewWidget::getIndexToScrollTo
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//  
+int CalenAgendaViewWidget::getIndexToScrollTo()
+{
+    int scrollIndex = 0;
+    TCalenInstanceId instanceId = mServices.Context().instanceId();
+    if (instanceId == TCalenInstanceId::nullInstanceId()) {
+        // If the instance is not set, then scroll to zero index
+        return scrollIndex;
+    }
+    
+    for (int index = 0 ; index < mInstanceArray.count() ; index++) {
+        AgendaEntry entry = mInstanceArray[index];
+        if (entry.id() == instanceId.mEntryLocalUid) {
+            // Match found.
+            scrollIndex = index;
+            break;
+        }
+    }
+    return scrollIndex;
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaViewWidget::showHideRegionalInformation
+// To Show and hide regional plugin label depends upon settings
+// ----------------------------------------------------------------------------
+//
+void CalenAgendaViewWidget::showHideRegionalInformation()
+{
+	if (mView->pluginEnabled()) {
+		XQSettingsKey regionalInfo(XQSettingsKey::TargetCentralRepository,
+		                           KCRUidCalendar, KCalendarShowRegionalInfo);
+
+		int showRegionalInfo = 
+						mSettingsManager->readItemValue(regionalInfo).toUInt();
+		if (showRegionalInfo) {
+
+			if (!mRegionalInfoGroupBox) {
+				mRegionalInfoGroupBox = new HbGroupBox();
+				CalenPluginLabel *regionalInfo = new CalenPluginLabel(
+						mServices, this);
+				regionalInfo->setFontSpec(HbFontSpec(HbFontSpec::Primary));
+				mRegionalInfoGroupBox->setContentWidget(regionalInfo);
+				mRegionalPluginLayout->insertItem(1, mRegionalInfoGroupBox);
+			}
+			QString *pluginString = mView->pluginText();
+			HbLabel *pluginInfoLabel = qobject_cast <HbLabel *> 
+									(mRegionalInfoGroupBox->contentWidget());
+			pluginInfoLabel->setPlainText(*pluginString);
+		}
+    } else {
+        if (mRegionalInfoGroupBox) {
+        	mRegionalPluginLayout->removeItem(mRegionalInfoGroupBox);
+            delete mRegionalInfoGroupBox;
+            mRegionalInfoGroupBox = NULL;
+        }
+    }
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaViewWidget::createNewEvent
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//    
+void CalenAgendaViewWidget::createNewEvent()
+{
+    // Issue a command to launch editor to create
+    // a new event
+	mServices.IssueCommandL(ECalenNewMeeting);
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaViewWidget::editEntry
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//    
+void CalenAgendaViewWidget::editEntry()
+{
+    // Check if the selected index is valid
+    if (mSelectedIndex < 0 || mSelectedIndex > mInstanceArray.count()) {
+        return;
+    }
+
+	// Get the entry details first
+	AgendaEntry entry = mInstanceArray[mSelectedIndex];
+	if (AgendaEntry::TypeTodo == entry.type()) {
+		// Load the notes editor plugin if not loaded.
+		if (!mNotesPluginLoaded) {
+			// Launch the to-do editor using notes editor plugin api
+			QDir dir(NOTES_EDITOR_PLUGIN_PATH);
+			QString pluginName = dir.absoluteFilePath(NOTES_EDITOR_PLUGIN_NAME);
+
+			// Create NotesEditor plugin loader object.
+			mNotesEditorPluginLoader = new QPluginLoader(pluginName);
+
+			// Load the plugin
+			mNotesPluginLoaded = mNotesEditorPluginLoader->load();
+		}
+
+		QObject *plugin = qobject_cast<QObject*> (
+				mNotesEditorPluginLoader->instance());
+
+		NotesEditorInterface* interface =
+				qobject_cast<NotesEditorInterface*>(plugin);
+
+		interface->edit(entry, mServices.agendaInterface());
+
+		connect(
+				interface, SIGNAL(editingCompleted(bool)),
+				this, SLOT(noteEditingCompleted(bool)));
+	} else {
+		// Set the context
+		setContextFromHighlight(entry);
+		// Issue a command to launch the editor to edit this entry
+		mServices.IssueCommandL(ECalenEditCurrentEntry);
+	}
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaViewWidget::viewEntry
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//    
+void CalenAgendaViewWidget::viewEntry()
+{
+    // Get the entry details first
+    AgendaEntry entry = mInstanceArray[mSelectedIndex];
+    
+    // Set the context
+    setContextFromHighlight(entry);
+        
+    // Launch the event viewer.
+    mServices.IssueCommandL(ECalenEventView);
+}
+
+
+// ----------------------------------------------------------------------------
+// CalenAgendaViewWidget::deleteEntry
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//    
+void CalenAgendaViewWidget::deleteEntry()
+{
+    // Check if the selected index is valid
+	if (mSelectedIndex < 0 || mSelectedIndex > mInstanceArray.count()) {
+		return;
+	}
+	
+	// Get the entry details
+	AgendaEntry entry = mInstanceArray[mSelectedIndex];
+	// Set the context
+	setContextFromHighlight(entry);
+	// Issue the command to delete the entry
+	mServices.IssueCommandL(ECalenDeleteCurrentEntry);
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaViewWidget::markAsDone
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//  
+void CalenAgendaViewWidget::markAsDone()
+{
+    // Check if the selected index is valid
+    if (mSelectedIndex < 0 || mSelectedIndex > mInstanceArray.count()) {
+        return;
+    }
+    
+    // Get the entry details
+    AgendaEntry entry = mInstanceArray[mSelectedIndex];
+    
+    // Check again if the event is of type to-to
+    if (AgendaEntry::TypeTodo == entry.type()) {
+        // Set the status of the to-do as completed
+        entry.setStatus(AgendaEntry::TodoCompleted);
+        // Update the completed date and time
+        entry.setCompletedDateTime(mDate);
+        
+        // Update the entry in the database
+        mServices.agendaInterface()->setCompleted(entry, true, mDate);
+		mServices.IssueCommandL(ECalenStartActiveStep);
+    }
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaViewWidget::itemLongPressed
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//    
+void CalenAgendaViewWidget::itemLongPressed(HbAbstractViewItem* listViewItem,
+                                         const QPointF& coords)
+{
+	mLongTapEventFlag = true;
+    // Update the selection index first
+    mSelectedIndex = listViewItem->modelIndex().row();
+    
+    if (mSelectedIndex < 0 || mSelectedIndex > mInstanceArray.count()) {
+        // Invalid index
+        return;
+    }
+
+    AgendaEntry entry = mInstanceArray[mSelectedIndex];
+    
+    // Create new menu.
+    HbMenu *contextMenu = new HbMenu();
+    
+    // Add the open option
+    HbAction *openAction = contextMenu->addAction(
+									hbTrId("txt_common_menu_open"));
+    
+    // Check the type of event
+    if (AgendaEntry::TypeTodo == entry.type()) {
+        // Add an option to mark the note as complete
+        HbAction *completeAction = contextMenu->addAction(
+									hbTrId("txt_calendar_menu_mark_as_done"));
+    }
+    
+    // Add the edit option
+    HbAction *editAction = contextMenu->addAction(
+									hbTrId("txt_common_menu_edit"));
+    
+    // Add the delete option
+    HbAction *deleteAction = contextMenu->addAction(
+									hbTrId("txt_common_menu_delete"));
+    
+    contextMenu->setDismissPolicy(HbMenu::TapAnywhere);
+
+    // Show context sensitive menu. 
+    // Param const QPointF& coordinate - is a longpress position.
+    contextMenu->setPreferredPos(coords);
+    connect(contextMenu, SIGNAL(aboutToClose()),
+								this, 
+								SLOT(contextMenuClosed()));
+    
+    contextMenu->open(this, SLOT(contextManuTriggered(HbAction *)));
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaViewWidget::itemActivated
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//    
+void CalenAgendaViewWidget::itemActivated(const QModelIndex &index)
+{
+    // Update the selection index first
+    mSelectedIndex = index.row();
+
+    // Check if the selected index is valid
+    if (mSelectedIndex < 0 || mSelectedIndex > mInstanceArray.count()) {
+        return;
+    }
+    if( !mLongTapEventFlag ) {
+    // Open the event for viewing
+    viewEntry();
+    }
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaViewWidget::itemActivated
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+// 
+void CalenAgendaViewWidget::noteEditingCompleted(bool status)
+{
+	// We need to refresh the list since user
+	// might have marked the to-do as complete or
+	// edited it or deleted it. So get the instance
+	// list again
+	if (status) {
+		mServices.IssueCommandL(ECalenStartActiveStep);
+	}
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaViewWidget::goToToday
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+// 
+void CalenAgendaViewWidget::goToToday()
+{
+    // First check if we are not already
+    // showing today's agenda
+    if (mDate == CalenDateUtils::today()) {
+        return;
+    }
+    
+    // Set the context for the current day
+    mServices.Context().setFocusDate(CalenDateUtils::today());
+    
+    mView->refreshViewOnGoToDate();
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaViewWidget::contextMenuClosed
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//
+void CalenAgendaViewWidget::contextMenuClosed()
+{
+	mLongTapEventFlag = false;
+}
+
+// ----------------------------------------------------------------------------
+// CalenAgendaViewWidget::contextManuTriggered
+// Rest of the details are commented in the header
+// ----------------------------------------------------------------------------
+//
+void CalenAgendaViewWidget::contextManuTriggered(HbAction *action)
+{
+	if (action->text() == hbTrId("txt_common_menu_open")) {
+		viewEntry();
+	} else if (action->text() == hbTrId("txt_calendar_menu_mark_as_done")) {
+		markAsDone();
+	} else if (action->text() == hbTrId("txt_common_menu_edit")) {
+		editEntry();
+	} else {
+		if (action->text() == hbTrId("txt_common_menu_delete")) {
+			deleteEntry();
+		}
+	}
+}
+// ----------------------------------------------------------------------------
+// CalenAgendaViewWidget::clearListModel
+// clears the list model 
+// ----------------------------------------------------------------------------
+// 
+void CalenAgendaViewWidget::clearListModel()
+    {
+    mListModel->clear();
+    }
+
+// End of file	--Don't remove this.
--- a/calendarui/views/src/calendayview.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,321 +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:  CalenDayView implementation.
-*
-*/
-
-// System includes
-#include <QGraphicsSceneEvent>
-#include <hbmainwindow.h>
-#include <hbaction.h>
-
-// User includes
-#include "calendayview.h"
-#include "calendocloader.h"
-#include "calendayviewwidget.h"
-#include "calenservices.h"
-#include "calencommon.h"
-#include "calencontext.h"
-#include "calendateutils.h"
-
-// ----------------------------------------------------------------------------
-// CalenDayView::CalenDayView
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//
-CalenDayView::CalenDayView(MCalenServices &services):
-CalenNativeView(services),
-mSoftKeyAction(NULL),
-mGoToTodayAction(NULL),
-mActionTaken(false)
-{
-    // No implementation yet
-}
-
-// ----------------------------------------------------------------------------
-// CCalenDayView::~CalenDayView
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//    
-CalenDayView::~CalenDayView()
-{
-    // No implementation yet
-}
-
-// ----------------------------------------------------------------------------
-// CCalenDayView::setupView
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//    
-void CalenDayView::setupView(CalenDocLoader *docLoader)
-{
-    if (!docLoader) {
-        // Nothing can be done. Simply return
-        return;
-    }
-    // Store the document loader for reference later
-	mDocLoader = docLoader;
-	
-	// Listen to orientation change events
-	connect(&(mServices.MainWindow()), SIGNAL(orientationChanged(Qt::Orientation)),
-	        this, SLOT(orientationChanged(Qt::Orientation)));
-	
-	// Get the pointer to the content widget
-	mDayViewWidget = qobject_cast<CalenDayViewWidget*>(mDocLoader->findWidget(CALEN_DAYVIEW_WIDGET));
-	if (!mDayViewWidget) {
-	    qFatal("calendayview.cpp : Unable to find the content widget");
-	}
-	mDayViewWidget->setupWidget(this);
-	
-	// Initialize all the menu and toolbar actions
-	setupActions();
-}
-
-// ----------------------------------------------------------------------------
-// CCalenDayView::doPopulation
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-// 
-void CalenDayView::doPopulation()
-    {
-    // The content widget has not been constructed. Don't do anything
-    if (!mDayViewWidget) {
-        return;
-    }
-    // Get the day for which this view is being shown from the context
-    mDate = mServices.Context().focusDateAndTimeL();
-    
-    // Check if the current day being shown is "Today"
-    if (mGoToTodayAction) {
-        if (mDate.date() == CalenDateUtils::today().date()) {
-            // Hide the "Go to today" option
-            mGoToTodayAction->setVisible(false);
-        } else {
-            mGoToTodayAction->setVisible(true);
-        }
-    }
-    
-    // Set self as the current view
-    // mServices.MainWindow().setCurrentView(this);
-    
-    // Dont override the soft key behavior if day view is the first view
-    if (ECalenDayView != 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()));
-	}
-    // Initialize the content widget
-    mDayViewWidget->showWidget();
-    
-    // Population is complete, issue a notification
-    populationComplete();
-    }
-
-/*!
- Funtion to refresh the current view upon selecting a date
- from GoToDate popup
- */
-void CalenDayView::refreshViewOnGoToDate()
-{
-	// Get the day for which this view is being shown from the context
-	mDate = mServices.Context().focusDateAndTimeL();
-	
-	// Check if the current day being shown is "Today"
-	if (mGoToTodayAction) {
-		if (mDate.date() == CalenDateUtils::today().date()) {
-			// Hide the "Go to today" option
-			mGoToTodayAction->setVisible(false);
-		} else {
-			mGoToTodayAction->setVisible(true);
-		}
-	}
-	
-	// Initialize the content widget
-	mDayViewWidget->showWidget();
-}
-
-// ----------------------------------------------------------------------------
-// CCalenDayView::HandleNotification
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//    
-void CalenDayView::HandleNotification(const TCalenNotification notification)
-{
-    Q_UNUSED(notification)
-    // No implementation yet
-}
-
-// ----------------------------------------------------------------------------
-// CCalenDayView::docLoader
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//    
-CalenDocLoader* CalenDayView::docLoader()
-{
-    return mDocLoader;
-}
-
-// ----------------------------------------------------------------------------
-// CalenDayView::handleLocaleChange
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//
-void CalenDayView::mousePressEvent(QGraphicsSceneMouseEvent *event)
-{
-    // TODO: Remove these after gestures are available
-    mTapPoint = event->pos();
-    event->accept();
-}
-
-// ----------------------------------------------------------------------------
-// CalenDayView::handleLocaleChange
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//
-void CalenDayView::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
-{
-    // TODO: Remove these after gestures are available
-    QPointF curPos = event->pos();
-    if (abs(curPos.y() - mTapPoint.y()) > 20) {
-        event->accept();
-        return;
-    }
-    if (curPos.x() - mTapPoint.x() > 50) {
-        mTapPoint = QPointF(0, 0);
-        mServices.IssueCommandL(ECalenShowPrevDay);
-        mActionTaken = true;
-    } else if (curPos.x() - mTapPoint.x() < -50) {
-        mTapPoint = QPointF(0, 0);
-        mServices.IssueCommandL(ECalenShowNextDay);
-        mActionTaken = true;
-    }
-    event->accept();
-}
-
-// ----------------------------------------------------------------------------
-// CCalenDayView::eventFilter
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//
-bool CalenDayView::eventFilter(QObject *source, QEvent *event)
-{
-    // TODO : remove this line after gestures are available
-    mActionTaken = false;
-    Q_UNUSED(source)
-    if (event->type() == QEvent::GraphicsSceneMousePress) {
-        QGraphicsSceneMouseEvent *mouseEvent = static_cast<QGraphicsSceneMouseEvent*>(event);
-        mousePressEvent(mouseEvent);
-    } else if (event->type() == QEvent::GraphicsSceneMouseMove) {
-        QGraphicsSceneMouseEvent *mouseEvent = static_cast<QGraphicsSceneMouseEvent*>(event);
-        mouseMoveEvent(mouseEvent);
-    }
-    if (mActionTaken) {
-        // Swipe gesture has been enforced.
-        // Do not pass the event to the source
-        return true;
-    }
-    return false;
-}
-
-// ----------------------------------------------------------------------------
-// CCalenDayView::createToolBar
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//
-void CalenDayView::setupActions()
-{
-	// Get the actions associated with this view
-	HbAction *newEventAction = qobject_cast<HbAction *>
-                                (mDocLoader->findObject(CALEN_DAYVIEW_MENU_NEW_EVENT));
-	if (!newEventAction) {
-	    qFatal("calendayview.cpp : Unable to find new event action");
-	}
-	// Connect to the signal triggered by new event action
-	connect(newEventAction, SIGNAL(triggered()), mDayViewWidget, SLOT(createNewEvent()));
-	
-	mGoToTodayAction = qobject_cast<HbAction *>
-                        (mDocLoader->findObject(CALEN_DAYVIEW_MENU_GO_TO_TODAY));
-	if (!mGoToTodayAction) {
-	    qFatal("calendayview.cpp : Unable to find go to today action");
-	}
-	// Connect to the signal triggered by new event action
-	connect(mGoToTodayAction, SIGNAL(triggered()), mDayViewWidget, SLOT(goToToday()));
-	
-	HbAction *goToDateAction = qobject_cast<HbAction *>
-                                (mDocLoader->findObject(CALEN_DAYVIEW_MENU_GO_TO_DATE));
-	if (!goToDateAction) {
-	    qFatal("calendayview.cpp : Unable to find go to date action");
-	}
-	// Connect to the signal triggered by new event action
-	connect(goToDateAction, SIGNAL(triggered()), this, SLOT(goToDate()));
-	
-	HbAction *settingsAction = qobject_cast<HbAction *>
-                                (mDocLoader->findObject(CALEN_DAYVIEW_MENU_SETTINGS));
-	if (!settingsAction) {
-	    qFatal("calendayview.cpp : Unable to find settings action");
-	}
-	// Connect to the signal triggered by new event action
-	connect(settingsAction, SIGNAL(triggered()), this, SLOT(launchSettingsView()));
-}
-
-// ----------------------------------------------------------------------------
-// CCalenDayView::onLocaleChanged
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//    
-void CalenDayView::onLocaleChanged(int reason)
-{
-    Q_UNUSED(reason)
-    // Notify the content widget about the change
-    if(mDayViewWidget) {
-        mDayViewWidget->handleLocaleChange();
-    }
-}
-
-// ----------------------------------------------------------------------------
-// CCalenDayView::orientationChanged
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-// 
-void CalenDayView::orientationChanged(Qt::Orientation orientation)
-{
-    // Notify the content widget about the change
-    if (mDayViewWidget) {
-        mDayViewWidget->orientationChanged(orientation);
-    }
-}
-
-// ----------------------------------------------------------------------------
-// CCalenDayView::launchMonthView
-// ----------------------------------------------------------------------------
-//    
-void CalenDayView::launchMonthView()
-{
-    // Issue the command to launch the month view
-    mServices.IssueCommandL(ECalenMonthView);
-}
-
-// ----------------------------------------------------------------------------
-// CCalenDayView::clearListModel
-// clears the list model 
-// ----------------------------------------------------------------------------
-// 
-void CalenDayView::clearListModel()
-    {
-    mDayViewWidget->clearListModel();
-    }
-
-// End of file	--Don't remove this.
--- a/calendarui/views/src/calendayviewwidget.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1100 +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: CalenDayViewWidget implementation
-*
-*/
-
-// System includes
-#include <QStandardItemModel>
-#include <QGraphicsSceneEvent>
-#include <hbi18ndef.h>
-#include <hbextendedlocale.h>
-#include <hbgroupbox.h>
-#include <hbmenu.h>
-#include <hbaction.h>
-#include <hbmainwindow.h>
-#include <hbstyleloader.h>
-#include <hbdatetimepicker.h>
-#include <hbdialog.h>
-#include <xqsettingsmanager.h>
-#include <agendautil.h>
-#include <noteseditor.h>
-
-// User includes
-#include "calendayviewwidget.h"
-#include "calencommon.h"
-#include "calendayview.h"
-#include "calendocloader.h"
-#include "calenservices.h"
-#include "calencontext.h"
-#include "calendateutils.h"
-#include "CalenUid.h"
-#include "caleneventlistviewitem.h"
-#include "calenpluginlabel.h"
-#include "CalendarInternalCRKeys.h"
-
-// Constants
-static const QString singleSpace(" ");
-static const QString newLine("\n");
-static const QString customLayout("custom");
-static const char *stretchLayout("stretchItem");
-// TODO: Replace with actual image names later
-static const QString toDoIcon("qtg_small_todo");
-static const QString reminderIcon("qtg_mono_alarm");
-static const QString locationIcon("qtg_mono_location");
-static const QString repeatIcon("qtg_mono_repeat");
-static const QString allDayIcon(":/qgn_indi_cdr_meeting_layer0.svg");
-static const QString exceptionIcon(":/qtg_mono_exception.png");
-static const int singleColumn(1);
-
-// ----------------------------------------------------------------------------
-// CalenDayViewWidget::CalenDayViewWidget
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CalenDayViewWidget::CalenDayViewWidget(MCalenServices &services,
-                                       CalenDocLoader *docLoader) :
-mServices(services),
-mDocLoader(docLoader),
-mRegionalInfoGroupBox(NULL),
-mLongTapEventFlag(false)
-{
-    // Construct the list view prototype
-    mListViewPrototype = new CalenEventListViewItem(this);
-    
-    // Create the list model
-    mListModel = new QStandardItemModel(this);
-    
-    // Register the custom docml and css to provide our own style to the list items
-    HbStyleLoader::registerFilePath(":/");
-    
-    //Create the setting manager
-    mSettingsManager = new XQSettingsManager(this);
-}
-
-// ----------------------------------------------------------------------------
-// CalenDayViewWidget::~CalenDayViewWidget
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//    
-EXPORT_C CalenDayViewWidget::~CalenDayViewWidget()
-{
-    if (mListViewPrototype) {
-        delete mListViewPrototype;
-        mListViewPrototype = NULL;
-    }
-    if (mListModel) {
-        // Do not delete the model since its owned by the view
-        mListModel->clear();
-    }
-}
-
-// ----------------------------------------------------------------------------
-// CalenDayViewWidget::setupWidget
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//    
-void CalenDayViewWidget::setupWidget(CalenDayView *view)
-{
-    // Store the view for future reference
-	mView = view;
-	
-	if (!mDocLoader) {
-	    // Nothing much can be done. Simply return
-	    return;
-	}
-
-	// Initialize the child widgets
-	initChildWidgets();
-}
-
-// ----------------------------------------------------------------------------
-// CalenDayViewWidget::showWidget
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//
-void CalenDayViewWidget::showWidget()
-{
-    // Get the date for which this view has been launched
-    mDate = mServices.Context().focusDateAndTimeL();
-        
-    // Set the heading text
-    setHeadingText();
-
-    // Get the instance list
-    getInstanceList();
-    
-    // Check if regional information needs to be shown
-    // and add it or remove it
-    showHideRegionalInformation();
-
-    // Load the appropriate section based on the number of events for the day
-    if (0 == mInstanceArray.count()) {
-        // There are no entries for the day
-        // Load and show the empty list section
-        bool loadSuccess = false;
-
-        // Hide the list which shows the events
-        mEventsList->hide();
-
-        // Show the empty list text
-        mEmptyListLabel->show();
-
-        // Get the current device orientation
-        int orientation = mServices.MainWindow().orientation();
-        if (Qt::Vertical == orientation) {
-            mDocLoader->load(CALEN_DAYVIEW_XML_FILE, "emptyList", &loadSuccess);
-        } else {
-            mDocLoader->load(CALEN_DAYVIEW_XML_FILE, "emptyLandscape", &loadSuccess);
-        }
-        if (!loadSuccess) {
-            qFatal("calendayviewwidget.cpp : Unable to load empty list section");
-        }
-    } else {
-        // Hide the empty view label
-        mEmptyListLabel->hide();
-
-        // Show the events list
-        mEventsList->show();
-
-        // There are one or more events. Load the non-empty section
-        bool loadSuccess = false;
-        mDocLoader->load(CALEN_DAYVIEW_XML_FILE, "nonEmptyList", &loadSuccess);
-        if (!loadSuccess) {
-            qFatal("calendayviewwidget.cpp : Unable to load non-empty list section");
-        }
-        // Now populate the list with the events
-        populateListWidget();
-    }
-}
-
-// ----------------------------------------------------------------------------
-// CalenDayViewWidget::orientationChanged
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//
-void CalenDayViewWidget::orientationChanged(Qt::Orientation orientation)
-{
-    // Load the appropriate section based on the number of events for the day
-    if (0 == mInstanceArray.count()) {
-        // There are no entries for the day
-        // Load and show the empty list section
-        bool loadSuccess = false;
-
-        // Hide the list which shows the events
-        mEventsList->hide();
-
-        // Show the empty list text
-        mEmptyListLabel->show();
-
-        if (Qt::Vertical == orientation) {
-            mDocLoader->load(CALEN_DAYVIEW_XML_FILE, "emptyList", &loadSuccess);
-        } else {
-            mDocLoader->load(CALEN_DAYVIEW_XML_FILE, "emptyLandscape", &loadSuccess);
-        }
-        if (!loadSuccess) {
-            qFatal("calendayviewwidget.cpp : Unable to load empty list section");
-        }
-    } else {
-        // Hide the empty view label
-        mEmptyListLabel->hide();
-
-        // Show the events list
-        mEventsList->show();
-
-        // There are one or more events. Load the non-empty section
-        bool loadSuccess = false;
-        mDocLoader->load(CALEN_DAYVIEW_XML_FILE, "nonEmptyList", &loadSuccess);
-        if (!loadSuccess) {
-            qFatal("calendayviewwidget.cpp : Unable to load non-empty list section");
-        }
-        handleListItemStretching(orientation);
-    }
-}
-
-// ----------------------------------------------------------------------------
-// CalenDayViewWidget::handleLocaleChange
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//
-void CalenDayViewWidget::handleLocaleChange()
-{
-    if(mListViewPrototype) {
-        HbExtendedLocale locale = HbExtendedLocale::system();
-        HbExtendedLocale::TimeStyle timeStyle = locale.timeStyle();
-        if (HbExtendedLocale::Time12 == timeStyle) {
-            mListViewPrototype->setTimeFormat12Hr(true);
-        } else {
-            mListViewPrototype->setTimeFormat12Hr(false);
-        }
-        
-    }
-}
-
-// ----------------------------------------------------------------------------
-// CalenDayViewWidget::setContextFromHighlight
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//    
-void CalenDayViewWidget::setContextFromHighlight(AgendaEntry entry)
-{
-    if (entry.isTimedEntry()) {
-        // Timed entry.
-        QDateTime start = entry.startTime();
-        // start.setDate(mDate.date());
-        mServices.Context().setFocusDateAndTimeAndInstanceL(start,
-                                                            TCalenInstanceId::create(entry),
-                                                            KCalenDayViewUidValue);
-    } else {
-        // Untimed entry.
-        if (CalenDateUtils::onSameDay(TCalenInstanceId::create(entry).mInstanceTime,
-                                      mDate)) {
-            mServices.Context().setInstanceIdL(TCalenInstanceId::create(entry),
-                                               KCalenDayViewUidValue);
-        } else {
-            // Multi-day untimed note (either multi-day day note or weird todo).
-            // Focus on the instance and set the focus time to the highlighted day.
-            mServices.Context().setFocusDateAndTimeAndInstanceL(mDate,
-                                                                TCalenInstanceId::create(entry),
-                                                                KCalenDayViewUidValue);
-        }
-    }
-}
-
-// ----------------------------------------------------------------------------
-// CalenDayViewWidget::initChildWidgets
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//
-void CalenDayViewWidget::initChildWidgets()
-{
-    // Get the pointer to the events list
-    mEventsList = static_cast<HbListView*> (mDocLoader->findWidget(CALEN_DAYVIEW_LISTWIDGET));
-    if (!mEventsList) {
-        qFatal("calendayviewwidget.cpp : Unable to find the events list");
-    }
-    // NOTE: Layout name MUST be same as the name mentioned in the css
-    mEventsList->setLayoutName(customLayout);
-    
-    // TODO : remove this line after gestures are available
-    mEventsList->installEventFilter(mView);
-
-    // Connect to the long press and activation signals
-    connect(mEventsList, SIGNAL(longPressed(HbAbstractViewItem*, const QPointF&)),
-            this, SLOT(itemLongPressed(HbAbstractViewItem*, const QPointF&)));
-    connect(mEventsList, SIGNAL(activated(const QModelIndex&)), this,
-            SLOT(itemActivated(const QModelIndex&)));
-    
-    // Get the pointer to label from the loader.
-    mHeadingLabel = qobject_cast<HbGroupBox*> (mDocLoader->findWidget(CALEN_DAYVIEW_HEADING));
-    if (!mHeadingLabel) {
-        qFatal("calendayviewwidget.cpp : Unable to find heading widget");
-    }
-    
-    // Get the pointer to the empty view label
-    mEmptyListLabel = qobject_cast<HbLabel*> (mDocLoader->findWidget("noEventsLabel"));
-    if (!mEmptyListLabel) {
-        qFatal("calendayviewwidget.cpp : Unable to find empty list label");
-    }
-    HbWidget *headingPluginWidget = 
-    		qobject_cast<HbWidget*> (mDocLoader->findWidget(CALEN_DAYVIEW_HEADING_REGIONALPLUGIN_WIDGET));
-    
-    mRegionalPluginLayout = static_cast<QGraphicsLinearLayout*>(headingPluginWidget->layout());
-    
-}
-
-// ----------------------------------------------------------------------------
-// CalenDayViewWidget::populateListWidget
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//    
-void CalenDayViewWidget::populateListWidget()
-{
-    // Recycle the list items so that only needed rows
-    // are added or removed
-    if (mInstanceArray.count() == 0) {
-        // Reset the list
-        mEventsList->reset();
-        // Clear the model to ensure it does not have any old items
-        mListModel->clear();
-        return;
-    } else if (mInstanceArray.count() > mListModel->rowCount()) {
-        // There are more events than the number of items
-        // in the list. Add more rows
-        mListModel->insertRows(0, mInstanceArray.count() - mListModel->rowCount());
-    } else if (mInstanceArray.count() < mListModel->rowCount()) {
-        // There are less number of events than the number
-        // of items in the list. Remove the extra rows
-        mListModel->removeRows(0, mListModel->rowCount() - mInstanceArray.count());
-    }
-    mListModel->setColumnCount(singleColumn);
-    
-    // Add all the events to the list
-    for (int index = 0; index < mInstanceArray.count(); index++) {
-        // Get each of the entry details
-        AgendaEntry entry = mInstanceArray[index];
-        // Create a list item for each entry
-        createListItem(index, entry);
-    }
-    // Add the item on to the list widget
-    mEventsList->setModel(mListModel, mListViewPrototype);
-    
-    // Now get the item to scroll to
-    int scrollToIndex = getIndexToScrollTo();
-    if (mListModel->rowCount() > 0) {
-        // Scroll to the index only if index is valid
-        mEventsList->scrollTo(mListModel->index(scrollToIndex, 0));
-    }
-}
-
-// ----------------------------------------------------------------------------
-// CalenDayViewWidget::getInstanceList
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//    
-void CalenDayViewWidget::getInstanceList()
-{
-    // Clear the previous instance list
-    mInstanceArray.clear();
-    
-    // Check if the date is valid
-    if (!CalenDateUtils::isValidDay(mDate)) {
-        mDate = CalenDateUtils::today();
-    }
-    
-    // Set the filter flags to fetch all relevant entries
-    AgendaUtil::FilterFlags filter = AgendaUtil::FilterFlags(AgendaUtil::IncludeAnniversaries |
-                                                             AgendaUtil::IncludeAppointments | 
-                                                             AgendaUtil::IncludeEvents |
-                                                             AgendaUtil::IncludeReminders |
-                                                             AgendaUtil::IncludeIncompletedTodos);
-    
-    // Fetch the instance list from the agenda interface
-    mInstanceArray = mServices.agendaInterface()->createEntryIdListForDay(mDate, filter);
-    
-    if (0 == mInstanceArray.count()) {
-        // There are no events to populate
-        // Hide the events list
-        mEventsList->hide();
-        // Show the empty list text
-        mEmptyListLabel->show();
-        return;
-    }
-}
-
-// ----------------------------------------------------------------------------
-// CalenDayViewWidget::setDateToLabel
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//
-void CalenDayViewWidget::setHeadingText()
-    {
-    // Format the date as per the device locale settings
-	HbExtendedLocale systemLocale = HbExtendedLocale::system();
-	
-	// Get localised name of the day from locale
-	QString dayString = systemLocale.dayName(mDate.date().dayOfWeek());
-	// Append a single space
-	dayString.append(singleSpace);
-	// Set the heading
-	// Append the date which is formatted as per the locale
-	mHeadingLabel->setHeading(hbTrId(
-				"txt_calendar_subhead_1_2").arg(dayString).arg(
-				systemLocale.format(mDate.date(), r_qtn_date_usual_with_zero)));
-}
-
-// ----------------------------------------------------------------------------
-// CalenDayViewWidget::createListItem
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//
-void CalenDayViewWidget::createListItem(int index, AgendaEntry entry)
-{
-    if (index < 0 || entry.isNull()) {
-        // Not a valid index or entry. Dont do anything
-        return;
-    }
-    // Check if the entry is a timed entry
-    // TODO: Right now, only appointment/meeting type is being handled
-    // Handle other timed entry types like reminder etc
-    if (entry.isTimedEntry()) {
-        // Get the text and icon data for the entry
-        addTimedEventToList(index, entry);
-    } else {
-        addNonTimedEventToList(index, entry);
-    }
-}
-
-// ----------------------------------------------------------------------------
-// CalenDayViewWidget::addTimedEventToList
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//
-void CalenDayViewWidget::addTimedEventToList(int index, AgendaEntry entry)
-{
-    // Create text and icon list to set to the model
-    QVariantList textData;
-    QVariantList iconData;
-    bool twoLines = false;
-    
-    /**
-     * IMPORTANT NOTE: All the text and icon items must be
-     * inserted into the variant list in a specific order.
-     * If not, chaos will set it!!!
-     * On a more serious note, the mesh layout depends on the
-     * fact that the icons and text data will be added in a
-     * particular order. If one of the items go missing, the
-     * layout might get messed up. Also in case a particular item
-     * is not required to be added in the middle of the list, an
-     * empty QVariant must be added to indicate to the list view
-     * that the item must be removed from the layout.
-     * Do not mess with the order in case you are not sure what
-     * you are exactly doing.
-     */
-    
-    // The first icon to show to-do or all day should not be shown
-    // Append empty data to the icons list
-    iconData << QVariant();
-
-    // Check if alarm is enabled for the entry       
-    if (entry.alarm().isNull()) {
-        // Insert a blank icon. Else the next icon
-        // will get replaced in this icon's position
-        iconData << QVariant();
-    } else {
-        iconData << HbIcon(reminderIcon);
-    }
-
-    // Check if the entry is recurring
-    if (entry.isRepeating()) {
-        iconData << HbIcon(repeatIcon);
-    } else if (!entry.recurrenceId().isNull()) {
-        // This is an exceptional entry
-        iconData << HbIcon(exceptionIcon);
-    } else {
-        // Insert a blank icon. Else the next icon
-        // will get replaced in this icon's position
-        iconData << QVariant();
-    }
-
-    HbExtendedLocale locale = HbExtendedLocale::system();
-	// Get the start time and format as per the locale
-	QDateTime startTime = entry.startTime();
-	QTime eventStartTime;
-
-	if (CalenDateUtils::beginningOfDay(startTime)
-	        < CalenDateUtils::beginningOfDay(mDate)) {
-		// event is started previous day, show StarTime as 12:00 am in Agendaview, 
-		eventStartTime.setHMS(00, 00, 00);
-	} else {
-		eventStartTime = entry.startTime().time();
-	}
-    QString eventTime = locale.format(eventStartTime, r_qtn_time_usual_with_zero);
-
-	// Get the event end time
-	QDateTime endTime = entry.endTime();
-	QTime eventEndTime;
-
-	if (CalenDateUtils::beginningOfDay(endTime)
-	        > CalenDateUtils::beginningOfDay(mDate)) {
-		// event has MidNight crossover, show EndTime as 11:59pm in Agendaview, 
-		eventEndTime.setHMS(23, 59, 59);
-	} else {
-		eventEndTime = entry.endTime().time();
-	}
-
-    if (eventStartTime < eventEndTime) {
-        // Raise the flag to indicate that the list item
-        // would wrap to two lines
-        twoLines = true;
-        // Append '-' to indicate an end time is present
-        eventTime.append("-");
-        // Append new line to wrap to next line
-        eventTime.append(newLine);
-        // Event is a not a zero duration meeting
-        // Only in this case, append the end time
-        eventTime.append(locale.format(eventEndTime, r_qtn_time_usual_with_zero));
-    } else {
-        // Append new line to wrap to next line
-        eventTime.append(newLine);
-    }
-    // Add the event time to the text list
-    // This MUST be the first item to be added to the list 
-    textData << eventTime;
-
-    // Get the entry subject
-    QString subject = entry.summary();
-    if (subject.isEmpty() || subject.isNull()) {
-        // No subject. Add "(No subject)" text
-        subject.append(hbTrId("txt_calendar_dblist_unnamed"));
-    }
-    // Add the subject to the text list
-    // This MUST be the second item in the list
-    textData << subject;
-
-    // Check if the entry has location
-    // TODO: This must change to check for geo-location
-    // This MUST be the third item in the list
-    if (entry.location().isEmpty()) {
-        // Insert a blank icon. Else the next icon
-        // will get replaced in this icon's position
-        iconData << QVariant();
-        if (twoLines) {
-            /**
-             * NOTE: If the primary text is wrapping to two
-             * lines, then the location must be set as blank
-             * since the bottom of the list item is anchored to
-             * the bottom of the secondary text. Else the bottom
-             * of the list will overlap on the primary text
-             */
-            textData << singleSpace;
-        } else {
-            /**
-             * Else, set the secondary text to empty to indicate
-             * to the list view to remove the item itself and 
-             * shrink its size to a single line size
-             */
-            textData << QVariant();
-        }
-    } else {
-        // TODO: Location icon must be shown
-        // only if valid geo-coordinates are present
-        // iconData << HbIcon(locationIcon);
-        textData << entry.location();
-    }
-    
-    // Get the list model index and set the text and icon data
-    QModelIndex listIndex = mListModel->index(index, 0);
-    mListModel->setData(listIndex, textData, Qt::DisplayRole);
-    mListModel->setData(listIndex, iconData, Qt::DecorationRole);
-    
-    // Disable item stretching by removing the dynamic property
-    HbListViewItem *listViewItem = static_cast<HbListViewItem*>
-                                        (mEventsList->itemByIndex(mListModel->index(index, 0)));
-    if (listViewItem) {
-        listViewItem->setProperty(stretchLayout, false);
-    }
-}
-
-// ----------------------------------------------------------------------------
-// CalenDayViewWidget::addNonTimedEventToList
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//
-void CalenDayViewWidget::addNonTimedEventToList(int index, AgendaEntry entry)
-{
-    QVariantList textData;
-    QVariantList iconData;
-    
-    /**
-     * IMPORTANT NOTE: All the text and icon items must be
-     * inserted into the variant list in a specific order.
-     * If not, chaos will set it!!!
-     * On a more serious note, the mesh layout depends on the
-     * fact that the icons and text data will be added in a
-     * particular order. If one of the items go missing, the
-     * layout might get messed up. Also in case a particular item
-     * is not required to be added in the middle of the list, an
-     * empty QVariant must be added to indicate to the list view
-     * that the item must be removed from the layout.
-     * Do not mess with the order in case you are not sure what
-     * you are exactly doing.
-     */
-    
-    // The first column text has to be empty
-    textData << QVariant();
-    
-    // Get the entry subject
-    QString subject = entry.summary();
-    if (subject.isEmpty() || subject.isNull()) {
-        // No subject. Add "(No subject)" text
-        subject.append(hbTrId("txt_calendar_dblist_unnamed"));
-    }
-    // Add the subject to the text list
-    // This MUST be the second item in the list
-    textData << subject;
-    
-    // Get the entry type
-    AgendaEntry::Type entryType = entry.type();
-        
-    if (entryType == AgendaEntry::TypeAnniversary) {
-        // Nothing to do as of now as anniversary events
-        // cannot be created
-        // TODO: To be handled in case of sync
-    } else if (entryType == AgendaEntry::TypeEvent) {
-        // This is an all day event
-        // Append the all-day icon
-        iconData << HbIcon(allDayIcon);
-        
-        // Check if alarm is enabled for the entry       
-        if (entry.alarm().isNull()) {
-            // Insert a blank icon. Else the next icon
-            // will get replaced in this icon's position
-            iconData << QVariant();
-        } else {
-            iconData << HbIcon(reminderIcon);
-        }
-
-        // Check if the entry is recurring
-        if (entry.isRepeating()) {
-            iconData << HbIcon(repeatIcon);
-        } else {
-            // Insert a blank icon. Else the next icon
-            // will get replaced in this icon's position
-            iconData << QVariant();
-        }
-        
-        // Append the location
-        if (!entry.location().isEmpty()) {
-            textData << entry.location();
-            // TODO: Location icon must be shown
-            // only if valid geo-coordinates are present
-            // iconData << HbIcon(locationIcon);
-        } else {
-            textData << singleSpace;
-        }
-        
-    } else if (entryType == AgendaEntry::TypeTodo) {
-        // Append the to-do icon
-        iconData << HbIcon(toDoIcon);
-        
-        // Get the due date
-        QDateTime dueDate = entry.endTime();
-        
-        // Append the date first
-        QString dueDateString(hbTrId("txt_calendar_dblist_val_due_on_1"));
-        QString dueText;
-        dueText.setNum(dueDate.date().day());
-        dueText.append(singleSpace);
-        
-        // Append the month name next
-        HbExtendedLocale locale = HbExtendedLocale::system();
-        QString month = locale.monthName(dueDate.date().month());
-        dueText.append(month);
-        dueText.append(singleSpace);
-        
-        // Append the year
-        QString year;
-        year.setNum(dueDate.date().year());
-        dueText.append(year);
-        
-        textData << dueDateString.arg(dueText);
-        
-        // Check if alarm is enabled for the entry       
-        if (entry.alarm().isNull()) {
-            // Insert a blank icon. Else the next icon
-            // will get replaced in this icon's position
-            iconData << QVariant();
-        } else {
-            iconData << HbIcon(reminderIcon);
-        }
-        
-        // Check if the entry is recurring
-        if (entry.isRepeating()) {
-            iconData << HbIcon(repeatIcon);
-        } else {
-            // Insert a blank icon. Else the next icon
-            // will get replaced in this icon's position
-            iconData << QVariant();
-        }
-    }
-    
-    // Get the list model index and set the text and icon data
-    QModelIndex listIndex = mListModel->index(index, 0);
-    mListModel->setData(listIndex, textData, Qt::DisplayRole);
-    mListModel->setData(listIndex, iconData, Qt::DecorationRole);
-    
-    // Enable item stretching by adding the dynamic property
-    HbListViewItem *listViewItem = static_cast<HbListViewItem*>
-                                        (mEventsList->itemByIndex(mListModel->index(index, 0)));
-    Qt::Orientation orientation = mServices.MainWindow().orientation();
-    // Apply stretch only for landscape orientation
-    if (listViewItem) {
-        if (Qt::Horizontal == orientation) {
-            listViewItem->setProperty(stretchLayout, true);
-        } else {
-            listViewItem->setProperty(stretchLayout, false);
-        }
-    }
-}
-
-// ----------------------------------------------------------------------------
-// CalenDayViewWidget::handleListItemStretching
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-// 
-void CalenDayViewWidget::handleListItemStretching(Qt::Orientation orientation)
-{
-    if (mInstanceArray.count() == 0) {
-        // Nothing much to do. Simply return
-        return;
-    }
-    for(int index = 0; index < mInstanceArray.count() ; index ++) {
-        AgendaEntry entry = mInstanceArray[index];
-        if (!entry.isNull()) {
-            AgendaEntry::Type eventType = entry.type();
-            switch(eventType) {
-                // Apply the stretching to only to-do's,
-                // anniversary and all-day event types
-                case AgendaEntry::TypeTodo:
-                case AgendaEntry::TypeEvent:
-                case AgendaEntry::TypeAnniversary:
-                {
-                    // Get the list view item corresponding to the index
-                    HbListViewItem *listItem = static_cast<HbListViewItem*>
-                                                (mEventsList->itemByIndex(mListModel->index(index, 0)));
-                    if (listItem) {
-                        if (orientation == Qt::Horizontal) {
-                            // Set a dynamic property to indicate that this list item
-                            // must be stretched in landscape.
-                            // NOTE: Property name MUST match the name specified in
-                            // css file, else wierd things might happen
-                            listItem->setProperty(stretchLayout, true);
-                        }
-                    }
-                }
-                    break;
-                default:
-                {
-                    HbListViewItem *listItem = static_cast<HbListViewItem*>
-                                                (mEventsList->itemByIndex(mListModel->index(index, 0)));
-                    if (listItem) {
-                        listItem->setProperty(stretchLayout, false);
-                    }
-                    break;
-                }
-            }
-        }
-    }
-}
-
-// ----------------------------------------------------------------------------
-// CalenDayViewWidget::getIndexToScrollTo
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//  
-int CalenDayViewWidget::getIndexToScrollTo()
-{
-    int scrollIndex = 0;
-    TCalenInstanceId instanceId = mServices.Context().instanceId();
-    if (instanceId == TCalenInstanceId::nullInstanceId()) {
-        // If the instance is not set, then scroll to zero index
-        return scrollIndex;
-    }
-    
-    for (int index = 0 ; index < mInstanceArray.count() ; index++) {
-        AgendaEntry entry = mInstanceArray[index];
-        if (entry.id() == instanceId.mEntryLocalUid) {
-            // Match found.
-            scrollIndex = index;
-            break;
-        }
-    }
-    return scrollIndex;
-}
-
-// ----------------------------------------------------------------------------
-// CalenDayViewWidget::showHideRegionalInformation
-// To Show and hide regional plugin label depends upon settings
-// ----------------------------------------------------------------------------
-//
-void CalenDayViewWidget::showHideRegionalInformation()
-{
-    XQSettingsKey regionalInfo(XQSettingsKey::TargetCentralRepository,
-                               KCRUidCalendar.iUid, KShowRegionalInformation);
-    
-    int showRegionalInfo = mSettingsManager->readItemValue(regionalInfo).toUInt();
-    if (showRegionalInfo) {
-		
-        if (!mRegionalInfoGroupBox) {
-        	mRegionalInfoGroupBox = new HbGroupBox();
-        	CalenPluginLabel *regionalInfo = new CalenPluginLabel(
-															mServices, this);
-            mRegionalInfoGroupBox->setContentWidget(regionalInfo);
-            mRegionalPluginLayout->insertItem(1, mRegionalInfoGroupBox);
-        }
-        
-        if (mView->pluginEnabled()) {
-			QString *pluginString = mView->pluginText();
-			HbLabel *pluginInfoLabel = qobject_cast <HbLabel *> 
-									(mRegionalInfoGroupBox->contentWidget());
-			pluginInfoLabel->setPlainText(*pluginString);
-		}
-    } else {
-        if (mRegionalInfoGroupBox) {
-        	mRegionalPluginLayout->removeItem(mRegionalInfoGroupBox);
-            delete mRegionalInfoGroupBox;
-            mRegionalInfoGroupBox = NULL;
-        }
-    }
-}
-
-// ----------------------------------------------------------------------------
-// CalenDayViewWidget::createNewEvent
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//    
-void CalenDayViewWidget::createNewEvent()
-{
-    // Issue a command to launch editor to create
-    // a new event
-	mServices.IssueCommandL(ECalenNewMeeting);
-}
-
-// ----------------------------------------------------------------------------
-// CalenDayViewWidget::editEntry
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//    
-void CalenDayViewWidget::editEntry()
-{
-    // Check if the selected index is valid
-    if (mSelectedIndex < 0 || mSelectedIndex > mInstanceArray.count()) {
-        return;
-    }
-    
-    // Get the entry details first
-    AgendaEntry entry = mInstanceArray[mSelectedIndex];
-    if (AgendaEntry::TypeTodo == entry.type()) {
-        // Launch the to-do editor
-        mNotesEditor = new NotesEditor(mView);
-        mNotesEditor->edit(entry);
-        connect(mNotesEditor, SIGNAL(editingCompleted(bool)), this, SLOT(noteEditingCompleted(bool)));
-    } else {
-        // Set the context
-        setContextFromHighlight(entry);
-        // Issue a command to launch the editor to edit this entry
-        mServices.IssueCommandL(ECalenEditCurrentEntry);
-    }
-}
-
-// ----------------------------------------------------------------------------
-// CalenDayViewWidget::viewEntry
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//    
-void CalenDayViewWidget::viewEntry()
-{
-    // Get the entry details first
-    AgendaEntry entry = mInstanceArray[mSelectedIndex];
-    
-    // Set the context
-    setContextFromHighlight(entry);
-        
-    // Launch the event viewer.
-    mServices.IssueCommandL(ECalenEventView);
-}
-
-
-// ----------------------------------------------------------------------------
-// CalenDayViewWidget::deleteEntry
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//    
-void CalenDayViewWidget::deleteEntry()
-{
-    // Check if the selected index is valid
-	if (mSelectedIndex < 0 || mSelectedIndex > mInstanceArray.count()) {
-		return;
-	}
-	
-	// Get the entry details
-	AgendaEntry entry = mInstanceArray[mSelectedIndex];
-	// Set the context
-	setContextFromHighlight(entry);
-	// Issue the command to delete the entry
-	mServices.IssueCommandL(ECalenDeleteCurrentEntry);
-}
-
-// ----------------------------------------------------------------------------
-// CalenDayViewWidget::markAsDone
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//  
-void CalenDayViewWidget::markAsDone()
-{
-    // Check if the selected index is valid
-    if (mSelectedIndex < 0 || mSelectedIndex > mInstanceArray.count()) {
-        return;
-    }
-    
-    // Get the entry details
-    AgendaEntry entry = mInstanceArray[mSelectedIndex];
-    
-    // Check again if the event is of type to-to
-    if (AgendaEntry::TypeTodo == entry.type()) {
-        // Set the status of the to-do as completed
-        entry.setStatus(AgendaEntry::TodoCompleted);
-        // Update the completed date and time
-        entry.setCompletedDateTime(mDate);
-        
-        // Update the entry in the database
-        AgendaUtil agendaUtil;
-        agendaUtil.setCompleted(entry, true, mDate);
-
-		mServices.IssueCommandL(ECalenStartActiveStep);
-    }
-}
-
-// ----------------------------------------------------------------------------
-// CalenDayViewWidget::itemLongPressed
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//    
-void CalenDayViewWidget::itemLongPressed(HbAbstractViewItem* listViewItem,
-                                         const QPointF& coords)
-{
-	mLongTapEventFlag = true;
-    // Update the selection index first
-    mSelectedIndex = listViewItem->modelIndex().row();
-    
-    if (mSelectedIndex < 0 || mSelectedIndex > mInstanceArray.count()) {
-        // Invalid index
-        return;
-    }
-
-    AgendaEntry entry = mInstanceArray[mSelectedIndex];
-    
-    // Create new menu.
-    HbMenu *contextMenu = new HbMenu();
-    
-    // Add the open option
-    HbAction *openAction = contextMenu->addAction(
-									hbTrId("txt_common_menu_open"));
-    
-    // Check the type of event
-    if (AgendaEntry::TypeTodo == entry.type()) {
-        // Add an option to mark the note as complete
-        HbAction *completeAction = contextMenu->addAction(
-									hbTrId("txt_calendar_menu_mark_as_done"));
-    }
-    
-    // Add the edit option
-    HbAction *editAction = contextMenu->addAction(
-									hbTrId("txt_common_menu_edit"));
-    
-    // Add the delete option
-    HbAction *deleteAction = contextMenu->addAction(
-									hbTrId("txt_common_menu_delete"));
-    
-    contextMenu->setDismissPolicy(HbMenu::TapAnywhere);
-
-    // Show context sensitive menu. 
-    // Param const QPointF& coordinate - is a longpress position.
-    contextMenu->setPreferredPos(coords);
-    connect(contextMenu, SIGNAL(aboutToClose()),
-								this, 
-								SLOT(contextMenuClosed()));
-    
-    contextMenu->open(this, SLOT(contextManuTriggered(HbAction *)));
-}
-
-// ----------------------------------------------------------------------------
-// CalenDayViewWidget::itemActivated
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//    
-void CalenDayViewWidget::itemActivated(const QModelIndex &index)
-{
-    // Update the selection index first
-    mSelectedIndex = index.row();
-
-    // Check if the selected index is valid
-    if (mSelectedIndex < 0 || mSelectedIndex > mInstanceArray.count()) {
-        return;
-    }
-    if( !mLongTapEventFlag ) {
-    // Open the event for viewing
-    viewEntry();
-    }
-}
-
-// ----------------------------------------------------------------------------
-// CalenDayViewWidget::itemActivated
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-// 
-void CalenDayViewWidget::noteEditingCompleted(bool status)
-{
-    Q_UNUSED(status);
-    // Delete the notes editor instance
-    mNotesEditor->deleteLater();
-    
-    // We need to refresh the list since user
-    // might have marked the to-do as complete or
-    // edited it or deleted it. So get the instance
-    // list again
-    if (status) {
-        mServices.IssueCommandL(ECalenStartActiveStep);
-    }
-}
-
-// ----------------------------------------------------------------------------
-// CalenDayViewWidget::goToToday
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-// 
-void CalenDayViewWidget::goToToday()
-{
-    // First check if we are not already
-    // showing today's agenda
-    if (mDate == CalenDateUtils::today()) {
-        return;
-    }
-    
-    // Set the context for the current day
-    mServices.Context().setFocusDateL(CalenDateUtils::today(), KCalenDayViewUidValue);
-    
-    mView->refreshViewOnGoToDate();
-}
-
-// ----------------------------------------------------------------------------
-// CalenDayViewWidget::contextMenuClosed
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//
-void CalenDayViewWidget::contextMenuClosed()
-{
-	mLongTapEventFlag = false;
-}
-
-// ----------------------------------------------------------------------------
-// CalenDayViewWidget::contextManuTriggered
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//
-void CalenDayViewWidget::contextManuTriggered(HbAction *action)
-{
-	if (action->text() == hbTrId("txt_common_menu_open")) {
-		viewEntry();
-	} else if (action->text() == hbTrId("txt_calendar_menu_mark_as_done")) {
-		markAsDone();
-	} else if (action->text() == hbTrId("txt_common_menu_edit")) {
-		editEntry();
-	} else {
-		if (action->text() == hbTrId("txt_common_menu_delete")) {
-			deleteEntry();
-		}
-	}
-}
-// ----------------------------------------------------------------------------
-// CalenDayViewWidget::clearListModel
-// clears the list model 
-// ----------------------------------------------------------------------------
-// 
-void CalenDayViewWidget::clearListModel()
-    {
-    mListModel->clear();
-    }
-// End of file	--Don't remove this.
--- a/calendarui/views/src/caleneventlistviewitem.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/views/src/caleneventlistviewitem.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -24,8 +24,6 @@
 CalenEventListViewItem::CalenEventListViewItem(QGraphicsItem *parent) :
 HbListViewItem(parent)
 {
-	HbExtendedLocale locale = HbExtendedLocale::system();
-    timeFormat12 = (HbExtendedLocale::Time12 == locale.timeStyle()) ? true : false;
 }
 
 CalenEventListViewItem::~CalenEventListViewItem()
@@ -43,15 +41,4 @@
     HbListViewItem::updateChildItems();
 }
 
-bool CalenEventListViewItem::timeFormat12Hr()
-{
-    return timeFormat12;
-}
-
-void CalenEventListViewItem::setTimeFormat12Hr(bool format)
-{
-    timeFormat12 = format;
-}
-
-
 // End of file
--- a/calendarui/views/src/calengriditemprototype.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/views/src/calengriditemprototype.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -16,7 +16,6 @@
  */
 
 // System includes
-#include <QDebug>
 #include <QPainter>
 #include <QPen>
 #include <QGraphicsWidget>
@@ -32,6 +31,7 @@
 // User includes
 #include "calengriditemprototype.h"
 #include "calencommon.h"
+#include "calentodayindicatorlinedrawer.h"
 
 /*!
  \class CalenGridItemPrototype
@@ -71,15 +71,25 @@
 		
 	if (!mFocusIndicatorItem) {
 		mFocusIndicatorItem = new HbFrameItem(this);
-		mFocusIndicatorItem->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
+		mFocusIndicatorItem->frameDrawer().setFrameType(
+				HbFrameDrawer::NinePieces);
 		mFocusIndicatorItem->setZValue(-1);
-		HbStyle::setItemName(mFocusIndicatorItem, QLatin1String("focusIconItem"));
+		HbStyle::setItemName(
+				mFocusIndicatorItem, QLatin1String("focusIconItem"));
 	}
 	
 	if (!mEventIndicatorItem) {
 		mEventIndicatorItem = new HbIconItem(this);
-		HbStyle::setItemName(mEventIndicatorItem, QLatin1String("eventIconItem"));
+		HbStyle::setItemName(
+				mEventIndicatorItem, QLatin1String("eventIconItem"));
 	}
+	
+	if (!mTodayIndicatorItem) {
+		mTodayIndicatorItem = new CalenTodayIndicatorLineDrawer(this);
+		HbStyle::setItemName(
+				mTodayIndicatorItem, QLatin1String("todayIndicatorItem"));
+	}
+
 }
 
 /*!
@@ -92,6 +102,13 @@
 {
 	CalenGridItemPrototype* item = new CalenGridItemPrototype(*this);
 	item->createPrimitives();
+	
+	// Set the default frame to NULL so that HbGridView does not add its 
+	// default frame for items
+	HbFrameBackground frame;
+	frame.setFrameGraphicsName(QString(""));
+	item->setDefaultFrame(frame);
+	
 	return item;
 }
 
@@ -129,8 +146,14 @@
 			}
 			
 			// Get the today indicator role
-			underlineEnabled = itemList.at(CalendarNamespace::CalendarMonthUnderlineRole).value<bool>();
-			drawUnderline(underlineEnabled);
+			underlineEnabled = itemList.at(
+					CalendarNamespace::CalendarMonthUnderlineRole).
+					value<bool>();
+			if(underlineEnabled) {
+				mTodayIndicatorItem->show();
+			} else {
+				mTodayIndicatorItem->hide();
+			}
 			
 			// Get the event indicator data
 			monthEventRole = itemList.at(CalendarNamespace::CalendarMonthEventRole).value<bool>();
@@ -159,29 +182,6 @@
 }
 
 /*!
- Function to create the underline icon item
- */
-void CalenGridItemPrototype::drawUnderline(bool underlineEnabled)
-{
-	if (underlineEnabled) {
-		if (!mTodayIndicatorItem) {
-			mTodayIndicatorItem = new HbIconItem(this);
-			HbStyle::setItemName(mTodayIndicatorItem,
-								 QLatin1String("todayIndicatorItem"));
-			if (mTodayUnderLineColor.isValid()) {
-				mTodayIndicatorItem->setColor(mTodayUnderLineColor);
-			}
-		}
-	} else {
-		if (mTodayIndicatorItem) {
-			delete mTodayIndicatorItem;
-			mTodayIndicatorItem = NULL;
-		}
-	}
-}
-
-
-/*!
  Function overwritten to avoid default behavior
  */
 void CalenGridItemPrototype::pressStateChanged(bool pressed,bool animate)
--- a/calendarui/views/src/calenmonthgrid.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/views/src/calenmonthgrid.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -20,6 +20,9 @@
 #include <hbabstractviewitem.h>
 #include <hbstyleloader.h>
 #include <hbcolorscheme.h>
+#include <hbpangesture.h>
+#include <hbswipegesture.h>
+#include <hbdeviceprofile.h>
 
 // User includes
 #include "calenmonthgrid.h"
@@ -28,10 +31,13 @@
 #include "calenmonthview.h"
 #include "calendateutils.h"
 #include "calencommon.h"
+#include "calenconstants.h"
 
 // Constants
-#define SCROLL_SPEEED 2000 
+#define SCROLL_SPEEED 3000 
 #define GRIDLINE_WIDTH 0.075 //units
+#define MAX_PAN_DIRECTION_THRESHOLD 50
+#define MIN_PAN_DIRECTION_THRESHOLD 20
 
 /*!
  \class CalenMonthGrid
@@ -49,7 +55,7 @@
 	mIsPanGesture(false),
 	mIsAtomicScroll(true),
 	mView(NULL),
-	mCurrentRow(0),
+	mCurrentRow(-100),
 	mIsNonActiveDayFocused(false),
 	mIgnoreItemActivated(false),
 	mGridBorderColor(Qt::gray)
@@ -64,6 +70,8 @@
 	setVerticalScrollBarPolicy(HbScrollArea::ScrollBarAlwaysOff);
 	setClampingStyle(HbScrollArea::StrictClamping);
 	setEnabledAnimations(HbAbstractItemView::None);
+	setFrictionEnabled(false);
+	setFlag(QGraphicsItem::ItemHasNoContents, false);
 	resetTransform();
 	
 	// Get the content widget of the scroll area to draw the grid lines
@@ -84,10 +92,6 @@
 	// Connect to scrolling finished signal
 	connect(this, SIGNAL(scrollingEnded()), this,
 			SLOT(scrollingFinished()));
-	
-	// Connect to item activated signal
-	connect(this, SIGNAL(activated(const QModelIndex &)), this,
-				SLOT(itemActivated(const QModelIndex &)));
 }
 
 /*!
@@ -270,6 +274,14 @@
 	indexToBeScrolled = mModel->index(itemToBeScrolled, 0);
 	mIsAtomicScroll = true;
 	scrollTo(indexToBeScrolled);
+	
+	// Update the sart position of the content widget
+	mStartPos = mContentWidget->pos();
+	
+	// Now connect to the signal which gets emitted when any item on the grid 
+	// is tapped.
+	connect(this, SIGNAL(activated(const QModelIndex &)), this,
+						SLOT(itemActivated(const QModelIndex &)));
 }
 
 /*!
@@ -292,31 +304,42 @@
 }
 
 /*!
- Listens for down gesture
+ Scrolls the content dowmwards
  */
-void CalenMonthGrid::downGesture (int value)
+void CalenMonthGrid::downGesture()
 {
-	Q_UNUSED(value)	
-	mDirection = down;
-	mIsAtomicScroll = false;
-	setAttribute(Hb::InteractionDisabled);
-	
-	// pass it to parent
-	HbScrollArea::downGesture(value);
+    // Make sure that content widget is properly placed
+    if (mIsNonActiveDayFocused) {
+        mIsAtomicScroll = true;
+        int itemToBeScrolled = mView->rowsInPrevMonth() * KCalenDaysInWeek;
+        QModelIndex indexToBeScrolled  = mModel->index(itemToBeScrolled, 0);
+        scrollTo(indexToBeScrolled);
+    }
+    mDirection = down;
+    mIsAtomicScroll = false;
+    setAttribute(Hb::InteractionDisabled);
+    QPointF targetPos(0.0, 0.0);
+    scrollContentsTo(targetPos,500);
 }
 
 /*!
- Listens for Up gesture
+ Scrolls the content upwards
  */
-void CalenMonthGrid::upGesture (int value)
+void CalenMonthGrid::upGesture()
 {
-	Q_UNUSED(value)	
-	mDirection = up;
-	mIsAtomicScroll = false;
-	setAttribute(Hb::InteractionDisabled);
-	
-	// pass it to parent
-	HbScrollArea::upGesture(value);
+    // Make sure that content widget is properly placed
+    if (mIsNonActiveDayFocused) {
+        mIsAtomicScroll = true;
+        int itemToBeScrolled = mView->rowsInPrevMonth() * KCalenDaysInWeek;
+        itemToBeScrolled += KNumOfVisibleRows * KCalenDaysInWeek;
+        QModelIndex indexToBeScrolled  = mModel->index(itemToBeScrolled, 0);
+        scrollTo(indexToBeScrolled);
+    }
+    mDirection = up;
+    mIsAtomicScroll = false;
+    setAttribute(Hb::InteractionDisabled);
+    QPointF targetPos(0.0, mStartPos.y() - size().height());
+    scrollContentsTo(-targetPos,500);
 	
 }
 
@@ -325,7 +348,6 @@
  */
 void CalenMonthGrid::mousePressEvent(QGraphicsSceneMouseEvent* event)
 {
-	mPressedPos = event->pos();
 	// Pass it to parent
 	HbGridView::mousePressEvent(event);
 }
@@ -335,38 +357,88 @@
  */
 void CalenMonthGrid::mouseReleaseEvent(QGraphicsSceneMouseEvent* event)
 {
-	int posDiff = mPressedPos.y() - event->pos().y();
-	if (posDiff < -50) {
-		mDirection = down;
-	} else if (posDiff > 50){
-		mDirection = up;
+	// Pass it grid view if pan gesture is not in progress else pass it to
+	// scrollarea. Problem here is, if we pass to gridview when panning, then 
+	// its emitting item activated signal simply becasue of which focus item
+	// is getting changed when you finish the pan / shake
+	if (!mIsPanGesture) {
+		HbGridView::mouseReleaseEvent(event);
+	} else {
+		HbScrollArea::mouseReleaseEvent(event);
 	}
-	// Pass it to parent
-	HbGridView::mouseReleaseEvent(event);
 }
 
 /*!
- Listens for pan gesture
+    Function to list for all the gesture events
  */
-void  CalenMonthGrid::panGesture(const QPointF &  delta)
+void CalenMonthGrid::gestureEvent(QGestureEvent *event)
 {
-	setAttribute(Hb::InteractionDisabled);
-	mIsAtomicScroll = false;
-	if (!mIsPanGesture) {
-		mIsPanGesture = true;
-		mIgnoreItemActivated = true;
-		mStartPos = mContentWidget->pos();
-		// Get to know the direction of the gesture
-		if (delta.y() > 0) {
-			mDirection = down;
-		} else {
-			mDirection = up;
-		}
-	}
-	
-	// Call the parent class to perform the pan gesture
-	// When scrolling finished, month grid will adjust to show the proper month
-	HbScrollArea::panGesture(delta);
+   if(HbPanGesture *gesture = qobject_cast<HbPanGesture *>(event->gesture(Qt::PanGesture))) {
+        if (gesture->state() == Qt::GestureStarted) {
+            setAttribute(Hb::InteractionDisabled);
+            mIsAtomicScroll = false;
+            if (!mIsPanGesture) {
+                mDirection = invalid;
+                mStartPos = mContentWidget->pos();
+                // TODO: This work aroung till framework provides an api
+                // to know the direciton of the pan, until then we need
+                // calculate the direction explicitly
+                // Get to know the direction of the gesture
+                // 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();
+                if (abs(delta.x()) > MAX_PAN_DIRECTION_THRESHOLD) {
+                    // Now see if y coord diff has crossed threshold
+                    if (delta.y() > MAX_PAN_DIRECTION_THRESHOLD) {
+                        mIsPanGesture = true;
+                        mIgnoreItemActivated = true;
+                        mDirection = down;
+                    } else if (delta.y() < -MAX_PAN_DIRECTION_THRESHOLD){
+                        mIsPanGesture = true;
+                        mIgnoreItemActivated = true;
+                        mDirection = up;
+                    } else {
+                        event->accept(Qt::PanGesture);
+                        return;
+                    }
+                } else if (abs(delta.x()) < MAX_PAN_DIRECTION_THRESHOLD) {
+                   if (delta.y() > MIN_PAN_DIRECTION_THRESHOLD) {
+                        mIsPanGesture = true;
+                        mIgnoreItemActivated = true;
+                        mDirection = down;
+                   } else if (delta.y() < -MIN_PAN_DIRECTION_THRESHOLD){
+                        mIsPanGesture = true;
+                        mIgnoreItemActivated = true;
+                        mDirection = up;
+                   }else {
+                       event->accept(Qt::PanGesture);
+                       return;
+                   }
+                } 
+            }
+        }
+    } else if(HbSwipeGesture *gesture = qobject_cast<HbSwipeGesture *>(event->gesture(Qt::SwipeGesture))) {
+        if (gesture->state() == Qt::GestureStarted) {
+            setAttribute(Hb::InteractionDisabled);
+            mIsAtomicScroll = false;
+            mDirection = invalid;
+            if (gesture->sceneVerticalDirection() == QSwipeGesture::Down) {
+                mDirection = down;
+            } else if (gesture->sceneVerticalDirection() == QSwipeGesture::Up) {
+                mDirection = up;
+            } else {
+                event->accept(Qt::SwipeGesture);
+                return;
+            }
+        }
+    }
+   
+   if (mDirection!= invalid) {
+        // Call the parent class to perform the pan gesture
+        // When scrolling finished, month grid will adjust to show the proper month
+        HbScrollArea::gestureEvent(event);
+   }
 }
 
 /*!
@@ -374,7 +446,6 @@
  */
 void CalenMonthGrid::scrollingFinished()
 {
-	
 	if (mIsPanGesture) {
 		handlePanGestureFinished();
 	} else if(!mIsAtomicScroll) {
@@ -393,6 +464,7 @@
 		mDirection = invalid;
 	} else {
         mIsAtomicScroll = false;
+        mDirection = invalid;
 	}
 	mIgnoreItemActivated = false;
 	setAttribute(Hb::InteractionDisabled, false);
@@ -426,11 +498,12 @@
 				date.addDays(KNumOfVisibleRows*KCalenDaysInWeek).date().day() >=
 				(prevMonth.date().daysInMonth()) / 2) {
 			// up gesture to bring the next month
-			upGesture(SCROLL_SPEEED);
+			upGesture();
 		} else {
 			// we should again show the current month by scrolling downwards
 			mDirection = down;
 			mIsAtomicScroll = true;
+			setAttribute(Hb::InteractionDisabled);
 			scrollContentsTo(-mStartPos,500);
 		}
 	} else if (month == prevMonth.date().month()) {
@@ -440,22 +513,32 @@
 			// we should again show the current month by scrolling upwards
 			mDirection = up;
 			mIsAtomicScroll = true;
+			setAttribute(Hb::InteractionDisabled);
 			scrollContentsTo(-mStartPos,500);
 		} else {
 			// down gesture to show the previous month
-			downGesture(SCROLL_SPEEED);
+			downGesture();
 		}
+	} else if (month == prevMonth.addMonths(-1).date().month()) {
+		// first visible date belong to previous to previous month
+		// hence, scroll down to bring the previous month
+		downGesture();
 	} else if (month == nextMonth.date().month()) {
 		// first visible item belongs to next month
 		// Check if the date is more than half of the next month
 		if (date.date().day() > (nextMonth.date().daysInMonth()) / 2) {
 			// up gesture to bring the next month
-			upGesture(SCROLL_SPEEED);
+			upGesture();
 		} else {
 			// we should again show the current month by scrolling upwards
 			mDirection = invalid;
+			setAttribute(Hb::InteractionDisabled);
 			scrollContentsTo(-mStartPos,500);
 		}
+	} else if (month == nextMonth.addMonths(1).date().month()) {
+		// first visible date belongs to next to next month
+		// hence, scroll up to show the next month
+		upGesture();
 	}
 }
 
@@ -521,6 +604,9 @@
 	scrollTo(indexToBeScrolled);
 	// Update the mCurrentRow
 	mCurrentRow += countToBeAdded;
+	
+	// Update the sart position of the content widget
+	mStartPos = mContentWidget->pos();
 }
 
 /*!
@@ -641,6 +727,9 @@
 	indexToBeScrolled = mModel->index(itemToBeScrolled, 0);
 	mIsAtomicScroll = true;
 	scrollTo(indexToBeScrolled);
+	
+	// Update the sart position of the content widget
+    mStartPos = mContentWidget->pos();
 }
 
 /*!
@@ -708,11 +797,15 @@
 	mIsNonActiveDayFocused = false;
 	// Check if the same item has been tapped twice
 	if (mCurrentRow == index.row()) {
-		// Launch the agenda view
+		// Launch the Day view
 		mView->launchDayView();
 	} else {
 		// Reset the focus attribute to this item		
 		QModelIndex itemIndex = mModel->index(mCurrentRow,0);
+		if(itemIndex.row() < 0 || itemIndex.row() >= mModel->rowCount() ||
+				itemIndex.column() < 0 || itemIndex.column() > mModel->columnCount()) {
+			return;
+		}
 		QVariant itemData = itemIndex.data(Qt::UserRole + 1);
 		QVariantList list = itemData.toList();
 		list.replace(CalendarNamespace::CalendarMonthFocusRole, false);
@@ -740,12 +833,12 @@
 				mNonActiveFocusedDay.date().month()) {
 				mDirection = up;
 				// up gesture
-				upGesture(SCROLL_SPEEED);
+				upGesture();
 				setActiveDates(activeMonth.date());
 			} else {
 				mDirection = down;
 				// down gesture
-				downGesture(SCROLL_SPEEED);
+				downGesture();
 				setActiveDates(activeMonth.addMonths(-2).date());
 			}
 		} 
@@ -902,6 +995,29 @@
     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
+	int rowsInPrevMonth;
+    int itemToBeScrolled;
+    QModelIndex indexToBeScrolled;
+	if (newOrientation == Qt::Horizontal) {
+		rowsInPrevMonth = mView->rowsInPrevMonth();
+		itemToBeScrolled = rowsInPrevMonth * KCalenDaysInWeek;
+		indexToBeScrolled = mModel->index(itemToBeScrolled, 0);
+		mIsAtomicScroll = true;
+		scrollTo(indexToBeScrolled);
+	} else {
+		rowsInPrevMonth = mView->rowsInPrevMonth();
+		itemToBeScrolled = rowsInPrevMonth * KCalenDaysInWeek;
+		indexToBeScrolled = mModel->index(itemToBeScrolled, 0);
+		mIsAtomicScroll = true;
+		scrollTo(indexToBeScrolled);
+		
+		itemToBeScrolled = ((rowsInPrevMonth + KNumOfVisibleRows) * 
+				KCalenDaysInWeek) - 1;
+		indexToBeScrolled = mModel->index(itemToBeScrolled, 0);
+		mIsAtomicScroll = true;
+		scrollTo(indexToBeScrolled);
+	}
 }
 
 /*!
@@ -917,14 +1033,19 @@
 	
 	// Set the required attributes to the pen
 	QPen pen;
+	HbDeviceProfile deviceProf;
+	qreal unitValue = deviceProf.unitValue();
+	qreal widthInPixels = GRIDLINE_WIDTH * unitValue;
 	pen.setStyle(Qt::SolidLine);
-	pen.setWidth(GRIDLINE_WIDTH);
+	pen.setWidth(widthInPixels);
 	if (mGridLineColor.isValid()) {
 		pen.setBrush(mGridLineColor);
 	} else {
 		pen.setBrush(mGridBorderColor);
 	}
-	// Set the pen to the painter
+	//store the old pen first
+    QPen oldPen = painter->pen();
+	// Set the new pen to the painter
 	painter->setPen(pen);
 	
 	// Get the sizes of content widget
@@ -980,6 +1101,8 @@
 	
 	// Draw the lines for the points in the vector list
 	painter->drawLines(pointList);
+	// Set the old pen back
+	painter->setPen(oldPen);
 }
 
 // End of File
--- a/calendarui/views/src/calenmonthview.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/views/src/calenmonthview.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -29,6 +29,8 @@
 #include <hbcolorscheme.h>
 #include <agendautil.h>
 #include <agendaentry.h>
+#include <hbapplication.h> // hbapplication
+#include <hbactivitymanager.h> //Activity Manager
 
 //user includes
 #include "calenmonthview.h"
@@ -46,8 +48,9 @@
 #include "calendocloader.h"
 #include "calenthicklinesdrawer.h"
 #include "calencommon.h"
-#include "CalendarInternalCRKeys.h"
+#include "calendarprivatecrkeys.h"
 #include "calenpluginlabel.h"
+#include "calenconstants.h"
 /*!
  \class CalenMonthView
 
@@ -62,19 +65,20 @@
 	mGoToTodayAction(0),
 	mPrevRegionalInfo(0),
 	mCurrRegionalInfo(0),
-	mNextRegionalInfo(0)
+	mNextRegionalInfo(0),
+	mIsAboutToQuitEventConnected(false)
 {
 	mIsWeekNumbersShown = 0;
 	mOrientation = mServices.MainWindow().orientation();
 	// Read the date from the context
-	mDate = mServices.Context().focusDateAndTimeL();
+	mDate = mServices.Context().focusDateAndTime();
 	mCurrentDay = mDate;
 
 	// Create the settings manager instance and settings key for week number
 	mSettingsManager = new XQSettingsManager(this);
 	mWeekNumberCenrepKey
 	        = new XQSettingsKey(XQSettingsKey::TargetCentralRepository,
-	                            KCRUidCalendar.iUid, KCalendarWeekViewTitle);
+	                            KCRUidCalendar, KCalendarShowWeekNum);
 
 	mLocale = HbExtendedLocale::system();
 	mFirstWeekLabel = NULL;
@@ -102,7 +106,7 @@
 								   mDocLoader->findWidget(CALEN_MONTH_TITLE));
 	// Set the title text color
 	QColor monthTitleColor = HbColorScheme::color("qtc_cal_monthgrid_title");
-	if (monthTitleColor.isValid()) {
+	if (mTitleLabel && monthTitleColor.isValid()) {
 		mTitleLabel->setTextColor(monthTitleColor);
 	}
 		
@@ -133,18 +137,6 @@
 	mSeventhDayLabel
 	        = qobject_cast<HbLabel *> (
 					mDocLoader->findWidget(CALEN_MONTVIEW_SEVENTH_DAY_LABEL));
-
-	// Set the short day names to these labels
-	// TODO: Need to read start of the week from the locale
-	// and update the labels accortdingly
-	int startOfDay = mLocale.startOfWeek();
-	mFirstDayLabel->setPlainText(hbTrId("txt_calendar_grid_day_mo"));
-	mSecondDayLabel->setPlainText(hbTrId("txt_calendar_grid_day_tu"));
-	mThirdDayLabel->setPlainText(hbTrId("txt_calendar_grid_day_we"));
-	mFourthDayLabel->setPlainText(hbTrId("txt_calendar_grid_day_th"));
-	mFifthDayLabel->setPlainText(hbTrId("txt_calendar_grid_day_fr"));
-	mSixthDayLabel->setPlainText(hbTrId("txt_calendar_grid_day_sa"));
-	mSeventhDayLabel->setPlainText(hbTrId("txt_calendar_grid_day_su"));
 	
 	// Get the weeknumber widget
 	mWeekNumberWidget
@@ -214,7 +206,14 @@
 	
 	
 	mIsFirstTimeLoad = true;
-	
+	// get a pointner to activity manager
+	HbActivityManager* activityManager = qobject_cast<HbApplication*>(qApp)->activityManager();
+
+	// clean up any previous versions of this activity, if any, i.e. activityName, from the activity manager. 
+	// Ignore return value, first boot would always return False. bool declared 
+	// only for debugging purpose.
+	bool ok = activityManager->removeActivity(activityName);
+
 }
 
 /*!
@@ -322,7 +321,15 @@
 			= qobject_cast<HbLabel *> (
 					mDocLoader->findWidget(CALEN_MONTVIEW_SIXTH_WEEK_LABEL));
 	}
-
+	
+	// Set the text colors well before instead of setting it again and again
+	mFirstWeekLabel->setTextColor(mWeekDaysColor);
+	mSecondWeekLabel->setTextColor(mWeekDaysColor);
+	mThirdWeekLabel->setTextColor(mWeekDaysColor);
+	mFourthWeekLabel->setTextColor(mWeekDaysColor);
+	mFifthWeekLabel->setTextColor(mWeekDaysColor);
+	mSixthWeekLabel->setTextColor(mWeekDaysColor);
+	
 	// Calculate the week numbers and set them to the week labels
 	updateWeekNumGridModel();
 
@@ -411,107 +418,121 @@
 {
     // Set the background items for all the widgets
     HbFrameItem* frame = NULL;
+    HbFrameDrawer *drawer = NULL;
     HbWidget* monthViewExceptPreviewPane = qobject_cast<HbWidget *> (
 						 mDocLoader->findWidget(CALEN_MONTHVIEW_EXCEPT_PANE));
     if (monthViewExceptPreviewPane) {
+        drawer = new HbFrameDrawer("qtg_fr_cal_monthgrid_bg", HbFrameDrawer::NinePieces);
         // The grid background
-        frame = new HbFrameItem(this);
-        frame->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
-
-        frame->frameDrawer().setFrameGraphicsName("qtg_fr_cal_monthgrid_bg");
+        frame = new HbFrameItem(drawer, this);
         monthViewExceptPreviewPane->setBackgroundItem(frame->graphicsItem(), -2);
     }
     if (mTitleLabel) {
         // The month title
-        frame = new HbFrameItem(this);
-        frame->frameDrawer().setFrameType(HbFrameDrawer::ThreePiecesHorizontal);
-
-        frame->frameDrawer().setFrameGraphicsName("qtg_fr_cal_monthgrid_title_bg");
-        mTitleLabel->setBackgroundItem(frame->graphicsItem(), -2);
+        drawer = new HbFrameDrawer("qtg_fr_cal_monthgrid_title_bg", HbFrameDrawer::ThreePiecesHorizontal);
+		if (drawer)
+        	frame = new HbFrameItem(drawer, this);
+		if(frame)
+			mTitleLabel->setBackgroundItem(frame->graphicsItem(), -2);
     }
     
     // Set the frame to the preview pane
-    frame = new HbFrameItem(this);
-    frame->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
-
-    frame->frameDrawer().setFrameGraphicsName("qtg_fr_cal_preview_bg");
-    mPrevPaneLayoutWidget->setBackgroundItem(frame->graphicsItem(), -5);
+    drawer = new HbFrameDrawer("qtg_fr_cal_preview_bg", HbFrameDrawer::NinePieces);
+	if (drawer)
+	    frame = new HbFrameItem(drawer, this);
+	if(frame)
+	    mPrevPaneLayoutWidget->setBackgroundItem(frame->graphicsItem(), -5);
     
     // Set the frame to the preview pane
-    frame = new HbFrameItem(this);
-    frame->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
-
-    frame->frameDrawer().setFrameGraphicsName("qtg_fr_cal_preview_bg");
+    drawer = new HbFrameDrawer("qtg_fr_cal_preview_bg", HbFrameDrawer::NinePieces);
+    if(drawer)
+	   frame = new HbFrameItem(drawer, this);
+	if(frame)
     mCurrPaneLayoutWidget->setBackgroundItem(frame->graphicsItem(), -5);
     
     // Set the frame to the preview pane
-    frame = new HbFrameItem(this);
-    frame->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
-
-    frame->frameDrawer().setFrameGraphicsName("qtg_fr_cal_preview_bg");
-    mNextPaneLayoutWidget->setBackgroundItem(frame->graphicsItem(), -5);
+    drawer = new HbFrameDrawer("qtg_fr_cal_preview_bg", HbFrameDrawer::NinePieces);
+	if(drawer)
+           frame = new HbFrameItem(drawer, this);
+	if(frame)
+	    mNextPaneLayoutWidget->setBackgroundItem(frame->graphicsItem(), -5);
 }
 
 void CalenMonthView::showHideRegionalInformation()
 {
-    XQSettingsKey regionalInfo(XQSettingsKey::TargetCentralRepository,
-                               KCRUidCalendar.iUid, KShowRegionalInformation);
-    
-    int showRegionalInfo = mSettingsManager->readItemValue(regionalInfo).toUInt();
-    if (showRegionalInfo) {
-		
-        // Add the regional information to the preview panes
-        if (!mPrevRegionalInfo) {
-            mPrevRegionalInfo = new CalenPluginLabel(mServices, this);
-            mPrevPaneLayout->insertItem(0, mPrevRegionalInfo);
+	if (pluginEnabled()) {
+		XQSettingsKey regionalInfo(XQSettingsKey::TargetCentralRepository,
+									KCRUidCalendar, KCalendarShowRegionalInfo);
+
+		int showRegionalInfo = 
+						mSettingsManager->readItemValue(regionalInfo).toUInt();
+		if (showRegionalInfo) {
+
+			// Add the regional information to the preview panes
+			if (!mPrevRegionalInfo) {
+				mPrevRegionalInfo = qobject_cast<CalenPluginLabel *> 
+				(mDocLoader->findWidget(CALEN_PREVREGIONALINFO));
+				mPrevRegionalInfo->show();
+				mPrevPaneLayout->insertItem(0, mPrevRegionalInfo);
 
-            HbFrameItem *frameCurr = new HbFrameItem(this);
-            frameCurr->frameDrawer().setFrameType(HbFrameDrawer::ThreePiecesHorizontal);
-            frameCurr->frameDrawer().setFrameGraphicsName("qtg_fr_cal_preview_title_bg");
-            mPrevRegionalInfo->setBackgroundItem(frameCurr->graphicsItem(), -2);
-        }
-        if (!mCurrRegionalInfo) {
-            mCurrRegionalInfo = new CalenPluginLabel(mServices, this);
-            mCurrPaneLayout->insertItem(0, mCurrRegionalInfo);
-            
-            HbFrameItem *frameCurr = new HbFrameItem(this);
-            frameCurr->frameDrawer().setFrameType(HbFrameDrawer::ThreePiecesHorizontal);
-            frameCurr->frameDrawer().setFrameGraphicsName("qtg_fr_cal_preview_title_bg");
-            mCurrRegionalInfo->setBackgroundItem(frameCurr->graphicsItem(), -2);
-        }
-        if (!mNextRegionalInfo) {
-            mNextRegionalInfo = new CalenPluginLabel(mServices, this);
-            mNextPaneLayout->insertItem(0, mNextRegionalInfo);
+				HbFrameItem *frameCurr = new HbFrameItem(this);
+				frameCurr->frameDrawer().setFrameType(
+										HbFrameDrawer::ThreePiecesHorizontal);
+				frameCurr->frameDrawer().setFrameGraphicsName(
+										"qtg_fr_cal_preview_title_bg");
+				mPrevRegionalInfo->setBackgroundItem(
+										frameCurr->graphicsItem(), -2);
+			}
+			if (!mCurrRegionalInfo) {
+				mCurrRegionalInfo = qobject_cast<CalenPluginLabel *> 
+				(mDocLoader->findWidget(CALEN_CURRREGIONALINFO));
+				mCurrRegionalInfo->show();
+				mCurrPaneLayout->insertItem(0, mCurrRegionalInfo);
 
-            HbFrameItem *frameCurr = new HbFrameItem(this);
-            frameCurr->frameDrawer().setFrameType(HbFrameDrawer::ThreePiecesHorizontal);
-            frameCurr->frameDrawer().setFrameGraphicsName("qtg_fr_cal_preview_title_bg");
-            mNextRegionalInfo->setBackgroundItem(frameCurr->graphicsItem(), -2);
-        }
-        
-        if (pluginEnabled()) {
+				HbFrameItem *frameCurr = new HbFrameItem(this);
+				frameCurr->frameDrawer().setFrameType(
+										HbFrameDrawer::ThreePiecesHorizontal);
+				frameCurr->frameDrawer().setFrameGraphicsName(
+										"qtg_fr_cal_preview_title_bg");
+				mCurrRegionalInfo->setBackgroundItem(
+										frameCurr->graphicsItem(), -2);
+			}
+			if (!mNextRegionalInfo) {
+				mNextRegionalInfo = qobject_cast<CalenPluginLabel *> 
+				(mDocLoader->findWidget(CALEN_NEXTREGIONALINFO));
+				mNextRegionalInfo->show();
+				mNextPaneLayout->insertItem(0, mNextRegionalInfo);
+
+				HbFrameItem *frameCurr = new HbFrameItem(this);
+				frameCurr->frameDrawer().setFrameType(
+										HbFrameDrawer::ThreePiecesHorizontal);
+				frameCurr->frameDrawer().setFrameGraphicsName(
+										"qtg_fr_cal_preview_title_bg");
+				mNextRegionalInfo->setBackgroundItem(
+										frameCurr->graphicsItem(), -2);
+			}
 			QString *pluginString = pluginText();
 			mPrevRegionalInfo->setPlainText(*pluginString);
 			mCurrRegionalInfo->setPlainText(*pluginString);
 			mNextRegionalInfo->setPlainText(*pluginString);
+		} else {
+			if (mPrevRegionalInfo) {
+				mPrevPaneLayout->removeItem(mPrevRegionalInfo);
+				mPrevRegionalInfo->hide();
+				mPrevRegionalInfo = NULL;
+			}
+			if (mCurrRegionalInfo) {
+				mPrevPaneLayout->removeItem(mCurrRegionalInfo);
+				mCurrRegionalInfo->hide();
+				mCurrRegionalInfo = NULL;
+			}
+			if (mNextRegionalInfo) {
+				mPrevPaneLayout->removeItem(mNextRegionalInfo);
+				mNextRegionalInfo->hide();
+				mNextRegionalInfo = NULL;
+			}
 		}
-    } else {
-        if (mPrevRegionalInfo) {
-            mPrevPaneLayout->removeItem(mPrevRegionalInfo);
-            delete mPrevRegionalInfo;
-            mPrevRegionalInfo = NULL;
-        }
-        if (mCurrRegionalInfo) {
-            mPrevPaneLayout->removeItem(mCurrRegionalInfo);
-            delete mCurrRegionalInfo;
-            mCurrRegionalInfo = NULL;
-        }
-        if (mNextRegionalInfo) {
-            mPrevPaneLayout->removeItem(mNextRegionalInfo);
-            delete mNextRegionalInfo;
-            mNextRegionalInfo = NULL;
-        }
-    }
+	}
 }
 
 /*!
@@ -552,22 +573,16 @@
 	// Update the week labels text
 	QString text = QString::number(mWeekNumbers.at(0));
 	mFirstWeekLabel->setPlainText(text);
-	mFirstWeekLabel->setTextColor(mWeekDaysColor);
 	text = QString::number(mWeekNumbers.at(1));
 	mSecondWeekLabel->setPlainText(text);
-	mSecondWeekLabel->setTextColor(mWeekDaysColor);
 	text = QString::number(mWeekNumbers.at(2));
 	mThirdWeekLabel->setPlainText(text);
-	mThirdWeekLabel->setTextColor(mWeekDaysColor);
 	text = QString::number(mWeekNumbers.at(3));
 	mFourthWeekLabel->setPlainText(text);
-	mFourthWeekLabel->setTextColor(mWeekDaysColor);
 	text = QString::number(mWeekNumbers.at(4));
 	mFifthWeekLabel->setPlainText(text);
-	mFifthWeekLabel->setTextColor(mWeekDaysColor);
 	text = QString::number(mWeekNumbers.at(5));
 	mSixthWeekLabel->setPlainText(text);
-	mSixthWeekLabel->setTextColor(mWeekDaysColor);
 }
 
 /*!
@@ -576,24 +591,26 @@
 void CalenMonthView::goToToday()
 {
 	QDateTime today = CalenDateUtils::today();
+	// Set the context and repopulate the view
+    MCalenContext &context = mServices.Context();
+    context.setFocusDateAndTime(today);
+	    
 	// First check if we are not alread
 	// showing today's month view
 	if (mDate == today) {
 		return;
 	} else if (mActiveMonth.date().year() == today.date().year() && 
 				mActiveMonth.date().month() == today.date().month()) {
+        mDate = today;
 		// User is in current month only, so just set the focus to current
 		// date grid item and refresh the preview pane
 		int currIndex = mFirstDayOfGrid.daysTo(today);
 		setCurrGridIndex(currIndex);
-		return;
+		// Populate the preview panes
+		populatePreviewPane(mDate);
+	} else {	
+        refreshViewOnGoToDate();
 	}
-	
-	// Set the context and repopulate the view
-	MCalenContext &context = mServices.Context();
-	context.setFocusDateAndTimeL(today, KCalenMonthViewUidValue);
-	
-	refreshViewOnGoToDate();
 }
 
 /*
@@ -626,12 +643,14 @@
  */
 void CalenMonthView::doPopulation()
 {
-	if (!mIsFirstTimeLoad) {
-		Qt::Orientation orientation = mServices.MainWindow().orientation();
-		if (mOrientation != orientation) {
-			mOrientation = orientation;
-			handleChangeOrientation();
-		}
+
+ 	// Get the layout and add the preview pane layout.
+	QGraphicsLinearLayout* viewLayout = static_cast<QGraphicsLinearLayout *>
+														(widget()->layout());
+	if (viewLayout->count() == 1) {
+		// Count is 1 implies view has only month grid.
+		// Add the preview pane at corresponding position.
+		viewLayout->addItem(mCurrPaneParent);
 	}
 	
 	// prepare for the population like reading the date frm the context 
@@ -646,19 +665,33 @@
 		populatePreviewPane(mDate);
 	}
 	
-	// Create the grid items with proper dates
+	
+    //update the day label 
+    //if changes in locale setting
+	updateDayLabel();
+	
+	  // Create the grid items with proper dates
 	createGrid();
 	
 
 	// Complete the population
 	completePopulation();
 
+	//set Currect Activity to month view
+	mActivityId = ECalenMonthView;
+	
+	// connect to receive a call back on Month View exit. Call back would result in saveActivity 
+	// to be called in Native View.
+	if (!mIsAboutToQuitEventConnected) // check if not already connected
+	    {
+        connect(qobject_cast<HbApplication*>(qApp), SIGNAL(aboutToQuit()), this, SLOT(saveActivity()));
+        mIsAboutToQuitEventConnected = true;
+	    }
+	
+		
 	// Population is complete, inform it
 	populationComplete();
 	
-	// Start the auto scroll on current preview pane
-	mCurrPreviewPane->startAutoScroll();
-	
 	// Handle regional data here if we are not populating the month view for
 	// the first time
 	if (!mIsFirstTimeLoad) {
@@ -683,9 +716,7 @@
  */
 void CalenMonthView::refreshViewOnGoToDate()
 {
-	setActiveDay(dateFromContext(mServices.Context()));
-	setDate();
-	updateMonthDataArrayWithActiveDates();
+	prepareForPopulation();
 	setDateToLabel();
 	// fetch list of required calendar instances
 	populateWithInstanceView();
@@ -694,9 +725,10 @@
 	
 	mMonthGrid->updateMonthGridModel(mMonthDataArray, mIndexToBeScrolled, 
 	                                 mIsFirstTimeLoad);
-	
-	// Start the auto scroll on current preview pane
-	mCurrPreviewPane->startAutoScroll();
+	// Update the week Numbers model
+	if (mIsWeekNumbersShown) {
+		updateWeekNumGridModel();
+	}
 }
 
 /*!
@@ -707,13 +739,13 @@
 	QDateTime ret;
 	if (AgendaEntry::TypeTodo == context.instanceId().mType) {
 		QDateTime today = CalenDateUtils::today();
-		if (context.focusDateAndTimeL() < today) {
+		if (context.focusDateAndTime() < today) {
 			ret = today;
 		} else {
-			ret = context.focusDateAndTimeL();
+			ret = context.focusDateAndTime();
 		}
 	} else {
-		ret = context.focusDateAndTimeL();
+		ret = context.focusDateAndTime();
 	}
 	return ret;
 }
@@ -735,8 +767,6 @@
 	date.setDate(date.year(), date.month(), 1);
 	QDateTime firstDayOfPrevMonth(date, day.time());
 
-	// TODO: Need to consider the week start frm the locale object
-	TLocale locale;
 	int offset(firstDayOfPrevMonth.date().dayOfWeek() - (mLocale.startOfWeek()
 	        + 1));
 	if (offset < 0) {
@@ -833,10 +863,20 @@
 	// Update the month grid
 	mMonthGrid->updateMonthGridModel(mMonthDataArray, mIndexToBeScrolled, 
 	                                 mIsFirstTimeLoad);
-
-	// Read the week number setting from cenrep
-	QVariant value = mSettingsManager->readItemValue(*mWeekNumberCenrepKey);
-	mIsWeekNumbersShown = value.toUInt();
+    // Get start of week from the locale.
+    HbExtendedLocale locale = HbExtendedLocale::system();
+    int startOfWeek = locale.startOfWeek();
+    if(startOfWeek != HbExtendedLocale::Monday)
+        {
+        //if the start of week is other than Monday, don't show the week number
+        mIsWeekNumbersShown = 0;
+        }
+    else
+        {
+        // Read the week number setting from cenrep
+        QVariant value = mSettingsManager->readItemValue(*mWeekNumberCenrepKey);
+        mIsWeekNumbersShown = value.toUInt();
+        }
 	if (mIsWeekNumbersShown) {
 		// Add week numbers to week grid
 		addWeekNumbers();
@@ -933,7 +973,7 @@
 	date.setDate(date.year(), date.month(), 1);
 	// Get the first day of the future month
 	QDateTime firstDayOfFutMonth(date, futureMonthDateTime.time());
-	TLocale locale;
+
 	int offset = firstDayOfFutMonth.date().dayOfWeek() - (mLocale.startOfWeek()
 	        + 1);
 	if (offset < 0) {
@@ -1030,7 +1070,8 @@
 void CalenMonthView::updateMonthDataArrayWithActiveDates()
 {
 	int activeMonth = mActiveMonth.date().month();
-	for (int i = 0; i < mMonthDataArray.count(); i++) {
+	int monthDataCount = mMonthDataArray.count();
+	for (int i = 0; i < monthDataCount; i++) {
 		if (mMonthDataArray[i].Day().date().month() == activeMonth) {
 			// Set the active flag
 			mMonthDataArray[i].setActive(true);
@@ -1074,7 +1115,8 @@
 	getInstanceList(datesWithEvents,gridStart,gridEnd);
 	
 	// Parse thru the list of dates and set the required flags
-	for(int i(0); i < datesWithEvents.count(); i++) {
+	int datesEventsCount = datesWithEvents.count();
+	for(int i(0); i < datesEventsCount; i++) {
 		int offset = mFirstDayOfGrid.date().daysTo(datesWithEvents.at(i));
 		mMonthDataArray[offset].SetHasEvents(true);
 	}
@@ -1101,7 +1143,8 @@
 	getInstanceList(datesWithEvents,gridStart,gridEnd);
 	
 	// Parse thru the list of dates and set the required flags
-	for(int i(0); i < datesWithEvents.count(); i++) {
+	int datesEventsCount = datesWithEvents.count();
+	for(int i(0); i < datesEventsCount; i++) {
 		int offset = mFirstDayOfGrid.date().daysTo(datesWithEvents.at(i));
 		mMonthDataArray[offset].SetHasEvents(true);
 	}
@@ -1128,7 +1171,8 @@
 	getInstanceList(datesWithEvents,gridStart,gridEnd);
 	
 	// Parse thru the list of dates and set the required flags
-	for(int i(0); i < datesWithEvents.count(); i++) {
+	int datesEventsCount = datesWithEvents.count();
+	for(int i(0); i < datesEventsCount; i++) {
 		int offset = mFirstDayOfGrid.date().daysTo(datesWithEvents.at(i));
 		mMonthDataArray[offset].SetHasEvents(true);
 	}
@@ -1157,6 +1201,9 @@
 	mPrevPreviewPane->populateLabel(dateTime.addDays(-1));
 	mCurrPreviewPane->populateLabel(dateTime);
 	mNextPreviewPane->populateLabel(dateTime.addDays(1));
+	
+	// Start the auto scroll on current preview pane
+    mCurrPreviewPane->startAutoScroll();
 }
 
 /*!
@@ -1183,14 +1230,12 @@
 {
 	QDateTime newActiveDay = mFirstDayOfGrid.addDays(index);
 	// Set the context
-	mServices.Context().setFocusDateL(newActiveDay, KCalenMonthViewUidValue);
+	mServices.Context().setFocusDate(newActiveDay);
 	mDate = newActiveDay;
 	setDateToLabel();
 	
 	if(!mIsPrevPaneGesture) {
 		populatePreviewPane(mDate);
-		// Start the auto scroll on current preview pane
-		mCurrPreviewPane->startAutoScroll();
 	} else {
 		// reset flag
 		mIsPrevPaneGesture = false;
@@ -1207,11 +1252,18 @@
 }
 
 /*!
- Slot to launch the agenda view
+ Slot to launch the Day view
  */
 void CalenMonthView::launchDayView()
 {
 	mServices.IssueCommandL(ECalenDayView);
+	// day view launched now, disconnect to get the call backs for saveActivity 
+	// on aboutToQuit signal
+	if (mIsAboutToQuitEventConnected)
+	    {
+        disconnect(qobject_cast<HbApplication*>(qApp), SIGNAL(aboutToQuit()), this, SLOT(saveActivity()));
+        mIsAboutToQuitEventConnected = false;
+	    }
 }
 
 /*!
@@ -1219,13 +1271,11 @@
  */
 void CalenMonthView::changeOrientation(Qt::Orientation orientation)
 {
-	if (this == mServices.MainWindow().currentView()) {
 		if (mOrientation != orientation) {
 			// change the orientation here
 			mOrientation = orientation;
 			handleChangeOrientation();
 		}
-	}
 }
 
 /*!
@@ -1251,16 +1301,11 @@
 	QGraphicsLinearLayout* viewLayout = static_cast<QGraphicsLinearLayout *>
 													(widget()->layout());
 	viewLayout->removeAt(1);
-	viewLayout->addItem(mCurrPaneParent);
-	
-
-	// Check the weeknumber setting and update it accordingly
-	if (mIsWeekNumbersShown) {
-		// Add week numbers to week grid
-		addWeekNumbers();
-	} else {
-		// remove the weeknumbergrid from the layout
-		removeWeekNumbers();
+	// Add this item only when orientaion is changed on month view
+	// if it is changed in other views, adding the preview pane here was
+	// overlapping with the month grid, hence, its been added in dopopulation()
+	if (this == mServices.MainWindow().currentView()) {
+		viewLayout->addItem(mCurrPaneParent);
 	}
 }
 
@@ -1430,4 +1475,43 @@
 	mCurrPreviewPane->startAutoScroll();
 	mPrevPreviewPane->populateLabel(mDate.addDays(-1));
 }
+/*!
+ update the Day labels 
+ */
+void CalenMonthView::updateDayLabel()
+{
+    // Set the short day names to these labels  
+    int startOfWeek = mLocale.startOfWeek();
+    int weekDayIndex = startOfWeek;
+    QStringList  weekDayArray ;
+    weekDayArray <<hbTrId("txt_calendar_grid_day_mo")
+                           <<hbTrId("txt_calendar_grid_day_tu")
+                           <<hbTrId("txt_calendar_grid_day_we")
+                           <<hbTrId("txt_calendar_grid_day_th")
+                           <<hbTrId("txt_calendar_grid_day_fr")
+                           <<hbTrId("txt_calendar_grid_day_sa")
+                           <<hbTrId("txt_calendar_grid_day_su");
+            
+    QList<HbLabel*> labels;
+    // append seven day labels 
+    labels.append(mFirstDayLabel);
+    labels.append(mSecondDayLabel);
+    labels.append(mThirdDayLabel);
+    labels.append(mFourthDayLabel);
+    labels.append(mFifthDayLabel);
+    labels.append(mSixthDayLabel);
+    labels.append(mSeventhDayLabel);
+    for(int i=0;i < KCalenDaysInWeek; i++ )
+        {
+        labels.at(i)->setPlainText(weekDayArray[weekDayIndex]);
+        if(weekDayIndex == KCalenDaysInWeek - 1 )//Sunday
+            {
+            weekDayIndex = 0;//reset to monday
+            continue;
+            }
+        weekDayIndex++;//increase the index for next value
+        }
+    labels.clear();
+    weekDayArray.clear();
+}
 // End of file  --Don't remove this.
--- a/calendarui/views/src/calennativeview.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/views/src/calennativeview.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -24,6 +24,8 @@
 #include <hbmainwindow.h>
 #include <hbdatetimepicker.h>
 #include <vwsdef.h>
+#include <hbactivitymanager.h> //Activity Manager
+#include <hbapplication.h> //hbapplication
 
 //user includes
 #include <CalenUid.h>
@@ -32,6 +34,7 @@
 #include "calencontext.h"
 #include "calensettingsview.h"
 #include "calendateutils.h"
+#include "calenconstants.h"
 
 /*!
  \class CalenNativeView
@@ -42,12 +45,13 @@
  Default constructor.
  */
 CalenNativeView::CalenNativeView(MCalenServices &services) :
-	mServices(services)
+	mServices(services), mIsCapturedScreenShotValid(false)
 {
 	setTitle(hbTrId("txt_calendar_title_calendar"));
 
 	// Create services API and register for notifications
 	RArray<TCalenNotification> notificationArray;
+	CleanupClosePushL(notificationArray);
 
 	notificationArray.Append(ECalenNotifySystemTimeChanged);
 	notificationArray.Append(ECalenNotifySystemLocaleChanged);
@@ -55,7 +59,7 @@
 
 	mServices.RegisterForNotificationsL(this, notificationArray);
 
-	notificationArray.Reset();
+	CleanupStack::PopAndDestroy(&notificationArray);
 }
 
 /*!
@@ -102,17 +106,14 @@
 	popUp->setAttribute( Qt::WA_DeleteOnClose, true );
 	popUp->setHeadingWidget(new HbLabel(hbTrId("txt_calendar_opt_go_to_date")));
 	
-	// Get the current date.
-	QDateTime currentDateTime = CalenDateUtils::today();
-	QDate currentDate = currentDateTime.date();
 	if(mDatePicker) {
 		mDatePicker = NULL;
 	}
-	mDatePicker = new HbDateTimePicker(currentDate, popUp);
+	mDatePicker = new HbDateTimePicker(QDate::currentDate(), popUp);
 	// Set the date range.
 	mDatePicker->setMinimumDate(CalenDateUtils::minTime().date());
 	mDatePicker->setMaximumDate(CalenDateUtils::maxTime().date());
-	mDatePicker->setDate(currentDate);
+	mDatePicker->setDate(QDate::currentDate());
 	
 	popUp->setContentWidget(mDatePicker);
 	HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok"));
@@ -134,11 +135,11 @@
 	        selectedDate >= CalenDateUtils::minTime().date() &&
 	        selectedDate <= CalenDateUtils::maxTime().date()) {
 		MCalenContext& context = mServices.Context();
-		QDateTime contextDate = context.focusDateAndTimeL();
+		QDateTime contextDate = context.focusDateAndTime();
 
 		//Set the selected date to contextDate.
 		contextDate.setDate(selectedDate);
-		context.setFocusDateAndTimeL(contextDate, KCalenMonthViewUidValue);
+		context.setFocusDateAndTime(contextDate);
 	}
 	refreshViewOnGoToDate();
 }
@@ -206,4 +207,49 @@
 	return mServices.InfobarTextL();
 }
 
+// ----------------------------------------------------------------------------
+// captureScreenshot caltures screen shot for the given viewId
+// @param viewId view for which screenshot needs to be captured
+// ----------------------------------------------------------------------------
+// 
+void CalenNativeView::captureScreenshot(bool captureScreenShot)
+    {
+    // get a screenshot for saving to the activity manager. It's done for once
+    // to optimize the performance
+    if (captureScreenShot) {
+        mScreenShotMetadata.clear(); // remove any screenshot captured earlier
+        mScreenShotMetadata.insert("screenshot", QPixmap::grabWidget(mainWindow(), mainWindow()->rect()));
+        }
+    mIsCapturedScreenShotValid = captureScreenShot; // set the validity of the screenshot captured
+    }
+
+// ----------------------------------------------------------------------------
+// saveActivity saves the activity for current view
+// ----------------------------------------------------------------------------
+// 
+void CalenNativeView::saveActivity()
+ {
+   // Get a pointer to activity manager 
+   HbActivityManager* activityManager = qobject_cast<HbApplication*>(qApp)->activityManager();
+ 
+   // check if alerady a valid screen shot is captured
+   if (!mIsCapturedScreenShotValid) {
+       mScreenShotMetadata.clear(); // remove any screenshot captured earlier
+       mScreenShotMetadata.insert("screenshot", QPixmap::grabWidget(mainWindow(), mainWindow()->rect()));
+       }
+   
+   // Save any data necessary to save the state
+   QByteArray serializedActivity;
+   QDataStream stream(&serializedActivity, QIODevice::WriteOnly | QIODevice::Append);
+   stream << mActivityId;
+ 
+   bool ok(false);
+   // Save activity
+   ok = activityManager->addActivity(activityName, serializedActivity, mScreenShotMetadata);
+
+   // Check is activity saved sucessfully
+   if ( !ok )  {
+       qFatal("Add failed" ); // Panic is activity is not saved successfully
+       }
+ }
 //End Of File
--- a/calendarui/views/src/calenpluginlabel.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/views/src/calenpluginlabel.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -16,6 +16,7 @@
 */
 
 // System includes
+#include <hbtapgesture.h>
 
 // User includes
 #include "calenservices.h"
@@ -29,31 +30,37 @@
 /*!
  constructor
  */
-CalenPluginLabel::CalenPluginLabel(MCalenServices& services, 
+Q_DECL_EXPORT CalenPluginLabel::CalenPluginLabel(MCalenServices& services, 
                                    QGraphicsItem* parent) :
 	HbLabel(parent),mServices(services)
 {
 	setAlignment(Qt::AlignCenter);
-	setFontSpec(HbFontSpec(HbFontSpec::Secondary));
-	setPlainText("Reg plugin");
+	grabGesture(Qt::TapGesture);
 }
 
 /*!
  Destructor
  */
-CalenPluginLabel::~CalenPluginLabel()
+Q_DECL_EXPORT CalenPluginLabel::~CalenPluginLabel()
 {
 }
 
+
 /*!
- To handle mouse press event.
- \sa QGraphicsItem
- */
-void CalenPluginLabel::mousePressEvent(QGraphicsSceneMouseEvent* event)
+	Functo listen for all gestures
+*/
+void CalenPluginLabel::gestureEvent(QGestureEvent *event)
 {
-	Q_UNUSED(event);
-	
-	mServices.IssueCommandL(ECalenRegionalPluginTapEvent);
+    if(HbTapGesture *gesture = qobject_cast<HbTapGesture *>(event->gesture(Qt::TapGesture))) {
+        if (gesture->state() == Qt::GestureFinished) {
+            if (gesture->tapStyleHint() == HbTapGesture::Tap) {
+                // Regional label is tapped
+                mServices.IssueCommandL(ECalenRegionalPluginTapEvent);
+                event->accept(Qt::TapGesture);
+            }
+        }
+    }
 }
 
+
 // End of file  --Don't remove this.
--- a/calendarui/views/src/calenpreviewpane.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/views/src/calenpreviewpane.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -27,6 +27,8 @@
 #include <hbframedrawer.h>
 #include <hbfontspec.h>
 #include <hbcolorscheme.h>
+#include <hbtapgesture.h>
+#include <hbpangesture.h>
 #include <agendautil.h>
 #include <agendaentry.h>
 
@@ -42,7 +44,9 @@
 
 // Macros
 #define TWO_SECONDS_TIMER 2000 // millseconds
-#define SCROLLING_SPEED 50
+#define SCROLLING_SPEED 10
+#define MAX_PAN_DIRECTION_THRESHOLD 50
+#define MIN_PAN_DIRECTION_THRESHOLD 20
 
 static const QString EMPTYSTRING(" ");
 
@@ -59,6 +63,8 @@
 	mIsNoEntriesAdded = true;
 	mIsGestureHandled = false;
 	mNoEntriesLabel = 0;
+	mHtDiff = 0.0;
+	mScrollDuration = 0;
 	setAcceptDrops(true);
 	setScrollDirections(Qt::Vertical);
 	setVerticalScrollBarPolicy(HbScrollArea::ScrollBarAlwaysOff);
@@ -101,7 +107,7 @@
 	GetInstanceListL();
 	
 	// Get the content of the scroll area
-	QGraphicsWidget* content = this->contentWidget();
+	QGraphicsWidget* content = contentWidget();
 	// Adjust the layout
 	QGraphicsLinearLayout* layout = static_cast<QGraphicsLinearLayout *>
 															(content->layout());
@@ -154,11 +160,16 @@
 				// No summary display "No subject"
 				summary.append(hbTrId("txt_calendar_dblist_unnamed"));
 			}
-			QDateTime startTime = mInstanceArray[i].startTime();
-			HbExtendedLocale systemLocale =HbExtendedLocale::system();
-			QString start = systemLocale.format(startTime.time(), 
-			                                    r_qtn_time_usual_with_zero);
-			start.append(EMPTYSTRING);
+			// Chcek the entry type, based on the type display time field in
+			// preview pane.
+			QString start;
+			if(mInstanceArray[i].type() != AgendaEntry::TypeTodo ) {
+				QDateTime startTime = mInstanceArray[i].startTime();
+				HbExtendedLocale systemLocale =HbExtendedLocale::system();
+				start = systemLocale.format(startTime.time(), 
+				                                    r_qtn_time_usual_with_zero);
+				start.append(EMPTYSTRING);	
+			}
 			// Append summary to start time
 			QString text = start.append(summary);
 			label->setPlainText(text);
@@ -238,9 +249,6 @@
 {
 	if (mIsNoEntriesAdded) {
 		scrollContentsTo(QPointF(0.0,0.0));
-				
-		// Call pan gesture with zero delta just to stop the scfrolling 
-		HbScrollArea::panGesture(QPointF(0.0,0.0));
 		return;
 	}
 
@@ -259,17 +267,30 @@
 	mTwoSecTimer->stop();
 	disconnect(mTwoSecTimer, SIGNAL(timeout()), 
 										   this, SLOT(onTwoSecondsTimeout()));
-	// Start the scrolling in the proper direction
+	
+	// Calculate the timer and the height difference of pane and its content
+	if (!mScrollDuration) {
+        qreal contentHeight = contentWidget()->size().height();
+        qreal paneHeight = size().height();
+        mHtDiff = contentHeight - paneHeight;
+        if (mHtDiff > 0) { // content is more than widget height, we need to scroll
+            mScrollDuration = mHtDiff / SCROLLING_SPEED;
+        }
+	}
+	
+    // Start the scrolling in the proper direction
 	if (mScrollDirection == up) {
 		// Start scrolling upwards
 		mScrollDirection = down;
 		mNumOfScrolls++;
-		upGesture(SCROLLING_SPEED);
+		QPointF targetPos(0.0, -mHtDiff);
+        scrollContentsTo(-targetPos, mScrollDuration * 1000);
 	} else if (mScrollDirection == down) {
 		mScrollDirection = up;
 		mNumOfScrolls++;
 		// Start scrolling downwards
-		downGesture(SCROLLING_SPEED);
+		QPointF targetPos(0.0, 0.0);
+        scrollContentsTo(targetPos, mScrollDuration * 1000);
 	}
 }
 
@@ -290,44 +311,59 @@
 }
 
 /*!
- Function to listen mouse press events
+    Function to listen for all gestures
  */
-void CalenPreviewPane::mousePressEvent(QGraphicsSceneMouseEvent* event)
-{
-	mIsGestureHandled = false;
-	mPressedPos = event->pos();
-	event->accept();
-}
-
-/*!
- Function to listen mouse release events
- */
-void CalenPreviewPane::mouseReleaseEvent(QGraphicsSceneMouseEvent* event)
+void CalenPreviewPane::gestureEvent(QGestureEvent *event)
 {
-	qreal posDiff = mPressedPos.x()-event->pos().x();
-	if (abs(posDiff) < 50 && !mIsGestureHandled) {
-		// Preview pane tapped
-		mServices.IssueCommandL(ECalenDayView);
-	}
-	event->accept();
-}
-
-/*!
- Function to listen mouse move events
- */
-void CalenPreviewPane::mouseMoveEvent(QGraphicsSceneMouseEvent* event)
-{
-	qreal posDiff = mPressedPos.x()-event->pos().x();
-	if (posDiff < -50) {
-		mIsGestureHandled = true;
-		// right gesture
-		mView->handlePreviewPaneGesture(true);
-	} else if (posDiff > 50) {
-		mIsGestureHandled = true;
-		// left gesture
-		mView->handlePreviewPaneGesture(false);
-	}
-	event->accept();
+    if(HbPanGesture *gesture = qobject_cast<HbPanGesture *>(event->gesture(Qt::PanGesture))) {
+        if (gesture->state() == Qt::GestureStarted) {
+            // TODO: This work aroung till framework provides an api
+            // 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();
+            if (abs(delta.y()) > MAX_PAN_DIRECTION_THRESHOLD) {
+                // Now see if y coord diff has crossed threshold
+                if (delta.x() > MAX_PAN_DIRECTION_THRESHOLD) {
+                    mIsGestureHandled = true;
+                    // right gesture
+                    mView->handlePreviewPaneGesture(true);
+                    event->accept(Qt::PanGesture);
+                } else if (delta.x() < -MAX_PAN_DIRECTION_THRESHOLD){
+                    mIsGestureHandled = true;
+                    // left gesture
+                    mView->handlePreviewPaneGesture(false);
+                    event->accept(Qt::PanGesture);
+                } else {
+                    event->accept(Qt::PanGesture);
+                    return;
+                }
+            } else if (abs(delta.y()) < MAX_PAN_DIRECTION_THRESHOLD) {
+               if (delta.x() > MIN_PAN_DIRECTION_THRESHOLD) {
+                   mIsGestureHandled = true;
+                   // right gesture
+                   mView->handlePreviewPaneGesture(true);
+                   event->accept(Qt::PanGesture);
+               } else if (delta.x() < -MIN_PAN_DIRECTION_THRESHOLD){
+                   mIsGestureHandled = true;
+                   // left gesture
+                   mView->handlePreviewPaneGesture(false);
+                   event->accept(Qt::PanGesture);
+               }else {
+                   event->accept(Qt::PanGesture);
+                   return;
+               }
+            }
+        }
+    } else if(HbTapGesture *gesture = qobject_cast<HbTapGesture *>(event->gesture(Qt::TapGesture))) {
+        if (gesture->state() == Qt::GestureFinished) {
+            if (gesture->tapStyleHint() == HbTapGesture::Tap) {
+                // Preview pane tapped
+                mServices.IssueCommandL(ECalenAgendaView);
+                event->accept(Qt::TapGesture);
+            }
+        }
+    }
 }
 
 /*!
--- a/calendarui/views/src/calensettingsview.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/views/src/calensettingsview.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -31,7 +31,11 @@
 #include "calensettings.h"
 
 CalenSettingsView::CalenSettingsView(MCalenServices& services, QGraphicsItem *parent)
-:HbView(parent), mServices(services)
+:HbView(parent), 
+ mServices(services),
+ mCalenSettingsForm(NULL),
+ mCalenSettings(NULL),
+ mSoftKeyAction(NULL)
 {
 
 	mCalenSettingsForm = new HbDataForm(this);
@@ -40,17 +44,26 @@
 	setTitle(hbTrId("txt_calendar_title_calendar"));
 
 	// Construct the settings utility.
-	mCalenSettings = new CalenSettings(mCalenSettingsForm);
-	mCalenSettings->createModel();
-
-
-	setWidget(mCalenSettingsForm);
+	if(mCalenSettingsForm)
+	{
+	    mCalenSettings = new CalenSettings(mServices, mCalenSettingsForm);
+        if(mCalenSettings)
+        {
+    	    mCalenSettings->createModel();
+            setWidget(mCalenSettingsForm);
+        }
+    }
 	
 }
 
 CalenSettingsView::~CalenSettingsView()
 {
-	// Nothing yet.
+	if (mCalenSettings) {
+		delete mCalenSettings;
+	}
+	if (mSoftKeyAction) {
+		delete mSoftKeyAction;
+	}
 }
 
 void CalenSettingsView::launchPreviousView()
@@ -61,30 +74,27 @@
 											this, SLOT(launchPreviousView()));
 	mServices.MainWindow().removeView(this);
 	mServices.IssueNotificationL(ECalenNotifySettingsClosed);
-   
-    //TODO :: For ART3 we are launching agenda view later we have to use week view
-    // GEt the current orientation
-   /* Qt::Orientation orientation = mServices.MainWindow().orientation();
-    if(orientation == Qt::Vertical)
-        {
-        mServices.IssueCommandL(ECalenDayView);
-        }
-    else if(orientation == Qt::Horizontal)
-        {
-        mServices.IssueCommandL(ECalenLandscapeDayView);
-        }*/
 }
 
 void CalenSettingsView::initializeForm()
-    {
+{
     mCalenSettings->populateSettingList();
     
     // Add view on main window and set back softkey
 	mServices.MainWindow().addView(this);
 	mSoftKeyAction = new HbAction(Hb::BackNaviAction);
-	setNavigationAction(mSoftKeyAction);
-	connect(mSoftKeyAction, SIGNAL(triggered()), 
+	if(mSoftKeyAction)
+	{
+		setNavigationAction(mSoftKeyAction);
+		connect(mSoftKeyAction, SIGNAL(triggered()), 
 											this, SLOT(launchPreviousView()));
+	}
+}
+
+void CalenSettingsView::refreshView()
+    {
+    //populate the new items 
+    mCalenSettings->populateSettingList();
     }
 
 // End of file
--- a/calendarui/views/src/calenthicklinesdrawer.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/views/src/calenthicklinesdrawer.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -20,6 +20,7 @@
 #include <QPainter>
 #include <QPen>
 #include <hbdeviceprofile.h>
+#include <hbcolorscheme.h>
 
 // User includes
 #include "calenthicklinesdrawer.h"
@@ -39,10 +40,11 @@
  */
 CalenThickLinesDrawer::CalenThickLinesDrawer( CalendarNamespace::WidgetType type, 
 	QGraphicsItem* parent):
-	HbWidget(parent),
-	mGridBorderColor(Qt::black)
+	HbWidget(parent)
 {
 	typeOfWidget = type;
+	mGridBorderColor = HbColorScheme::color("qtc_cal_grid_line");
+	setFlag(QGraphicsItem::ItemHasNoContents, false);
 }
 
 /*!
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/src/calentodayindicatorlinedrawer.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,80 @@
+/*
+* 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:  CalenTodayIndicatorLineDrawer implementation.
+*
+*/
+
+// System includes
+#include <QtGui>
+#include <QPainter>
+#include <QPen>
+#include <hbcolorscheme.h>
+#include <hbtheme.h>
+
+// User includes
+#include "CalenTodayIndicatorLineDrawer.h"
+
+/*!
+ \class CalenTodayIndicatorLineDrawer.
+
+ Class to draw the today indicator line.
+ */
+
+/*!
+ Constructor.
+ */
+CalenTodayIndicatorLineDrawer::CalenTodayIndicatorLineDrawer(
+		QGraphicsItem* parent): HbWidgetBase(parent)
+{
+	connect(
+			HbTheme::instance(), SIGNAL(changed()),
+			this, SLOT(handleThemeChange()));
+	setFlag(QGraphicsItem::ItemHasNoContents, false);
+}
+
+/*!
+ Destructor.
+ */
+CalenTodayIndicatorLineDrawer::~CalenTodayIndicatorLineDrawer()
+{
+
+}
+
+/*!
+ To paint the today indicator line.
+ */
+void CalenTodayIndicatorLineDrawer::paint(
+		QPainter* painter, const QStyleOptionGraphicsItem* option,
+		QWidget* widget)
+{
+	Q_UNUSED(option);
+	Q_UNUSED(widget);
+	QPen pen;
+	pen.setStyle(Qt::SolidLine);
+	pen.setBrush(HbColorScheme::color("qtc_cal_month_current_day"));
+	painter->setPen(pen);
+	QRectF controlRect = this->boundingRect();
+	painter->fillRect(
+			controlRect, HbColorScheme::color("qtc_cal_month_current_day"));
+}
+
+/*!
+ To handle the theme change for the today indicator line.
+ */
+void CalenTodayIndicatorLineDrawer::handleThemeChange()
+{
+	update();
+}
+
+// End of file  --Don't remove this.
--- a/calendarui/views/views.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/calendarui/views/views.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -37,8 +37,8 @@
 			-lcalencommonutils \
 			-lcalensettings \
 			-lagendainterface \
-			-lxqsettingsmanager \
-			-lnoteseditor
+			-lxqsettingsmanager
+
     TARGET.UID3 = 0x10282F26
     TARGET.CAPABILITY = CAP_GENERAL_DLL
 
@@ -52,28 +52,32 @@
 		   calenmonthgrid.h \
 		   calengriditemprototype.h \
 		   calennativeview.h \
-		   calendayview.h \
+		   calenagendaview.h \
 		   caleneventlistviewitem.h \
-		   calendayviewwidget.h \
+		   calenagendaviewwidget.h \
 		   calenpreviewpane.h \
 		   calensettingsview.h \
 		   calenthicklinesdrawer.h \
-		   calenpluginlabel.h
+		   calenpluginlabel.h \
+		   calentodayindicatorlinedrawer.h
 	
 SOURCES += calenmonthview.cpp \
            calenmonthdata.cpp \
            calenmonthgrid.cpp \
            calengriditemprototype.cpp \
            calennativeview.cpp \
-           calendayview.cpp \
+           calenagendaview.cpp \
            caleneventlistviewitem.cpp \
-           calendayviewwidget.cpp \
+           calenagendaviewwidget.cpp \
            calenpreviewpane.cpp \
            calensettingsview.cpp \
            calenthicklinesdrawer.cpp \
-		   calenpluginlabel.cpp
+		   calenpluginlabel.cpp \
+		   calentodayindicatorlinedrawer.cpp
 
 RESOURCES += calenresources.qrc
 
+include(dayview/dayview.pri)
+
 # End of file	--Don't remove this.
 
--- a/clock/clock.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clock.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -19,8 +19,7 @@
 SUBDIRS += \
 		clockengines \
 		clockmw \
-		clockui \
-		ftudatetimewizard
+		clockui
 		
 CONFIG += ordered
 
@@ -28,12 +27,14 @@
     BLD_INF_RULES.prj_exports += \
     "./rom/clock.iby                    CORE_APP_LAYER_IBY_EXPORT_PATH(clock.iby)" \
     "./rom/clockengines.iby             CORE_APP_LAYER_IBY_EXPORT_PATH(clockengines.iby)" \
-    "./rom/ftudatetimewizard.iby        CORE_APP_LAYER_IBY_EXPORT_PATH(ftudatetimewizard.iby)" \
 	"./rom/clockresources.iby           LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(clockresources.iby)" \
 	\
     "./conf/clockapp.confml             APP_LAYER_CONFML(clockapp.confml)" \
+	"./conf/CI_clockapp.confml			APP_LAYER_CONFML(CI_clockapp.confml)" \
     "./conf/clockapp_101F874D.crml      APP_LAYER_CRML(clockapp_101F874D.crml)" \
     "./conf/clockapp_101F8876.crml      APP_LAYER_CRML(clockapp_101F8876.crml)" \
+	# stubsis is added to provide IAD
+	"./stubsis/clock_stub.sis           /epoc32/data/z/system/install/clock_stub.sis"
 }
 
 # End of file   --Don't remove this.
--- a/clock/clockengines/clockserver/server/inc/clockprivatecrkeys.h	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +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:   The file contains the uid of keys used by cenrep sheet
-*
-*/
-
-#ifndef __CLOCKPRIVATECRKEYS_H__
-#define __CLOCKPRIVATECRKEYS_H__
-
-/** Nitz Settings API */
-/** Provides access to the Nitz status.*/
-const TUid KCRUidNitz = { 0x101F8876 };
-
-/** Nitz state key */
-const TUint32 KNitzState = 0x00000000;
-
-/** Active Protocol key */
-const TUint32 KActiveProtocol = 0x00000001;
-
-/** Previous alarm time high */
-const TUint32 KPreviousAlarmTime = 0x00000002;
-
-/** CountDownTimer  alert file */
-const TUint32 KCountDownSoundFile = 0x00000003;
-
-/** Valid Nitz Info key */
-const TUint32 KValidNitz = 0x00000004;
-
-/** FTU date time plugin edited date */
-const TUint32 KFtuPluginDate = 0x00000005;
-#endif  // __CLOCKPRIVATECRKEYS_H__
-
-// End of file
-
--- a/clock/clockengines/clockserver/server/src/clockserver.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockengines/clockserver/server/src/clockserver.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -216,7 +216,7 @@
 	CRepository* cenRep( NULL );
 	
 	// Open the repository.
-	TRAPD( errVal, cenRep = CRepository::NewL( KCRUidNitz ) );
+	TRAPD( errVal, cenRep = CRepository::NewL( TUid::Uid(KCRUidNitz ) ) );
 	if( KErrNone == errVal ) 
 		{
 		// Read the key.
@@ -248,7 +248,7 @@
     CRepository* cenRep( NULL );
     
     // Open the repository.
-    TRAPD( errVal, cenRep = CRepository::NewL( KCRUidNitz ) );
+    TRAPD( errVal, cenRep = CRepository::NewL( TUid::Uid(KCRUidNitz ) ) );
     if( KErrNone == errVal ) 
         {
         // Update the key.
--- a/clock/clockengines/clockserver/server/src/clockserverimpl.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockengines/clockserver/server/src/clockserverimpl.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -31,13 +31,11 @@
 #include "clockservermccobserver.h"
 #include "clockecomlistener.h"
 #include "clock_debug.h"
-#include "clockprivatecrkeys.h"
 
 // Constants
 const TInt KZeroIndex( 0 );
 const TInt KSingleZone( 1 );
 const TInt KSinglePlugin( 1 );
-const TInt KSetValidNitz( 1 );
 const TUid KTimeSourceInterfaceUID = { 0x200159A7 };
 const TInt KNitzPlugin( 0x200159A5 );
 
@@ -508,6 +506,11 @@
 		    }
 		}
 	
+	// Initialise the attributes to null.
+	TTime invalidTime( 0 );
+	iTimeAttributes->iDstOffset = TTimeIntervalMinutes( 0 );
+	iTimeAttributes->iTimeZoneOffset =  TTimeIntervalMinutes( 0 );
+	iTimeAttributes->iUtcDateTime = invalidTime.DateTime();
 	// Get all the information related to the plugin.
 	// The UTC time.
 	TRAP_IGNORE( aPluginImpl.GetTimeInformationL( EUTCTime, iTimeAttributes ) );	
@@ -519,29 +522,14 @@
 	// Set a flag saying we have plugin data.
 	iPluginData = ETrue;
 	
-	// Get the first boot status from cenrep. If it is the first boot, clockserver will not update the time.
-	TBool staleBoot( EFalse );
-	
-	CRepository* cenRep( NULL );
-
-	TRAPD( errorVal, cenRep = CRepository::NewL( KCRUidStartup ) );
-	
-	if( errorVal == KErrNone )
-		{
-		errorVal = cenRep->Get( KStartupFirstBoot, staleBoot );
-		}
-	
-	// Cleanup.
-	delete cenRep;
-	cenRep = NULL;
-	
 	if( iMccReceived )
 		{
 		__PRINTS( "We have already recieved the MCC" );
 		
 		// Try to resolve the timezone id with the data that we have recieved.
 		TInt timezoneId;
-		TRAP_IGNORE( TInt errorVal = iTzResolver->GetTimeZoneL( *iTimeAttributes, iMcc, timezoneId ) );
+		TInt errorVal = 0;
+		TRAP_IGNORE( errorVal = iTzResolver->GetTimeZoneL( *iTimeAttributes, iMcc, timezoneId ) );
 		
 		__PRINT( "CClkSrvImpl::NotifyTimeChangeL - timeZoneId: %d", timezoneId );
 		
@@ -564,23 +552,6 @@
 			if( KInvalidTimeZoneId != timezoneId ) 
 				{
                 // A valid new zone was found successfully
-			
-                // Update the key for ValidNitz for the first boot
-                if(!staleBoot)
-                    {
-                    TInt validNitz( KSetValidNitz );
-                    CRepository* cenRep( NULL );
-    
-                    TRAPD( errorVal, cenRep = CRepository::NewL( KCRUidNitz ) );
-                    if( errorVal == KErrNone )
-                        {
-                        errorVal = cenRep->Set( KValidNitz, validNitz );
-                        }
-                    // Cleanup.
-                    delete cenRep;
-                    cenRep = NULL;
-                    }
-			    
 				CTzId* newTzId = CTzId::NewL( timezoneId );
 				CleanupStack::PushL( newTzId );
 
@@ -592,12 +563,9 @@
 					{
 					// The new zone is different than the current one
 					// GOAL 3: Set the DST zone of the device
-					//if( staleBoot )
-					//{
-						__PRINTS( "Not the first boot and the timezone ID is different. Setting the zone." );
+					__PRINTS( "Timezone ID is different. Setting the zone." );
 						
-						TRAP_IGNORE( tz.SetTimeZoneL( *newTzId ) );
-					//	}
+					TRAP_IGNORE( tz.SetTimeZoneL( *newTzId ) );
 					}
 
 				CleanupStack::PopAndDestroy( newTzId );
@@ -612,12 +580,9 @@
 			// Set the UTC time only. This is being done because with the UTC time,
 			// before the time is being set, the dst properties for the timezone are being checked.
 			// If its not the first boot, then set the time.
-			//if( staleBoot )
-			//	{
-				__PRINTS( "Not the first boot. Setting the UTC time." );
+			__PRINTS( "Setting the UTC time." );
 				
-				TRAP_IGNORE( User::SetUTCTime( nwUtcTime ) );
-			//	}
+			TRAP_IGNORE( User::SetUTCTime( nwUtcTime ) );
 			}
 		
 		// Reset the flags.
@@ -633,8 +598,9 @@
 		
 		// Try to resolve the timezone id with the data that we have recieved.
 		TInt timezoneId;
+		TInt errorVal = 0;
 		const TBuf< 4 > invalidMCC( KInvalidMCC );
-		TRAP_IGNORE( TInt errorVal = iTzResolver->GetTimeZoneL( *iTimeAttributes, invalidMCC, timezoneId ) );
+		TRAP_IGNORE( errorVal = iTzResolver->GetTimeZoneL( *iTimeAttributes, invalidMCC, timezoneId ) );
 		
 		if( KErrNone == errorVal )
 			{
@@ -649,23 +615,6 @@
 			if( KInvalidTimeZoneId != timezoneId ) 
 				{
                 // A valid new zone was found successfully
-			
-	            // Update the key for ValidNitz for the first boot
-                if(!staleBoot)
-                    {
-                    TInt validNitz( KSetValidNitz );
-                    CRepository* cenRep( NULL );
-    
-                    TRAPD( errorVal, cenRep = CRepository::NewL( KCRUidNitz ) );
-                    if( errorVal == KErrNone )
-                        {
-                        errorVal = cenRep->Set( KValidNitz, validNitz );
-                        }
-                    // Cleanup.
-                    delete cenRep;
-                    cenRep = NULL;
-                    }
-			
 				CTzId* newTzId = CTzId::NewL( timezoneId );
 				CleanupStack::PushL( newTzId );
 
@@ -674,12 +623,9 @@
 					// The new zone is different than the current one
 					// GOAL 3: Set the DST zone of the device
 					// If firstboot then don't set the time.
-					//if( staleBoot )
-					//	{
-						__PRINTS( "Not the first boot and the timezone ID is different. Setting the zone." );
+					__PRINTS( "The timezone ID is different. Setting the zone." );
 						
-						TRAP_IGNORE( tz.SetTimeZoneL( *newTzId ) );
-					//	}
+					TRAP_IGNORE( tz.SetTimeZoneL( *newTzId ) );
 					}
 				CleanupStack::PopAndDestroy( newTzId );
 				}
@@ -693,12 +639,9 @@
 			// Set the UTC time only. This is being done because with the UTC time,
 			// before the time is being set, the dst properties for the timezone are being checked.
 			// Set the time only if its not the first boot.
-			//if( staleBoot )
-			//    {
-			    __PRINTS( "Not the first boot. Setting the UTC time." );
+			__PRINTS( "Setting the UTC time." );
 
-			    TRAP_IGNORE( User::SetUTCTime( nwUtcTime ) );
-			//    }
+			TRAP_IGNORE( User::SetUTCTime( nwUtcTime ) );
 			}
 		}
 	__PRINTS( "Notifying the timechange to client" );
@@ -733,26 +676,50 @@
 		// Lets see if we can narrow down to a single timezone with the MCC recieved.
 		RArray< CTzId > tzIdArray;
 		
-		// Try and fetch the timezone ID using the MCC recieved.
-		TRAP_IGNORE( iTzResolver->TzIdFromMccL( iMcc, tzIdArray, KInvalidTimeZoneId ) );
+		// This parte of code introduced due to error ID EASH-82DPPC(3G Tests for NITZ and GPRS Interaction)
+		// Fix is bascially to narrowing down to single timezone id if NITZ packet is received prior to MCC.
+		// In first IF state we are trying to narrowdown to single timezone ID, if not possible try to use MCC to get timezone
+		// In second IF , we are using MCC to narrow down to single timezone ID directly as dont have NITZ info.
+		if( iTimeAttributes )
+		{
+            __PRINTS("timeatrrtibutes has value");
 		
-		// Code to check if its the first boot.
-		// Get the first boot status from cenrep. If it is the first boot, clockserver will not update the time.
-		TBool staleBoot( EFalse );
-		
-		CRepository* cenRep( NULL );
+			TTime invalidTime(0);
+			if( iTimeAttributes->iDstOffset != TTimeIntervalMinutes( 0 ) &&
+			iTimeAttributes->iTimeZoneOffset != TTimeIntervalMinutes( 0 ) &&
+			iTimeAttributes->iUtcDateTime.Year() != invalidTime.DateTime().Year() )
+			{
+				// Try to resolve the timezone id with the data that we have recieved.
+				TInt timezoneId;
+				TRAP_IGNORE( TInt errorVal = iTzResolver->GetTimeZoneL( *iTimeAttributes, iMcc, timezoneId ) );
+				
+				__PRINT("TIMEZONE ID %d", timezoneId );
+
+				// Append the timezone id to array.
 
-		TRAPD( errorVal, cenRep = CRepository::NewL( KCRUidStartup ) );
-		
-		if( errorVal == KErrNone )
-			{
-			errorVal = cenRep->Get( KStartupFirstBoot, staleBoot );
+				CTzId* matchingDSTZoneId = CTzId::NewL( timezoneId );
+				CleanupStack::PushL( matchingDSTZoneId );
+
+				tzIdArray.AppendL( *matchingDSTZoneId );
+
+				CleanupStack::PopAndDestroy( matchingDSTZoneId );
+
+				matchingDSTZoneId = NULL;
 			}
+			else
+			{
+				__PRINTS("NOT ABLE TO NARROW DOWN TO TIMEZONE ID WITH RECEIVED NITZ HENCE TRY WITH MCC");
+				// Not able to narrow down to single timezone id with received NITZ packet hence try with MCC.
+				TRAP_IGNORE( iTzResolver->TzIdFromMccL( iMcc, tzIdArray, KInvalidTimeZoneId ) );	
+			}
+		}
+		else
+		{
+			__PRINTS("NO NITZ INFO HENCE TRY WITH MCC");
+			// No NITZ info hecne try with MCC to get the time zone Id.
+			TRAP_IGNORE( iTzResolver->TzIdFromMccL( iMcc, tzIdArray, KInvalidTimeZoneId ) );
+		}
 		
-		// Cleanup
-		delete cenRep;
-		cenRep = NULL;
-	
 		// A single matching timezone was found. Set it as the default one.
 		if( KSingleZone == tzIdArray.Count() )
 			{
@@ -780,18 +747,41 @@
 					// The new zone is different than the current one
 					// Set the DST zone of the device
 					// Set the zone only for subsequent boots.
-					if( staleBoot )
-						{
-						__PRINTS( "Not the first boot and the timezone ID is different. Setting the zone." );
+					__PRINTS( "The timezone ID is different. Setting the zone." );
 						
-						TRAP_IGNORE( tz.SetTimeZoneL( *newTzId ) );
-						}
+					TRAP_IGNORE( tz.SetTimeZoneL( *newTzId ) );
 					}
 				CleanupStack::PopAndDestroy( newTzId );
 				}
 			CleanupStack::PopAndDestroy( currentCTzId );
-			CleanupStack::PopAndDestroy( &tz );
-			}
+			CleanupStack::PopAndDestroy( &tz );		
+	
+		}
+		
+		// Set the time on device and set the attributes to null so that we avoid setting old value.		
+		if( iTimeAttributes )
+		    {
+            // Time sent by nw is UTC
+            TTime nwUtcTime( iTimeAttributes->iUtcDateTime);
+    
+            // Set the UTC time only. This is being done because with the UTC time,
+            // before the time is being set, the dst properties for the timezone are being checked.
+            // If its not the first boot, then set the time.
+            __PRINTS( "Setting the UTC time." );
+    
+            TRAP_IGNORE( User::SetUTCTime( nwUtcTime ) );
+    
+            // Setting the attributes to null again as we dont trust on
+            // previous NITZ data recevied by device.If device receive
+            // NITZ data again attributes would get filled with actual value.
+            // Has been kept outside because this statement is valid for
+            // first boot also.
+    
+            iTimeAttributes->iDstOffset = TTimeIntervalMinutes( 0 );
+            iTimeAttributes->iTimeZoneOffset =  TTimeIntervalMinutes( 0 );
+            TTime invalidTime( 0 );
+            iTimeAttributes->iUtcDateTime = invalidTime.DateTime(); 
+            }
 		}
 	
 	// Notify the sessions about the change in mcc.
--- a/clock/clockmw/bwins/clockalarmclientu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-EXPORTS
-	?setAlarmRepeatType@AlarmClient@@AAEXW4AlarmRepeatType@@AAW4TAlarmRepeatDefinition@@@Z @ 1 NONAME ; void AlarmClient::setAlarmRepeatType(enum AlarmRepeatType, enum TAlarmRepeatDefinition &)
-	?staticMetaObject@AlarmClient@@2UQMetaObject@@B @ 2 NONAME ; struct QMetaObject const AlarmClient::staticMetaObject
-	?metaObject@AlarmClient@@UBEPBUQMetaObject@@XZ @ 3 NONAME ; struct QMetaObject const * AlarmClient::metaObject(void) const
-	?trUtf8@AlarmClient@@SA?AVQString@@PBD0H@Z @ 4 NONAME ; class QString AlarmClient::trUtf8(char const *, char const *, int)
-	?startListener@AlarmClient@@QAEXXZ @ 5 NONAME ; void AlarmClient::startListener(void)
-	?alarmStateChanged@AlarmClient@@IAEXH@Z @ 6 NONAME ; void AlarmClient::alarmStateChanged(int)
-	?toggleAlarmStatus@AlarmClient@@QAEXHH@Z @ 7 NONAME ; void AlarmClient::toggleAlarmStatus(int, int)
-	?notifyChange@AlarmClient@@QAEXH@Z @ 8 NONAME ; void AlarmClient::notifyChange(int)
-	?tr@AlarmClient@@SA?AVQString@@PBD0@Z @ 9 NONAME ; class QString AlarmClient::tr(char const *, char const *)
-	?setAlarmState@AlarmClient@@AAEXW4AlarmState@@AAW4TAlarmState@@@Z @ 10 NONAME ; void AlarmClient::setAlarmState(enum AlarmState, enum TAlarmState &)
-	?getStaticMetaObject@AlarmClient@@SAABUQMetaObject@@XZ @ 11 NONAME ; struct QMetaObject const & AlarmClient::getStaticMetaObject(void)
-	?trUtf8@AlarmClient@@SA?AVQString@@PBD0@Z @ 12 NONAME ; class QString AlarmClient::trUtf8(char const *, char const *)
-	?qt_metacast@AlarmClient@@UAEPAXPBD@Z @ 13 NONAME ; void * AlarmClient::qt_metacast(char const *)
-	??0AlarmClient@@QAE@PAVQObject@@@Z @ 14 NONAME ; AlarmClient::AlarmClient(class QObject *)
-	??1AlarmClient@@UAE@XZ @ 15 NONAME ; AlarmClient::~AlarmClient(void)
-	?tr@AlarmClient@@SA?AVQString@@PBD0H@Z @ 16 NONAME ; class QString AlarmClient::tr(char const *, char const *, int)
-	?setAlarm@AlarmClient@@QAEXAAUAlarmInfo@@@Z @ 17 NONAME ; void AlarmClient::setAlarm(struct AlarmInfo &)
-	?deleteAlarm@AlarmClient@@QAEXH@Z @ 18 NONAME ; void AlarmClient::deleteAlarm(int)
-	?stopListener@AlarmClient@@QAEXXZ @ 19 NONAME ; void AlarmClient::stopListener(void)
-	??_EAlarmClient@@UAE@I@Z @ 20 NONAME ; AlarmClient::~AlarmClient(unsigned int)
-	?getAlarmList@AlarmClient@@QAEXAAV?$QList@UAlarmInfo@@@@@Z @ 21 NONAME ; void AlarmClient::getAlarmList(class QList<struct AlarmInfo> &)
-	?setAlarmState@AlarmClient@@AAEXW4TAlarmState@@AAW4AlarmState@@@Z @ 22 NONAME ; void AlarmClient::setAlarmState(enum TAlarmState, enum AlarmState &)
-	?setAlarmRepeatType@AlarmClient@@AAEXW4TAlarmRepeatDefinition@@AAW4AlarmRepeatType@@@Z @ 23 NONAME ; void AlarmClient::setAlarmRepeatType(enum TAlarmRepeatDefinition, enum AlarmRepeatType &)
-	?qt_metacall@AlarmClient@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 24 NONAME ; int AlarmClient::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?getAlarmInfo@AlarmClient@@QAEHHAAUAlarmInfo@@@Z @ 25 NONAME ; int AlarmClient::getAlarmInfo(int, struct AlarmInfo &)
-	?deleteSnoozedAlarm@AlarmClient@@QAEHH@Z @ 26 NONAME ; int AlarmClient::deleteSnoozedAlarm(int)
-
--- a/clock/clockmw/bwins/clocksettingsutilityu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-EXPORTS
-	?timeFormat@SettingsUtility@@QAEHAAVQStringList@@@Z @ 1 NONAME ; int SettingsUtility::timeFormat(class QStringList &)
-	?setSnoozeTime@SettingsUtility@@QAEXH@Z @ 2 NONAME ; void SettingsUtility::setSnoozeTime(int)
-	?workdays@SettingsUtility@@QAEHAAVQStringList@@@Z @ 3 NONAME ; int SettingsUtility::workdays(class QStringList &)
-	?setDateFormat@SettingsUtility@@QAEXABVQString@@@Z @ 4 NONAME ; void SettingsUtility::setDateFormat(class QString const &)
-	?time@SettingsUtility@@QAE?AVQString@@XZ @ 5 NONAME ; class QString SettingsUtility::time(void)
-	?staticMetaObject@SettingsUtility@@2UQMetaObject@@B @ 6 NONAME ; struct QMetaObject const SettingsUtility::staticMetaObject
-	?clockType@SettingsUtility@@QAEHAAVQStringList@@@Z @ 7 NONAME ; int SettingsUtility::clockType(class QStringList &)
-	?setDateSeparator@SettingsUtility@@QAEXABVQString@@@Z @ 8 NONAME ; void SettingsUtility::setDateSeparator(class QString const &)
-	?date@SettingsUtility@@QAE?AVQString@@XZ @ 9 NONAME ; class QString SettingsUtility::date(void)
-	?dateFormat@SettingsUtility@@QAEHAAVQStringList@@@Z @ 10 NONAME ; int SettingsUtility::dateFormat(class QStringList &)
-	?dateSeparator@SettingsUtility@@QAEHAAVQStringList@@@Z @ 11 NONAME ; int SettingsUtility::dateSeparator(class QStringList &)
-	?setTimeSeparator@SettingsUtility@@QAEXABVQString@@@Z @ 12 NONAME ; void SettingsUtility::setTimeSeparator(class QString const &)
-	?snoozeTime@SettingsUtility@@QAEHAAVQStringList@@@Z @ 13 NONAME ; int SettingsUtility::snoozeTime(class QStringList &)
-	?qt_metacast@SettingsUtility@@UAEPAXPBD@Z @ 14 NONAME ; void * SettingsUtility::qt_metacast(char const *)
-	?setWorkdays@SettingsUtility@@QAEXABVQString@@@Z @ 15 NONAME ; void SettingsUtility::setWorkdays(class QString const &)
-	?dateFormatString@SettingsUtility@@QAE?AVQString@@XZ @ 16 NONAME ; class QString SettingsUtility::dateFormatString(void)
-	??_ESettingsUtility@@UAE@I@Z @ 17 NONAME ; SettingsUtility::~SettingsUtility(unsigned int)
-	?metaObject@SettingsUtility@@UBEPBUQMetaObject@@XZ @ 18 NONAME ; struct QMetaObject const * SettingsUtility::metaObject(void) const
-	??0SettingsUtility@@QAE@PAVQObject@@@Z @ 19 NONAME ; SettingsUtility::SettingsUtility(class QObject *)
-	?qt_metacall@SettingsUtility@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 20 NONAME ; int SettingsUtility::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?timeSeparator@SettingsUtility@@QAEHAAVQStringList@@@Z @ 21 NONAME ; int SettingsUtility::timeSeparator(class QStringList &)
-	?setClockType@SettingsUtility@@QAEXABVQString@@@Z @ 22 NONAME ; void SettingsUtility::setClockType(class QString const &)
-	?setTimeFormat@SettingsUtility@@QAEXABVQString@@@Z @ 23 NONAME ; void SettingsUtility::setTimeFormat(class QString const &)
-	?settingsChanged@SettingsUtility@@IAEXW4SettingsItemChanged@@VQString@@@Z @ 24 NONAME ; void SettingsUtility::settingsChanged(enum SettingsItemChanged, class QString)
-	?timeFormatString@SettingsUtility@@QAE?AVQString@@XZ @ 25 NONAME ; class QString SettingsUtility::timeFormatString(void)
-	?tr@SettingsUtility@@SA?AVQString@@PBD0H@Z @ 26 NONAME ; class QString SettingsUtility::tr(char const *, char const *, int)
-	??1SettingsUtility@@UAE@XZ @ 27 NONAME ; SettingsUtility::~SettingsUtility(void)
-	?setStartOfWeek@SettingsUtility@@QAEXH@Z @ 28 NONAME ; void SettingsUtility::setStartOfWeek(int)
-	?trUtf8@SettingsUtility@@SA?AVQString@@PBD0@Z @ 29 NONAME ; class QString SettingsUtility::trUtf8(char const *, char const *)
-	?tr@SettingsUtility@@SA?AVQString@@PBD0@Z @ 30 NONAME ; class QString SettingsUtility::tr(char const *, char const *)
-	?trUtf8@SettingsUtility@@SA?AVQString@@PBD0H@Z @ 31 NONAME ; class QString SettingsUtility::trUtf8(char const *, char const *, int)
-	?getStaticMetaObject@SettingsUtility@@SAABUQMetaObject@@XZ @ 32 NONAME ; struct QMetaObject const & SettingsUtility::getStaticMetaObject(void)
-
--- a/clock/clockmw/bwins/clockstopwatchengineu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-EXPORTS
-	?startTimer@StopwatchEngine@@QAEXXZ @ 1 NONAME ; void StopwatchEngine::startTimer(void)
-	?stopTimer@StopwatchEngine@@QAEXXZ @ 2 NONAME ; void StopwatchEngine::stopTimer(void)
-	??_EStopwatchEngine@@UAE@I@Z @ 3 NONAME ; StopwatchEngine::~StopwatchEngine(unsigned int)
-	??0StopwatchEngine@@QAE@PAVStopwatchObserver@@@Z @ 4 NONAME ; StopwatchEngine::StopwatchEngine(class StopwatchObserver *)
-	?RunL@StopwatchEngine@@MAEXXZ @ 5 NONAME ; void StopwatchEngine::RunL(void)
-	?DoCancel@StopwatchEngine@@MAEXXZ @ 6 NONAME ; void StopwatchEngine::DoCancel(void)
-	??1StopwatchEngine@@UAE@XZ @ 7 NONAME ; StopwatchEngine::~StopwatchEngine(void)
-
--- a/clock/clockmw/bwins/timezoneclientu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-EXPORTS
-	?deleteInstance@TimezoneClient@@QAEXXZ @ 1 NONAME ; void TimezoneClient::deleteInstance(void)
-	?addCity@TimezoneClient@@QAE?AULocationInfo@@HAAVQString@@H@Z @ 2 NONAME ; struct LocationInfo TimezoneClient::addCity(int, class QString &, int)
-	?isNull@TimezoneClient@@QAE_NXZ @ 3 NONAME ; bool TimezoneClient::isNull(void)
-	??_ETimezoneClient@@UAE@I@Z @ 4 NONAME ; TimezoneClient::~TimezoneClient(unsigned int)
-	?getLocations@TimezoneClient@@QAEAAV?$QList@ULocationInfo@@@@XZ @ 5 NONAME ; class QList<struct LocationInfo> & TimezoneClient::getLocations(void)
-	?getDstRulesL@TimezoneClient@@AAEXAAVQDateTime@@0H@Z @ 6 NONAME ; void TimezoneClient::getDstRulesL(class QDateTime &, class QDateTime &, int)
-	?locationSelectorModel@TimezoneClient@@QAEPAVQStandardItemModel@@XZ @ 7 NONAME ; class QStandardItemModel * TimezoneClient::locationSelectorModel(void)
-	?getUtcDstOffsetL@TimezoneClient@@AAE_NAAHABVCTzId@@@Z @ 8 NONAME ; bool TimezoneClient::getUtcDstOffsetL(int &, class CTzId const &)
-	?mReferenceCount@TimezoneClient@@0HA @ 9 NONAME ; int TimezoneClient::mReferenceCount
-	??0TimezoneClient@@AAE@XZ @ 10 NONAME ; TimezoneClient::TimezoneClient(void)
-	?intToMonth@TimezoneClient@@AAE?AW4TMonth@@H@Z @ 11 NONAME ; enum TMonth TimezoneClient::intToMonth(int)
-	?getDstZoneOffset@TimezoneClient@@AAEHH@Z @ 12 NONAME ; int TimezoneClient::getDstZoneOffset(int)
-	?environmentCallback@TimezoneClient@@SAHPAX@Z @ 13 NONAME ; int TimezoneClient::environmentCallback(void *)
-	?trUtf8@TimezoneClient@@SA?AVQString@@PBD0H@Z @ 14 NONAME ; class QString TimezoneClient::trUtf8(char const *, char const *, int)
-	?getStandardOffset@TimezoneClient@@QAEHH@Z @ 15 NONAME ; int TimezoneClient::getStandardOffset(int)
-	?getCurrentZoneInfoL@TimezoneClient@@QAE?AULocationInfo@@XZ @ 16 NONAME ; struct LocationInfo TimezoneClient::getCurrentZoneInfoL(void)
-	?dstOn@TimezoneClient@@QAE_NH@Z @ 17 NONAME ; bool TimezoneClient::dstOn(int)
-	?createWorldClockModel@TimezoneClient@@QAEXXZ @ 18 NONAME ; void TimezoneClient::createWorldClockModel(void)
-	?tr@TimezoneClient@@SA?AVQString@@PBD0H@Z @ 19 NONAME ; class QString TimezoneClient::tr(char const *, char const *, int)
-	?setAsCurrentLocationL@TimezoneClient@@QAEXAAULocationInfo@@@Z @ 20 NONAME ; void TimezoneClient::setAsCurrentLocationL(struct LocationInfo &)
-	?eventMonitor@TimezoneClient@@AAEXABVXQSettingsKey@@ABVQVariant@@@Z @ 21 NONAME ; void TimezoneClient::eventMonitor(class XQSettingsKey const &, class QVariant const &)
-	?getInstance@TimezoneClient@@SAPAV1@XZ @ 22 NONAME ; class TimezoneClient * TimezoneClient::getInstance(void)
-	?getCityGroupIdByName@TimezoneClient@@AAEHABVQString@@@Z @ 23 NONAME ; int TimezoneClient::getCityGroupIdByName(class QString const &)
-	?getCityOffsetByNameAndId@TimezoneClient@@AAEHABVQString@@H@Z @ 24 NONAME ; int TimezoneClient::getCityOffsetByNameAndId(class QString const &, int)
-	?getAllTimeZoneOffsets@TimezoneClient@@QAE?AV?$QList@H@@XZ @ 25 NONAME ; class QList<int> TimezoneClient::getAllTimeZoneOffsets(void)
-	?getCitiesForCountry@TimezoneClient@@AAEXHAAV?$QMap@VQString@@H@@@Z @ 26 NONAME ; void TimezoneClient::getCitiesForCountry(int, class QMap<class QString, int> &)
-	?getCountriesForUTCOffset@TimezoneClient@@QAE?AV?$QList@ULocationInfo@@@@H@Z @ 27 NONAME ; class QList<struct LocationInfo> TimezoneClient::getCountriesForUTCOffset(int)
-	??1TimezoneClient@@EAE@XZ @ 28 NONAME ; TimezoneClient::~TimezoneClient(void)
-	?timeUpdateOn@TimezoneClient@@QAE_NXZ @ 29 NONAME ; bool TimezoneClient::timeUpdateOn(void)
-	?staticMetaObject@TimezoneClient@@2UQMetaObject@@B @ 30 NONAME ; struct QMetaObject const TimezoneClient::staticMetaObject
-	?qt_metacast@TimezoneClient@@UAEPAXPBD@Z @ 31 NONAME ; void * TimezoneClient::qt_metacast(char const *)
-	?autoTimeUpdateChanged@TimezoneClient@@IAEXH@Z @ 32 NONAME ; void TimezoneClient::autoTimeUpdateChanged(int)
-	?trUtf8@TimezoneClient@@SA?AVQString@@PBD0@Z @ 33 NONAME ; class QString TimezoneClient::trUtf8(char const *, char const *)
-	?listUpdated@TimezoneClient@@IAEXXZ @ 34 NONAME ; void TimezoneClient::listUpdated(void)
-	?getSavedLocations@TimezoneClient@@QAE?AV?$QList@ULocationInfo@@@@XZ @ 35 NONAME ; class QList<struct LocationInfo> TimezoneClient::getSavedLocations(void)
-	?getLocationInfo@TimezoneClient@@AAEXHHAAULocationInfo@@@Z @ 36 NONAME ; void TimezoneClient::getLocationInfo(int, int, struct LocationInfo &)
-	?getAllTimeZoneIds@TimezoneClient@@QAE?AV?$QList@H@@XZ @ 37 NONAME ; class QList<int> TimezoneClient::getAllTimeZoneIds(void)
-	?populateCities@TimezoneClient@@AAEXXZ @ 38 NONAME ; void TimezoneClient::populateCities(void)
-	?tr@TimezoneClient@@SA?AVQString@@PBD0@Z @ 39 NONAME ; class QString TimezoneClient::tr(char const *, char const *)
-	?setDateTime@TimezoneClient@@QAEXVQDateTime@@@Z @ 40 NONAME ; void TimezoneClient::setDateTime(class QDateTime)
-	?metaObject@TimezoneClient@@UBEPBUQMetaObject@@XZ @ 41 NONAME ; struct QMetaObject const * TimezoneClient::metaObject(void) const
-	?getStaticMetaObject@TimezoneClient@@SAABUQMetaObject@@XZ @ 42 NONAME ; struct QMetaObject const & TimezoneClient::getStaticMetaObject(void)
-	?mTimezoneClient@TimezoneClient@@0PAV1@A @ 43 NONAME ; class TimezoneClient * TimezoneClient::mTimezoneClient
-	?cityUpdated@TimezoneClient@@IAEXXZ @ 44 NONAME ; void TimezoneClient::cityUpdated(void)
-	?setTimeUpdateOn@TimezoneClient@@QAEX_N@Z @ 45 NONAME ; void TimezoneClient::setTimeUpdateOn(bool)
-	?getCountries@TimezoneClient@@QAEXAAV?$QMap@VQString@@H@@@Z @ 46 NONAME ; void TimezoneClient::getCountries(class QMap<class QString, int> &)
-	?checkForDstChange@TimezoneClient@@QAE_NAAUAlarmInfo@@@Z @ 47 NONAME ; bool TimezoneClient::checkForDstChange(struct AlarmInfo &)
-	?isDSTOnL@TimezoneClient@@QAE_NH@Z @ 48 NONAME ; bool TimezoneClient::isDSTOnL(int)
-	?timechanged@TimezoneClient@@IAEXXZ @ 49 NONAME ; void TimezoneClient::timechanged(void)
-	?saveLocations@TimezoneClient@@QAEXABV?$QList@ULocationInfo@@@@@Z @ 50 NONAME ; void TimezoneClient::saveLocations(class QList<struct LocationInfo> const &)
-	?qt_metacall@TimezoneClient@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 51 NONAME ; int TimezoneClient::qt_metacall(enum QMetaObject::Call, int, void * *)
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockmw/clockalarms/bwins/clockalarmclientu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,28 @@
+EXPORTS
+	?deleteSnoozedAlarm@AlarmClient@@QAEHH@Z @ 1 NONAME ; int AlarmClient::deleteSnoozedAlarm(int)
+	?setAlarmRepeatType@AlarmClient@@AAEXW4AlarmRepeatType@@AAW4TAlarmRepeatDefinition@@@Z @ 2 NONAME ; void AlarmClient::setAlarmRepeatType(enum AlarmRepeatType, enum TAlarmRepeatDefinition &)
+	?staticMetaObject@AlarmClient@@2UQMetaObject@@B @ 3 NONAME ; struct QMetaObject const AlarmClient::staticMetaObject
+	?metaObject@AlarmClient@@UBEPBUQMetaObject@@XZ @ 4 NONAME ; struct QMetaObject const * AlarmClient::metaObject(void) const
+	?trUtf8@AlarmClient@@SA?AVQString@@PBD0H@Z @ 5 NONAME ; class QString AlarmClient::trUtf8(char const *, char const *, int)
+	?startListener@AlarmClient@@QAEXXZ @ 6 NONAME ; void AlarmClient::startListener(void)
+	?alarmStateChanged@AlarmClient@@IAEXH@Z @ 7 NONAME ; void AlarmClient::alarmStateChanged(int)
+	?toggleAlarmStatus@AlarmClient@@QAEXHH@Z @ 8 NONAME ; void AlarmClient::toggleAlarmStatus(int, int)
+	?notifyChange@AlarmClient@@QAEXH@Z @ 9 NONAME ; void AlarmClient::notifyChange(int)
+	?tr@AlarmClient@@SA?AVQString@@PBD0@Z @ 10 NONAME ; class QString AlarmClient::tr(char const *, char const *)
+	?setAlarmState@AlarmClient@@AAEXW4AlarmState@@AAW4TAlarmState@@@Z @ 11 NONAME ; void AlarmClient::setAlarmState(enum AlarmState, enum TAlarmState &)
+	?getStaticMetaObject@AlarmClient@@SAABUQMetaObject@@XZ @ 12 NONAME ; struct QMetaObject const & AlarmClient::getStaticMetaObject(void)
+	?trUtf8@AlarmClient@@SA?AVQString@@PBD0@Z @ 13 NONAME ; class QString AlarmClient::trUtf8(char const *, char const *)
+	?qt_metacast@AlarmClient@@UAEPAXPBD@Z @ 14 NONAME ; void * AlarmClient::qt_metacast(char const *)
+	??0AlarmClient@@QAE@PAVQObject@@@Z @ 15 NONAME ; AlarmClient::AlarmClient(class QObject *)
+	??1AlarmClient@@UAE@XZ @ 16 NONAME ; AlarmClient::~AlarmClient(void)
+	?tr@AlarmClient@@SA?AVQString@@PBD0H@Z @ 17 NONAME ; class QString AlarmClient::tr(char const *, char const *, int)
+	?setAlarm@AlarmClient@@QAEXAAUAlarmInfo@@@Z @ 18 NONAME ; void AlarmClient::setAlarm(struct AlarmInfo &)
+	?deleteAlarm@AlarmClient@@QAEXH@Z @ 19 NONAME ; void AlarmClient::deleteAlarm(int)
+	?stopListener@AlarmClient@@QAEXXZ @ 20 NONAME ; void AlarmClient::stopListener(void)
+	??_EAlarmClient@@UAE@I@Z @ 21 NONAME ; AlarmClient::~AlarmClient(unsigned int)
+	?getAlarmList@AlarmClient@@QAEXAAV?$QList@UAlarmInfo@@@@@Z @ 22 NONAME ; void AlarmClient::getAlarmList(class QList<struct AlarmInfo> &)
+	?setAlarmState@AlarmClient@@AAEXW4TAlarmState@@AAW4AlarmState@@@Z @ 23 NONAME ; void AlarmClient::setAlarmState(enum TAlarmState, enum AlarmState &)
+	?setAlarmRepeatType@AlarmClient@@AAEXW4TAlarmRepeatDefinition@@AAW4AlarmRepeatType@@@Z @ 24 NONAME ; void AlarmClient::setAlarmRepeatType(enum TAlarmRepeatDefinition, enum AlarmRepeatType &)
+	?getAlarmInfo@AlarmClient@@QAEHHAAUAlarmInfo@@@Z @ 25 NONAME ; int AlarmClient::getAlarmInfo(int, struct AlarmInfo &)
+	?qt_metacall@AlarmClient@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 26 NONAME ; int AlarmClient::qt_metacall(enum QMetaObject::Call, int, void * *)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockmw/clockalarms/eabi/clockalarmclientu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,28 @@
+EXPORTS
+	_ZN11AlarmClient11deleteAlarmEi @ 1 NONAME
+	_ZN11AlarmClient11qt_metacallEN11QMetaObject4CallEiPPv @ 2 NONAME
+	_ZN11AlarmClient11qt_metacastEPKc @ 3 NONAME
+	_ZN11AlarmClient12getAlarmInfoEiR9AlarmInfo @ 4 NONAME
+	_ZN11AlarmClient12getAlarmListER5QListI9AlarmInfoE @ 5 NONAME
+	_ZN11AlarmClient12notifyChangeEi @ 6 NONAME
+	_ZN11AlarmClient12stopListenerEv @ 7 NONAME
+	_ZN11AlarmClient13setAlarmStateE10AlarmStateR11TAlarmState @ 8 NONAME
+	_ZN11AlarmClient13setAlarmStateE11TAlarmStateR10AlarmState @ 9 NONAME
+	_ZN11AlarmClient13startListenerEv @ 10 NONAME
+	_ZN11AlarmClient16staticMetaObjectE @ 11 NONAME DATA 16
+	_ZN11AlarmClient17alarmStateChangedEi @ 12 NONAME
+	_ZN11AlarmClient17toggleAlarmStatusEii @ 13 NONAME
+	_ZN11AlarmClient18deleteSnoozedAlarmEi @ 14 NONAME
+	_ZN11AlarmClient18setAlarmRepeatTypeE15AlarmRepeatTypeR22TAlarmRepeatDefinition @ 15 NONAME
+	_ZN11AlarmClient18setAlarmRepeatTypeE22TAlarmRepeatDefinitionR15AlarmRepeatType @ 16 NONAME
+	_ZN11AlarmClient19getStaticMetaObjectEv @ 17 NONAME
+	_ZN11AlarmClient8setAlarmER9AlarmInfo @ 18 NONAME
+	_ZN11AlarmClientC1EP7QObject @ 19 NONAME
+	_ZN11AlarmClientC2EP7QObject @ 20 NONAME
+	_ZN11AlarmClientD0Ev @ 21 NONAME
+	_ZN11AlarmClientD1Ev @ 22 NONAME
+	_ZN11AlarmClientD2Ev @ 23 NONAME
+	_ZNK11AlarmClient10metaObjectEv @ 24 NONAME
+	_ZTI11AlarmClient @ 25 NONAME
+	_ZTV11AlarmClient @ 26 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockmw/clocksettingsutility/bwins/clocksettingsutilityu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,34 @@
+EXPORTS
+	?timeFormat@SettingsUtility@@QAEHAAVQStringList@@@Z @ 1 NONAME ; int SettingsUtility::timeFormat(class QStringList &)
+	?setSnoozeTime@SettingsUtility@@QAEXH@Z @ 2 NONAME ; void SettingsUtility::setSnoozeTime(int)
+	?workdays@SettingsUtility@@QAEHAAVQStringList@@@Z @ 3 NONAME ; int SettingsUtility::workdays(class QStringList &)
+	?setDateFormat@SettingsUtility@@QAEXABVQString@@@Z @ 4 NONAME ; void SettingsUtility::setDateFormat(class QString const &)
+	?time@SettingsUtility@@QAE?AVQString@@XZ @ 5 NONAME ; class QString SettingsUtility::time(void)
+	?staticMetaObject@SettingsUtility@@2UQMetaObject@@B @ 6 NONAME ; struct QMetaObject const SettingsUtility::staticMetaObject
+	?clockType@SettingsUtility@@QAEHAAVQStringList@@@Z @ 7 NONAME ; int SettingsUtility::clockType(class QStringList &)
+	?setDateSeparator@SettingsUtility@@QAEXABVQString@@@Z @ 8 NONAME ; void SettingsUtility::setDateSeparator(class QString const &)
+	?date@SettingsUtility@@QAE?AVQString@@XZ @ 9 NONAME ; class QString SettingsUtility::date(void)
+	?dateFormat@SettingsUtility@@QAEHAAVQStringList@@@Z @ 10 NONAME ; int SettingsUtility::dateFormat(class QStringList &)
+	?dateSeparator@SettingsUtility@@QAEHAAVQStringList@@@Z @ 11 NONAME ; int SettingsUtility::dateSeparator(class QStringList &)
+	?setTimeSeparator@SettingsUtility@@QAEXABVQString@@@Z @ 12 NONAME ; void SettingsUtility::setTimeSeparator(class QString const &)
+	?snoozeTime@SettingsUtility@@QAEHAAVQStringList@@@Z @ 13 NONAME ; int SettingsUtility::snoozeTime(class QStringList &)
+	?qt_metacast@SettingsUtility@@UAEPAXPBD@Z @ 14 NONAME ; void * SettingsUtility::qt_metacast(char const *)
+	?setWorkdays@SettingsUtility@@QAEXABVQString@@@Z @ 15 NONAME ; void SettingsUtility::setWorkdays(class QString const &)
+	?dateFormatString@SettingsUtility@@QAE?AVQString@@XZ @ 16 NONAME ; class QString SettingsUtility::dateFormatString(void)
+	??_ESettingsUtility@@UAE@I@Z @ 17 NONAME ; SettingsUtility::~SettingsUtility(unsigned int)
+	?metaObject@SettingsUtility@@UBEPBUQMetaObject@@XZ @ 18 NONAME ; struct QMetaObject const * SettingsUtility::metaObject(void) const
+	??0SettingsUtility@@QAE@PAVQObject@@@Z @ 19 NONAME ; SettingsUtility::SettingsUtility(class QObject *)
+	?qt_metacall@SettingsUtility@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 20 NONAME ; int SettingsUtility::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?timeSeparator@SettingsUtility@@QAEHAAVQStringList@@@Z @ 21 NONAME ; int SettingsUtility::timeSeparator(class QStringList &)
+	?setClockType@SettingsUtility@@QAEXABVQString@@@Z @ 22 NONAME ; void SettingsUtility::setClockType(class QString const &)
+	?setTimeFormat@SettingsUtility@@QAEXABVQString@@@Z @ 23 NONAME ; void SettingsUtility::setTimeFormat(class QString const &)
+	?settingsChanged@SettingsUtility@@IAEXW4SettingsItemChanged@@VQString@@@Z @ 24 NONAME ; void SettingsUtility::settingsChanged(enum SettingsItemChanged, class QString)
+	?timeFormatString@SettingsUtility@@QAE?AVQString@@XZ @ 25 NONAME ; class QString SettingsUtility::timeFormatString(void)
+	?tr@SettingsUtility@@SA?AVQString@@PBD0H@Z @ 26 NONAME ; class QString SettingsUtility::tr(char const *, char const *, int)
+	??1SettingsUtility@@UAE@XZ @ 27 NONAME ; SettingsUtility::~SettingsUtility(void)
+	?setStartOfWeek@SettingsUtility@@QAEXH@Z @ 28 NONAME ; void SettingsUtility::setStartOfWeek(int)
+	?trUtf8@SettingsUtility@@SA?AVQString@@PBD0@Z @ 29 NONAME ; class QString SettingsUtility::trUtf8(char const *, char const *)
+	?tr@SettingsUtility@@SA?AVQString@@PBD0@Z @ 30 NONAME ; class QString SettingsUtility::tr(char const *, char const *)
+	?trUtf8@SettingsUtility@@SA?AVQString@@PBD0H@Z @ 31 NONAME ; class QString SettingsUtility::trUtf8(char const *, char const *, int)
+	?getStaticMetaObject@SettingsUtility@@SAABUQMetaObject@@XZ @ 32 NONAME ; struct QMetaObject const & SettingsUtility::getStaticMetaObject(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockmw/clocksettingsutility/eabi/clocksettingsutilityu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,34 @@
+EXPORTS
+	_ZN15SettingsUtility10dateFormatER11QStringList @ 1 NONAME
+	_ZN15SettingsUtility10snoozeTimeER11QStringList @ 2 NONAME
+	_ZN15SettingsUtility10timeFormatER11QStringList @ 3 NONAME
+	_ZN15SettingsUtility11qt_metacallEN11QMetaObject4CallEiPPv @ 4 NONAME
+	_ZN15SettingsUtility11qt_metacastEPKc @ 5 NONAME
+	_ZN15SettingsUtility11setWorkdaysERK7QString @ 6 NONAME
+	_ZN15SettingsUtility12setClockTypeERK7QString @ 7 NONAME
+	_ZN15SettingsUtility13dateSeparatorER11QStringList @ 8 NONAME
+	_ZN15SettingsUtility13setDateFormatERK7QString @ 9 NONAME
+	_ZN15SettingsUtility13setSnoozeTimeEi @ 10 NONAME
+	_ZN15SettingsUtility13setTimeFormatERK7QString @ 11 NONAME
+	_ZN15SettingsUtility13timeSeparatorER11QStringList @ 12 NONAME
+	_ZN15SettingsUtility14setStartOfWeekEi @ 13 NONAME
+	_ZN15SettingsUtility15settingsChangedE19SettingsItemChanged7QString @ 14 NONAME
+	_ZN15SettingsUtility16dateFormatStringEv @ 15 NONAME
+	_ZN15SettingsUtility16setDateSeparatorERK7QString @ 16 NONAME
+	_ZN15SettingsUtility16setTimeSeparatorERK7QString @ 17 NONAME
+	_ZN15SettingsUtility16staticMetaObjectE @ 18 NONAME DATA 16
+	_ZN15SettingsUtility16timeFormatStringEv @ 19 NONAME
+	_ZN15SettingsUtility19getStaticMetaObjectEv @ 20 NONAME
+	_ZN15SettingsUtility4dateEv @ 21 NONAME
+	_ZN15SettingsUtility4timeEv @ 22 NONAME
+	_ZN15SettingsUtility8workdaysER11QStringList @ 23 NONAME
+	_ZN15SettingsUtility9clockTypeER11QStringList @ 24 NONAME
+	_ZN15SettingsUtilityC1EP7QObject @ 25 NONAME
+	_ZN15SettingsUtilityC2EP7QObject @ 26 NONAME
+	_ZN15SettingsUtilityD0Ev @ 27 NONAME
+	_ZN15SettingsUtilityD1Ev @ 28 NONAME
+	_ZN15SettingsUtilityD2Ev @ 29 NONAME
+	_ZNK15SettingsUtility10metaObjectEv @ 30 NONAME
+	_ZTI15SettingsUtility @ 31 NONAME
+	_ZTV15SettingsUtility @ 32 NONAME
+
--- a/clock/clockmw/clocksettingsutility/src/settingsutility.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockmw/clocksettingsutility/src/settingsutility.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -38,7 +38,7 @@
 :QObject(parent)
 {
 	mTimeSeparatorList << tr(".") << tr(":");
-	mClockTypeList << tr("Analog") << tr("Digital");
+	mClockTypeList << hbTrId("txt_clock_button_digital") << hbTrId("txt_clock_button_analog");
 	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");
 	mDateSeparatorList << tr(".") << tr(":") << tr("/") << tr("-");
@@ -320,9 +320,9 @@
 	QStringList dummyList;
 
 	if (ETime24 == locale.TimeFormat()) {
-		format = QString("h:mm");
+		format = QString("hh:mm");
 	} else if (ETime12 == locale.TimeFormat()) {
-		format = QString("h:mm ap");
+		format = QString("hh:mm ap");
 	}
 
 	QString separator = mTimeSeparatorList.at(timeSeparator(dummyList));
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockmw/clocktimezone/bwins/timezoneclientu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,53 @@
+EXPORTS
+	?deleteInstance@TimezoneClient@@QAEXXZ @ 1 NONAME ; void TimezoneClient::deleteInstance(void)
+	?addCity@TimezoneClient@@QAE?AULocationInfo@@HAAVQString@@H@Z @ 2 NONAME ; struct LocationInfo TimezoneClient::addCity(int, class QString &, int)
+	?isNull@TimezoneClient@@QAE_NXZ @ 3 NONAME ; bool TimezoneClient::isNull(void)
+	??_ETimezoneClient@@UAE@I@Z @ 4 NONAME ; TimezoneClient::~TimezoneClient(unsigned int)
+	?getLocations@TimezoneClient@@QAEAAV?$QList@ULocationInfo@@@@XZ @ 5 NONAME ; class QList<struct LocationInfo> & TimezoneClient::getLocations(void)
+	?getDstRulesL@TimezoneClient@@AAEXAAVQDateTime@@0H@Z @ 6 NONAME ; void TimezoneClient::getDstRulesL(class QDateTime &, class QDateTime &, int)
+	?locationSelectorModel@TimezoneClient@@QAEPAVQStandardItemModel@@XZ @ 7 NONAME ; class QStandardItemModel * TimezoneClient::locationSelectorModel(void)
+	?getUtcDstOffsetL@TimezoneClient@@AAE_NAAHABVCTzId@@@Z @ 8 NONAME ; bool TimezoneClient::getUtcDstOffsetL(int &, class CTzId const &)
+	??0TimezoneClient@@AAE@XZ @ 9 NONAME ; TimezoneClient::TimezoneClient(void)
+	?intToMonth@TimezoneClient@@AAE?AW4TMonth@@H@Z @ 10 NONAME ; enum TMonth TimezoneClient::intToMonth(int)
+	?getDstZoneOffset@TimezoneClient@@AAEHH@Z @ 11 NONAME ; int TimezoneClient::getDstZoneOffset(int)
+	?environmentCallback@TimezoneClient@@SAHPAX@Z @ 12 NONAME ; int TimezoneClient::environmentCallback(void *)
+	?trUtf8@TimezoneClient@@SA?AVQString@@PBD0H@Z @ 13 NONAME ; class QString TimezoneClient::trUtf8(char const *, char const *, int)
+	?getStandardOffset@TimezoneClient@@QAEHH@Z @ 14 NONAME ; int TimezoneClient::getStandardOffset(int)
+	?getCurrentZoneInfoL@TimezoneClient@@QAE?AULocationInfo@@XZ @ 15 NONAME ; struct LocationInfo TimezoneClient::getCurrentZoneInfoL(void)
+	?dstOn@TimezoneClient@@QAE_NH@Z @ 16 NONAME ; bool TimezoneClient::dstOn(int)
+	?createWorldClockModel@TimezoneClient@@QAEXXZ @ 17 NONAME ; void TimezoneClient::createWorldClockModel(void)
+	?tr@TimezoneClient@@SA?AVQString@@PBD0H@Z @ 18 NONAME ; class QString TimezoneClient::tr(char const *, char const *, int)
+	?setAsCurrentLocationL@TimezoneClient@@QAEXAAULocationInfo@@@Z @ 19 NONAME ; void TimezoneClient::setAsCurrentLocationL(struct LocationInfo &)
+	?eventMonitor@TimezoneClient@@AAEXABVXQSettingsKey@@ABVQVariant@@@Z @ 20 NONAME ; void TimezoneClient::eventMonitor(class XQSettingsKey const &, class QVariant const &)
+	?getInstance@TimezoneClient@@SAPAV1@XZ @ 21 NONAME ; class TimezoneClient * TimezoneClient::getInstance(void)
+	?getCityGroupIdByName@TimezoneClient@@AAEHABVQString@@@Z @ 22 NONAME ; int TimezoneClient::getCityGroupIdByName(class QString const &)
+	?getCityOffsetByNameAndId@TimezoneClient@@AAEHABVQString@@H@Z @ 23 NONAME ; int TimezoneClient::getCityOffsetByNameAndId(class QString const &, int)
+	?getAllTimeZoneOffsets@TimezoneClient@@QAE?AV?$QList@H@@XZ @ 24 NONAME ; class QList<int> TimezoneClient::getAllTimeZoneOffsets(void)
+	?getCitiesForCountry@TimezoneClient@@AAEXHAAV?$QMap@VQString@@H@@@Z @ 25 NONAME ; void TimezoneClient::getCitiesForCountry(int, class QMap<class QString, int> &)
+	?getCountriesForUTCOffset@TimezoneClient@@QAE?AV?$QList@ULocationInfo@@@@H@Z @ 26 NONAME ; class QList<struct LocationInfo> TimezoneClient::getCountriesForUTCOffset(int)
+	??1TimezoneClient@@EAE@XZ @ 27 NONAME ; TimezoneClient::~TimezoneClient(void)
+	?timeUpdateOn@TimezoneClient@@QAE_NXZ @ 28 NONAME ; bool TimezoneClient::timeUpdateOn(void)
+	?staticMetaObject@TimezoneClient@@2UQMetaObject@@B @ 29 NONAME ; struct QMetaObject const TimezoneClient::staticMetaObject
+	?qt_metacast@TimezoneClient@@UAEPAXPBD@Z @ 30 NONAME ; void * TimezoneClient::qt_metacast(char const *)
+	?autoTimeUpdateChanged@TimezoneClient@@IAEXH@Z @ 31 NONAME ; void TimezoneClient::autoTimeUpdateChanged(int)
+	?trUtf8@TimezoneClient@@SA?AVQString@@PBD0@Z @ 32 NONAME ; class QString TimezoneClient::trUtf8(char const *, char const *)
+	?listUpdated@TimezoneClient@@IAEXXZ @ 33 NONAME ; void TimezoneClient::listUpdated(void)
+	?getSavedLocations@TimezoneClient@@QAE?AV?$QList@ULocationInfo@@@@XZ @ 34 NONAME ; class QList<struct LocationInfo> TimezoneClient::getSavedLocations(void)
+	?getLocationInfo@TimezoneClient@@AAEXHHAAULocationInfo@@@Z @ 35 NONAME ; void TimezoneClient::getLocationInfo(int, int, struct LocationInfo &)
+	?getAllTimeZoneIds@TimezoneClient@@QAE?AV?$QList@H@@XZ @ 36 NONAME ; class QList<int> TimezoneClient::getAllTimeZoneIds(void)
+	?populateCities@TimezoneClient@@AAEXXZ @ 37 NONAME ; void TimezoneClient::populateCities(void)
+	?tr@TimezoneClient@@SA?AVQString@@PBD0@Z @ 38 NONAME ; class QString TimezoneClient::tr(char const *, char const *)
+	?setDateTime@TimezoneClient@@QAEXVQDateTime@@@Z @ 39 NONAME ; void TimezoneClient::setDateTime(class QDateTime)
+	?metaObject@TimezoneClient@@UBEPBUQMetaObject@@XZ @ 40 NONAME ; struct QMetaObject const * TimezoneClient::metaObject(void) const
+	?getStaticMetaObject@TimezoneClient@@SAABUQMetaObject@@XZ @ 41 NONAME ; struct QMetaObject const & TimezoneClient::getStaticMetaObject(void)
+	?mTimezoneClient@TimezoneClient@@0PAV1@A @ 42 NONAME ; class TimezoneClient * TimezoneClient::mTimezoneClient
+	?cityUpdated@TimezoneClient@@IAEXXZ @ 43 NONAME ; void TimezoneClient::cityUpdated(void)
+	?setTimeUpdateOn@TimezoneClient@@QAEX_N@Z @ 44 NONAME ; void TimezoneClient::setTimeUpdateOn(bool)
+	?mReferenceCount@TimezoneClient@@0_NA @ 45 NONAME ; bool TimezoneClient::mReferenceCount
+	?getCountries@TimezoneClient@@QAEXAAV?$QMap@VQString@@H@@@Z @ 46 NONAME ; void TimezoneClient::getCountries(class QMap<class QString, int> &)
+	?checkForDstChange@TimezoneClient@@QAE_NAAUAlarmInfo@@@Z @ 47 NONAME ; bool TimezoneClient::checkForDstChange(struct AlarmInfo &)
+	?isDSTOnL@TimezoneClient@@QAE_NH@Z @ 48 NONAME ; bool TimezoneClient::isDSTOnL(int)
+	?timechanged@TimezoneClient@@IAEXXZ @ 49 NONAME ; void TimezoneClient::timechanged(void)
+	?saveLocations@TimezoneClient@@QAEXABV?$QList@ULocationInfo@@@@@Z @ 50 NONAME ; void TimezoneClient::saveLocations(class QList<struct LocationInfo> const &)
+	?qt_metacall@TimezoneClient@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 51 NONAME ; int TimezoneClient::qt_metacall(enum QMetaObject::Call, int, void * *)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockmw/clocktimezone/eabi/timezoneclientu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,55 @@
+EXPORTS
+	_ZN14TimezoneClient10intToMonthEi @ 1 NONAME
+	_ZN14TimezoneClient11cityUpdatedEv @ 2 NONAME
+	_ZN14TimezoneClient11getInstanceEv @ 3 NONAME
+	_ZN14TimezoneClient11listUpdatedEv @ 4 NONAME
+	_ZN14TimezoneClient11qt_metacallEN11QMetaObject4CallEiPPv @ 5 NONAME
+	_ZN14TimezoneClient11qt_metacastEPKc @ 6 NONAME
+	_ZN14TimezoneClient11setDateTimeE9QDateTime @ 7 NONAME
+	_ZN14TimezoneClient11timechangedEv @ 8 NONAME
+	_ZN14TimezoneClient12eventMonitorERK13XQSettingsKeyRK8QVariant @ 9 NONAME
+	_ZN14TimezoneClient12getCountriesER4QMapI7QStringiE @ 10 NONAME
+	_ZN14TimezoneClient12getDstRulesLER9QDateTimeS1_i @ 11 NONAME
+	_ZN14TimezoneClient12getLocationsEv @ 12 NONAME
+	_ZN14TimezoneClient12timeUpdateOnEv @ 13 NONAME
+	_ZN14TimezoneClient13saveLocationsERK5QListI12LocationInfoE @ 14 NONAME
+	_ZN14TimezoneClient14deleteInstanceEv @ 15 NONAME
+	_ZN14TimezoneClient14populateCitiesEv @ 16 NONAME
+	_ZN14TimezoneClient15getLocationInfoEiiR12LocationInfo @ 17 NONAME
+	_ZN14TimezoneClient15mReferenceCountE @ 18 NONAME DATA 1
+	_ZN14TimezoneClient15mTimezoneClientE @ 19 NONAME DATA 4
+	_ZN14TimezoneClient15setTimeUpdateOnEb @ 20 NONAME
+	_ZN14TimezoneClient16getDstZoneOffsetEi @ 21 NONAME
+	_ZN14TimezoneClient16getUtcDstOffsetLERiRK5CTzId @ 22 NONAME
+	_ZN14TimezoneClient16staticMetaObjectE @ 23 NONAME DATA 16
+	_ZN14TimezoneClient17checkForDstChangeER9AlarmInfo @ 24 NONAME
+	_ZN14TimezoneClient17getAllTimeZoneIdsEv @ 25 NONAME
+	_ZN14TimezoneClient17getSavedLocationsEv @ 26 NONAME
+	_ZN14TimezoneClient17getStandardOffsetEi @ 27 NONAME
+	_ZN14TimezoneClient19environmentCallbackEPv @ 28 NONAME
+	_ZN14TimezoneClient19getCitiesForCountryEiR4QMapI7QStringiE @ 29 NONAME
+	_ZN14TimezoneClient19getCurrentZoneInfoLEv @ 30 NONAME
+	_ZN14TimezoneClient19getStaticMetaObjectEv @ 31 NONAME
+	_ZN14TimezoneClient20getCityGroupIdByNameERK7QString @ 32 NONAME
+	_ZN14TimezoneClient21autoTimeUpdateChangedEi @ 33 NONAME
+	_ZN14TimezoneClient21createWorldClockModelEv @ 34 NONAME
+	_ZN14TimezoneClient21getAllTimeZoneOffsetsEv @ 35 NONAME
+	_ZN14TimezoneClient21locationSelectorModelEv @ 36 NONAME
+	_ZN14TimezoneClient21setAsCurrentLocationLER12LocationInfo @ 37 NONAME
+	_ZN14TimezoneClient24getCityOffsetByNameAndIdERK7QStringi @ 38 NONAME
+	_ZN14TimezoneClient24getCountriesForUTCOffsetEi @ 39 NONAME
+	_ZN14TimezoneClient5dstOnEi @ 40 NONAME
+	_ZN14TimezoneClient6isNullEv @ 41 NONAME
+	_ZN14TimezoneClient7addCityEiR7QStringi @ 42 NONAME
+	_ZN14TimezoneClient8isDSTOnLEi @ 43 NONAME
+	_ZN14TimezoneClientC1Ev @ 44 NONAME
+	_ZN14TimezoneClientC2Ev @ 45 NONAME
+	_ZN14TimezoneClientD0Ev @ 46 NONAME
+	_ZN14TimezoneClientD1Ev @ 47 NONAME
+	_ZN14TimezoneClientD2Ev @ 48 NONAME
+	_ZNK14TimezoneClient10metaObjectEv @ 49 NONAME
+	_ZTI14TimezoneClient @ 50 NONAME
+	_ZTV14TimezoneClient @ 51 NONAME
+	_ZThn8_N14TimezoneClientD0Ev @ 52 NONAME
+	_ZThn8_N14TimezoneClientD1Ev @ 53 NONAME
+
--- a/clock/clockmw/clocktimezone/inc/timezoneclient.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockmw/clocktimezone/inc/timezoneclient.h	Thu Jul 22 16:32:51 2010 +0100
@@ -70,7 +70,7 @@
 
 private:
 	static TimezoneClient *mTimezoneClient;
-	static int mReferenceCount;
+	static bool mReferenceCount;
 
 // TODO: still refatoring
 public:
--- a/clock/clockmw/clocktimezone/src/timezoneclient.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockmw/clocktimezone/src/timezoneclient.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -31,6 +31,7 @@
 #include "timezoneclient.h"
 #include "clockcommon.h"
 #include "clockserverclt.h"
+#include "clockprivatecrkeys.h"
 
 const int KDaysInWeek(7);
 const int KZerothRule(0);
@@ -45,7 +46,7 @@
  */
 
 TimezoneClient* TimezoneClient::mTimezoneClient = 0;
-int TimezoneClient::mReferenceCount = 0;
+bool TimezoneClient::mReferenceCount = false;
 /*!
 	Call this funtion to instantiate the TimezoneClient class.
  */
@@ -53,9 +54,9 @@
 {
 	if (!mTimezoneClient) {
 		mTimezoneClient = new TimezoneClient();
+		mReferenceCount = true;
 	}
 
-	mReferenceCount++;
 	return mTimezoneClient;
 }
 
@@ -64,9 +65,7 @@
  */
 void TimezoneClient::deleteInstance()
 {
-	mReferenceCount--;
-
-	if (0 == mReferenceCount) {
+	if (mReferenceCount) {
 		delete mTimezoneClient;
 		mTimezoneClient = 0;
 	}
@@ -77,11 +76,7 @@
  */
 bool TimezoneClient::isNull()
 {
-	bool deleted = false;
-	if (0 == mReferenceCount) {
-		deleted = true;
-	}
-	return deleted;
+	return !mReferenceCount;
 }
 
 /*!
--- a/clock/clockmw/eabi/clockalarmclientu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-EXPORTS
-	_ZN11AlarmClient11deleteAlarmEi @ 1 NONAME
-	_ZN11AlarmClient11qt_metacallEN11QMetaObject4CallEiPPv @ 2 NONAME
-	_ZN11AlarmClient11qt_metacastEPKc @ 3 NONAME
-	_ZN11AlarmClient12getAlarmInfoEiR9AlarmInfo @ 4 NONAME
-	_ZN11AlarmClient12getAlarmListER5QListI9AlarmInfoE @ 5 NONAME
-	_ZN11AlarmClient12notifyChangeEi @ 6 NONAME
-	_ZN11AlarmClient12stopListenerEv @ 7 NONAME
-	_ZN11AlarmClient13setAlarmStateE10AlarmStateR11TAlarmState @ 8 NONAME
-	_ZN11AlarmClient13setAlarmStateE11TAlarmStateR10AlarmState @ 9 NONAME
-	_ZN11AlarmClient13startListenerEv @ 10 NONAME
-	_ZN11AlarmClient16staticMetaObjectE @ 11 NONAME DATA 16
-	_ZN11AlarmClient17alarmStateChangedEi @ 12 NONAME
-	_ZN11AlarmClient17toggleAlarmStatusEii @ 13 NONAME
-	_ZN11AlarmClient18setAlarmRepeatTypeE15AlarmRepeatTypeR22TAlarmRepeatDefinition @ 14 NONAME
-	_ZN11AlarmClient18setAlarmRepeatTypeE22TAlarmRepeatDefinitionR15AlarmRepeatType @ 15 NONAME
-	_ZN11AlarmClient19getStaticMetaObjectEv @ 16 NONAME
-	_ZN11AlarmClient8setAlarmER9AlarmInfo @ 17 NONAME
-	_ZN11AlarmClientC1EP7QObject @ 18 NONAME
-	_ZN11AlarmClientC2EP7QObject @ 19 NONAME
-	_ZN11AlarmClientD0Ev @ 20 NONAME
-	_ZN11AlarmClientD1Ev @ 21 NONAME
-	_ZN11AlarmClientD2Ev @ 22 NONAME
-	_ZNK11AlarmClient10metaObjectEv @ 23 NONAME
-	_ZTI11AlarmClient @ 24 NONAME
-	_ZTV11AlarmClient @ 25 NONAME
-	_ZN11AlarmClient18deleteSnoozedAlarmEi @ 26 NONAME
-
--- a/clock/clockmw/eabi/clocksettingsutilityu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-EXPORTS
-	_ZN15SettingsUtility10dateFormatER11QStringList @ 1 NONAME
-	_ZN15SettingsUtility10snoozeTimeER11QStringList @ 2 NONAME
-	_ZN15SettingsUtility10timeFormatER11QStringList @ 3 NONAME
-	_ZN15SettingsUtility11qt_metacallEN11QMetaObject4CallEiPPv @ 4 NONAME
-	_ZN15SettingsUtility11qt_metacastEPKc @ 5 NONAME
-	_ZN15SettingsUtility11setWorkdaysERK7QString @ 6 NONAME
-	_ZN15SettingsUtility12setClockTypeERK7QString @ 7 NONAME
-	_ZN15SettingsUtility13dateSeparatorER11QStringList @ 8 NONAME
-	_ZN15SettingsUtility13setDateFormatERK7QString @ 9 NONAME
-	_ZN15SettingsUtility13setSnoozeTimeEi @ 10 NONAME
-	_ZN15SettingsUtility13setTimeFormatERK7QString @ 11 NONAME
-	_ZN15SettingsUtility13timeSeparatorER11QStringList @ 12 NONAME
-	_ZN15SettingsUtility14setStartOfWeekEi @ 13 NONAME
-	_ZN15SettingsUtility15settingsChangedE19SettingsItemChanged7QString @ 14 NONAME
-	_ZN15SettingsUtility16dateFormatStringEv @ 15 NONAME
-	_ZN15SettingsUtility16setDateSeparatorERK7QString @ 16 NONAME
-	_ZN15SettingsUtility16setTimeSeparatorERK7QString @ 17 NONAME
-	_ZN15SettingsUtility16staticMetaObjectE @ 18 NONAME DATA 16
-	_ZN15SettingsUtility16timeFormatStringEv @ 19 NONAME
-	_ZN15SettingsUtility19getStaticMetaObjectEv @ 20 NONAME
-	_ZN15SettingsUtility4dateEv @ 21 NONAME
-	_ZN15SettingsUtility4timeEv @ 22 NONAME
-	_ZN15SettingsUtility8workdaysER11QStringList @ 23 NONAME
-	_ZN15SettingsUtility9clockTypeER11QStringList @ 24 NONAME
-	_ZN15SettingsUtilityC1EP7QObject @ 25 NONAME
-	_ZN15SettingsUtilityC2EP7QObject @ 26 NONAME
-	_ZN15SettingsUtilityD0Ev @ 27 NONAME
-	_ZN15SettingsUtilityD1Ev @ 28 NONAME
-	_ZN15SettingsUtilityD2Ev @ 29 NONAME
-	_ZNK15SettingsUtility10metaObjectEv @ 30 NONAME
-	_ZTI15SettingsUtility @ 31 NONAME
-	_ZTV15SettingsUtility @ 32 NONAME
-
--- a/clock/clockmw/eabi/clockstopwatchengineu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-EXPORTS
-	_ZN15StopwatchEngine10startTimerEv @ 1 NONAME
-	_ZN15StopwatchEngine4RunLEv @ 2 NONAME
-	_ZN15StopwatchEngine8DoCancelEv @ 3 NONAME
-	_ZN15StopwatchEngine9stopTimerEv @ 4 NONAME
-	_ZN15StopwatchEngineC1EP17StopwatchObserver @ 5 NONAME
-	_ZN15StopwatchEngineC2EP17StopwatchObserver @ 6 NONAME
-	_ZN15StopwatchEngineD0Ev @ 7 NONAME
-	_ZN15StopwatchEngineD1Ev @ 8 NONAME
-	_ZN15StopwatchEngineD2Ev @ 9 NONAME
-	_ZTI15StopwatchEngine @ 10 NONAME
-	_ZTV15StopwatchEngine @ 11 NONAME
-
--- a/clock/clockmw/eabi/timezoneclientu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-EXPORTS
-	_ZN14TimezoneClient10intToMonthEi @ 1 NONAME
-	_ZN14TimezoneClient11cityUpdatedEv @ 2 NONAME
-	_ZN14TimezoneClient11getInstanceEv @ 3 NONAME
-	_ZN14TimezoneClient11listUpdatedEv @ 4 NONAME
-	_ZN14TimezoneClient11qt_metacallEN11QMetaObject4CallEiPPv @ 5 NONAME
-	_ZN14TimezoneClient11qt_metacastEPKc @ 6 NONAME
-	_ZN14TimezoneClient11setDateTimeE9QDateTime @ 7 NONAME
-	_ZN14TimezoneClient11timechangedEv @ 8 NONAME
-	_ZN14TimezoneClient12eventMonitorERK13XQSettingsKeyRK8QVariant @ 9 NONAME
-	_ZN14TimezoneClient12getCountriesER4QMapI7QStringiE @ 10 NONAME
-	_ZN14TimezoneClient12getDstRulesLER9QDateTimeS1_i @ 11 NONAME
-	_ZN14TimezoneClient12getLocationsEv @ 12 NONAME
-	_ZN14TimezoneClient12timeUpdateOnEv @ 13 NONAME
-	_ZN14TimezoneClient13saveLocationsERK5QListI12LocationInfoE @ 14 NONAME
-	_ZN14TimezoneClient14deleteInstanceEv @ 15 NONAME
-	_ZN14TimezoneClient14populateCitiesEv @ 16 NONAME
-	_ZN14TimezoneClient15getLocationInfoEiiR12LocationInfo @ 17 NONAME
-	_ZN14TimezoneClient15mReferenceCountE @ 18 NONAME DATA 4
-	_ZN14TimezoneClient15mTimezoneClientE @ 19 NONAME DATA 4
-	_ZN14TimezoneClient15setTimeUpdateOnEb @ 20 NONAME
-	_ZN14TimezoneClient16getDstZoneOffsetEi @ 21 NONAME
-	_ZN14TimezoneClient16getUtcDstOffsetLERiRK5CTzId @ 22 NONAME
-	_ZN14TimezoneClient16staticMetaObjectE @ 23 NONAME DATA 16
-	_ZN14TimezoneClient17checkForDstChangeER9AlarmInfo @ 24 NONAME
-	_ZN14TimezoneClient17getAllTimeZoneIdsEv @ 25 NONAME
-	_ZN14TimezoneClient17getSavedLocationsEv @ 26 NONAME
-	_ZN14TimezoneClient17getStandardOffsetEi @ 27 NONAME
-	_ZN14TimezoneClient19environmentCallbackEPv @ 28 NONAME
-	_ZN14TimezoneClient19getCitiesForCountryEiR4QMapI7QStringiE @ 29 NONAME
-	_ZN14TimezoneClient19getCurrentZoneInfoLEv @ 30 NONAME
-	_ZN14TimezoneClient19getStaticMetaObjectEv @ 31 NONAME
-	_ZN14TimezoneClient20getCityGroupIdByNameERK7QString @ 32 NONAME
-	_ZN14TimezoneClient21autoTimeUpdateChangedEi @ 33 NONAME
-	_ZN14TimezoneClient21createWorldClockModelEv @ 34 NONAME
-	_ZN14TimezoneClient21getAllTimeZoneOffsetsEv @ 35 NONAME
-	_ZN14TimezoneClient21locationSelectorModelEv @ 36 NONAME
-	_ZN14TimezoneClient21setAsCurrentLocationLER12LocationInfo @ 37 NONAME
-	_ZN14TimezoneClient24getCityOffsetByNameAndIdERK7QStringi @ 38 NONAME
-	_ZN14TimezoneClient24getCountriesForUTCOffsetEi @ 39 NONAME
-	_ZN14TimezoneClient5dstOnEi @ 40 NONAME
-	_ZN14TimezoneClient6isNullEv @ 41 NONAME
-	_ZN14TimezoneClient7addCityEiR7QStringi @ 42 NONAME
-	_ZN14TimezoneClient8isDSTOnLEi @ 43 NONAME
-	_ZN14TimezoneClientC1Ev @ 44 NONAME
-	_ZN14TimezoneClientC2Ev @ 45 NONAME
-	_ZN14TimezoneClientD0Ev @ 46 NONAME
-	_ZN14TimezoneClientD1Ev @ 47 NONAME
-	_ZN14TimezoneClientD2Ev @ 48 NONAME
-	_ZNK14TimezoneClient10metaObjectEv @ 49 NONAME
-	_ZTI14TimezoneClient @ 50 NONAME
-	_ZTV14TimezoneClient @ 51 NONAME
-	_ZThn8_N14TimezoneClientD0Ev @ 52 NONAME
-	_ZThn8_N14TimezoneClientD1Ev @ 53 NONAME
-
--- a/clock/clockui/bwins/clockalarmeditoru.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-EXPORTS
-	??1ClockAlarmEditor@@UAE@XZ @ 1 NONAME ; ClockAlarmEditor::~ClockAlarmEditor(void)
-	?showAlarmEditor@ClockAlarmEditor@@QAEXXZ @ 2 NONAME ; void ClockAlarmEditor::showAlarmEditor(void)
-	??0ClockAlarmEditor@@QAE@AAVAlarmClient@@HPAVQObject@@@Z @ 3 NONAME ; ClockAlarmEditor::ClockAlarmEditor(class AlarmClient &, int, class QObject *)
-
--- a/clock/clockui/bwins/clockappcontrolleru.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-EXPORTS
-	??1ClockAppController@@UAE@XZ @ 1 NONAME ; ClockAppController::~ClockAppController(void)
-	??0ClockAppController@@QAE@PAVQObject@@@Z @ 2 NONAME ; ClockAppController::ClockAppController(class QObject *)
-
--- a/clock/clockui/bwins/clockcityselectionlistu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-EXPORTS
-	??_EClockCitySelectionList@@UAE@I@Z @ 1 NONAME ; ClockCitySelectionList::~ClockCitySelectionList(unsigned int)
-	??1ClockCitySelectionList@@UAE@XZ @ 2 NONAME ; ClockCitySelectionList::~ClockCitySelectionList(void)
-	?d_func@ClockCitySelectionList@@ABEPBVClockCitySelectionListPrivate@@XZ @ 3 NONAME ; class ClockCitySelectionListPrivate const * ClockCitySelectionList::d_func(void) const
-	?citySelected@ClockCitySelectionList@@IAEXULocationInfo@@@Z @ 4 NONAME ; void ClockCitySelectionList::citySelected(struct LocationInfo)
-	?trUtf8@ClockCitySelectionList@@SA?AVQString@@PBD0@Z @ 5 NONAME ; class QString ClockCitySelectionList::trUtf8(char const *, char const *)
-	?qt_metacast@ClockCitySelectionList@@UAEPAXPBD@Z @ 6 NONAME ; void * ClockCitySelectionList::qt_metacast(char const *)
-	??0ClockCitySelectionList@@QAE@PAVQObject@@@Z @ 7 NONAME ; ClockCitySelectionList::ClockCitySelectionList(class QObject *)
-	?closeCityList@ClockCitySelectionList@@QAEXXZ @ 8 NONAME ; void ClockCitySelectionList::closeCityList(void)
-	?trUtf8@ClockCitySelectionList@@SA?AVQString@@PBD0H@Z @ 9 NONAME ; class QString ClockCitySelectionList::trUtf8(char const *, char const *, int)
-	?qt_metacall@ClockCitySelectionList@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 10 NONAME ; int ClockCitySelectionList::qt_metacall(enum QMetaObject::Call, int, void * *)
-	??0ClockCitySelectionList@@QAE@PAVTimezoneClient@@PAVQObject@@@Z @ 11 NONAME ; ClockCitySelectionList::ClockCitySelectionList(class TimezoneClient *, class QObject *)
-	?metaObject@ClockCitySelectionList@@UBEPBUQMetaObject@@XZ @ 12 NONAME ; struct QMetaObject const * ClockCitySelectionList::metaObject(void) const
-	?d_func@ClockCitySelectionList@@AAEPAVClockCitySelectionListPrivate@@XZ @ 13 NONAME ; class ClockCitySelectionListPrivate * ClockCitySelectionList::d_func(void)
-	?showCityList@ClockCitySelectionList@@QAEXXZ @ 14 NONAME ; void ClockCitySelectionList::showCityList(void)
-	?staticMetaObject@ClockCitySelectionList@@2UQMetaObject@@B @ 15 NONAME ; struct QMetaObject const ClockCitySelectionList::staticMetaObject
-	?tr@ClockCitySelectionList@@SA?AVQString@@PBD0H@Z @ 16 NONAME ; class QString ClockCitySelectionList::tr(char const *, char const *, int)
-	?tr@ClockCitySelectionList@@SA?AVQString@@PBD0@Z @ 17 NONAME ; class QString ClockCitySelectionList::tr(char const *, char const *)
-	?getStaticMetaObject@ClockCitySelectionList@@SAABUQMetaObject@@XZ @ 18 NONAME ; struct QMetaObject const & ClockCitySelectionList::getStaticMetaObject(void)
-
--- a/clock/clockui/bwins/clocksettingsviewu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-EXPORTS
-	??0ClockSettingsView@@QAE@PAVQObject@@@Z @ 1 NONAME ; ClockSettingsView::ClockSettingsView(class QObject *)
-	?loadSettingsView@ClockSettingsView@@QAEXXZ @ 2 NONAME ; void ClockSettingsView::loadSettingsView(void)
-	??1ClockSettingsView@@UAE@XZ @ 3 NONAME ; ClockSettingsView::~ClockSettingsView(void)
-
--- a/clock/clockui/bwins/clockviewmanageru.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-EXPORTS
-	?showView@ClockViewManager@@QAEXW4ClockViews@@@Z @ 1 NONAME ; void ClockViewManager::showView(enum ClockViews)
-	??1ClockViewManager@@UAE@XZ @ 2 NONAME ; ClockViewManager::~ClockViewManager(void)
-	??0ClockViewManager@@QAE@AAVClockAppControllerIf@@PAVQObject@@@Z @ 3 NONAME ; ClockViewManager::ClockViewManager(class ClockAppControllerIf &, class QObject *)
-
--- a/clock/clockui/bwins/clockviewsu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-EXPORTS
-	??1ClockWorldView@@UAE@XZ @ 1 NONAME ; ClockWorldView::~ClockWorldView(void)
-	??1ClockMainView@@UAE@XZ @ 2 NONAME ; ClockMainView::~ClockMainView(void)
-	?setupView@ClockWorldView@@QAEXAAVClockAppControllerIf@@PAVClockDocLoader@@@Z @ 3 NONAME ; void ClockWorldView::setupView(class ClockAppControllerIf &, class ClockDocLoader *)
-	??0ClockMainView@@QAE@PAVQGraphicsItem@@@Z @ 4 NONAME ; ClockMainView::ClockMainView(class QGraphicsItem *)
-	??0ClockWorldView@@QAE@PAVQGraphicsItem@@@Z @ 5 NONAME ; ClockWorldView::ClockWorldView(class QGraphicsItem *)
-	?setupView@ClockMainView@@QAEXAAVClockAppControllerIf@@PAVClockDocLoader@@@Z @ 6 NONAME ; void ClockMainView::setupView(class ClockAppControllerIf &, class ClockDocLoader *)
-	??0ClockHomeCityItem@@QAE@PAVQGraphicsItem@@@Z @ 7 NONAME ; ClockHomeCityItem::ClockHomeCityItem(class QGraphicsItem *)
-	??1ClockHomeCityItem@@UAE@XZ @ 8 NONAME ; ClockHomeCityItem::~ClockHomeCityItem(void)
-	?setupAfterViewReady@ClockMainView@@QAEXXZ @ 9 NONAME ; void ClockMainView::setupAfterViewReady(void)
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockalarmeditor/bwins/clockalarmeditoru.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,5 @@
+EXPORTS
+	??1ClockAlarmEditor@@UAE@XZ @ 1 NONAME ; ClockAlarmEditor::~ClockAlarmEditor(void)
+	?showAlarmEditor@ClockAlarmEditor@@QAEXXZ @ 2 NONAME ; void ClockAlarmEditor::showAlarmEditor(void)
+	??0ClockAlarmEditor@@QAE@AAVAlarmClient@@HPAVQObject@@@Z @ 3 NONAME ; ClockAlarmEditor::ClockAlarmEditor(class AlarmClient &, int, class QObject *)
+
--- a/clock/clockui/clockalarmeditor/clockalarmeditor.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockalarmeditor/clockalarmeditor.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -51,7 +51,8 @@
         	clockalarmcustomitem.h \ 
 	    	clockalarmeditordefines.h
 		
-RESOURCES += \
-		clockalarmeditor.qrc
+RESOURCES += clockalarmeditor.qrc
+		
+TRANSLATIONS += clockalarmeditor.ts
 
 # End of file	--Don't remove this.
--- a/clock/clockui/clockalarmeditor/data/clockalarmeditor.qrc	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockalarmeditor/data/clockalarmeditor.qrc	Thu Jul 22 16:32:51 2010 +0100
@@ -1,8 +1,4 @@
 <!DOCTYPE RCC><RCC version="1.0">
-	<qresource prefix="/translations">
-		<file alias="clockalarmeditor" >translations/clockalarmeditor.qm</file>
-	</qresource>
-	
 	<qresource prefix="/xml">
 		<file alias="clockalarmeditor.docml">xml/clockalarmeditor.docml</file>
 	</qresource>
Binary file clock/clockui/clockalarmeditor/data/translations/clockalarmeditor.qm has changed
--- a/clock/clockui/clockalarmeditor/data/translations/clockalarmeditor.ts	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,376 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="3.0" language="en_GB" sourcelanguage="en_GB">
-<context>
-<message numerus="no" id="txt_common_common_clock">
-    <comment>Title for Date and time settings view</comment>        
-    <source>Clock</source>
-    <translation variants="no">Clock</translation>
-    <extra-loc-layout_id></extra-loc-layout_id>    
-    <extra-loc-viewid>Common</extra-loc-viewid>
-    <extra-loc-positionid>Common</extra-loc-positionid>
-    <extra-loc-feature>Co</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_note_alarm_occurs_every_week_on_1_at_2">
-    <comment>Note displayed after alarm is set (every week)</comment>        
-    <source>Alarm occurs every week on %1 at %2</source>
-    <translation variants="no">Alarm occurs every week on %1 at %2</translation>
-    <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>dpopinfo</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_formlabel_val_alarm">
-    <comment>Default value for Description label in Alarm editor view</comment>        
-    <source>Alarm</source>
-    <translation variants="no">Alarm</translation>
-    <extra-loc-layout_id>qtl_dataform_description_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>formlabel_1_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_occurence">
-    <comment>Label for Occurence in Alarm editor</comment>        
-    <source>Occurence</source>
-    <translation variants="no">Occurence</translation>
-    <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_tumbler_title_alarm_time">
-    <comment>Title for the time picker tumbler widget </comment>        
-    <source>Alarm time</source>
-    <translation variants="no">Alarm time</translation>
-    <extra-loc-layout_id>qtl_dialog_pri_heading</extra-loc-layout_id>    
-    <extra-loc-viewid>Tumbler</extra-loc-viewid>
-    <extra-loc-positionid>title</extra-loc-positionid>
-    <extra-loc-feature>Tu</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_opt_discard_changes">
-    <comment>When user edits an already existed alarm in Alarm editor form, he can &quot;Discard changes&quot; from Options menu and the prevoius values are saved.</comment>        
-    <source>Discard changes</source>
-    <translation variants="no">Discard changes</translation>
-    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>opt</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_dpopinfo_time_to_alarm_1_hrs_and_2_min">
-    <comment>Note displayed after alarm is set (time remaining) (hrs, min)</comment>        
-    <source>Time to alarm %1 hours and %2 minute</source>
-    <translation variants="no">Time to alarm %1 hours and %2 minute</translation>
-    <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>dpopinfo</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_dpopinfo_alarm_will_occur_at_1_after_au">
-    <comment>Popup Information which comes after setting the alarm.</comment>        
-    <source>Alarm will occur at %1 after automatic daylight saving update</source>
-    <translation variants="no">Alarm will occur at %1 after automatic daylight saving update</translation>
-    <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>dpopinfo</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_subhead_new_alarm">
-    <comment>When user taps on &quot;New alarm&quot; toolbar button in Clock main view, alarm editor opens with the subtitle &quot;New alarm&quot;.</comment>        
-    <source>New alarm</source>
-    <translation variants="no">New alarm</translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_subhead_alarm">
-    <comment>When user taps on already existed alarm in the alarm list, the alarm editor opens with subtitle &quot;Alarm&quot;</comment>        
-    <source>Alarm</source>
-    <translation variants="no">Alarm</translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_repeat_daily">
-    <comment>2nd dropdown list value for Occurence label in Alarm editor view</comment>        
-    <source>Repeat daily</source>
-    <translation variants="no">Repeat daily</translation>
-    <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_2_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_tumbler_title_time">
-    <comment></comment>        
-    <source>Time</source>
-    <translation variants="no">Time</translation>
-    <extra-loc-layout_id>qtl_dialog_pri_heading</extra-loc-layout_id>    
-    <extra-loc-viewid>Tumbler</extra-loc-viewid>
-    <extra-loc-positionid>title</extra-loc-positionid>
-    <extra-loc-feature>Tu</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_common_setlabel_dst">
-    <comment></comment>        
-    <source>DST</source>
-    <translation variants="no">DST</translation>
-    <extra-loc-layout_id></extra-loc-layout_id>    
-    <extra-loc-viewid>Common</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Co</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_time">
-    <comment>Label for Time in Alarm editor view</comment>        
-    <source>Time</source>
-    <translation variants="no">Time</translation>
-    <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_once">
-    <comment>1st dropdown list value for Occurence label in Alarm editor view</comment>        
-    <source>Once</source>
-    <translation variants="no">Once</translation>
-    <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_alarm_sound">
-    <comment>Label for Alarm sound in Alarm editor view</comment>        
-    <source>Alarm sound</source>
-    <translation variants="no">Alarm sound</translation>
-    <extra-loc-layout_id>qtl_checkbox_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_monday">
-    <comment>1st dropdown list value for Day label in Alarm editor view</comment>        
-    <source>Monday</source>
-    <translation variants="no">Monday</translation>
-    <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_dpopinfo_alarm_occurs_every_day_at_1">
-    <comment>Note displayed after alarm is set (Everyday Time)</comment>        
-    <source>Alarm occurs every day at %1</source>
-    <translation variants="no">Alarm occurs every day at %1</translation>
-    <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>dpopinfo</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_thursday">
-    <comment>4th dropdown list value for Day label in Alarm editor view</comment>        
-    <source>Thursday</source>
-    <translation variants="no">Thursday</translation>
-    <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_4_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_friday">
-    <comment>5th dropdown list value for Day label in Alarm editor view</comment>        
-    <source>Friday</source>
-    <translation variants="no">Friday</translation>
-    <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_5_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_repeat_on_workdays">
-    <comment>4th dropdown list value for Occurence label in Alarm editor view</comment>        
-    <source>Repeat on workdays</source>
-    <translation variants="no">Repeat on workdays</translation>
-    <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_4_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_sunday">
-    <comment>7th dropdown list value for Day label in Alarm editor view</comment>        
-    <source>Sunday</source>
-    <translation variants="no">Sunday</translation>
-    <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_7_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_dpopinfo_time_to_alarm_1_hr_and_2_min">
-    <comment>Note displayed after alarm is set (time remaining)</comment>        
-    <source>Time to alarm %1 hour and %2 minute</source>
-    <translation variants="no">Time to alarm %1 hour and %2 minute</translation>
-    <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>dpopinfo</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_tuesday">
-    <comment>2nd dropdown list value for Day label in Alarm editor view</comment>        
-    <source>Tuesday</source>
-    <translation variants="no">Tuesday</translation>
-    <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_2_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_note_alarm_occurs_once_only_on_next_1_a">
-    <comment>Note displayed after alarm is set (only once)</comment>        
-    <source>Alarm occurs once only on next %1 at %2</source>
-    <translation variants="no">Alarm occurs once only on next %1 at %2</translation>
-    <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>dpopinfo</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_dpopinfo_time_to_alarm_1_hr_and_2_mins">
-    <comment>Note displayed after alarm is set (time remaining) (hr, mins)</comment>        
-    <source>Time to alarm %1 hour and %2 minutes</source>
-    <translation variants="no">Time to alarm %1 hour and %2 minutes</translation>
-    <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>dpopinfo</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_tumbler_title_alarm_date">
-    <comment>Title for the date picker tumbler widget </comment>        
-    <source>Alarm date</source>
-    <translation variants="no">Alarm date</translation>
-    <extra-loc-layout_id>qtl_dialog_pri_heading</extra-loc-layout_id>    
-    <extra-loc-viewid>Tumbler</extra-loc-viewid>
-    <extra-loc-positionid>title</extra-loc-positionid>
-    <extra-loc-feature>Tu</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_tumbler_title_date">
-    <comment></comment>        
-    <source>Date</source>
-    <translation variants="no">Date</translation>
-    <extra-loc-layout_id>qtl_dialog_pri_heading</extra-loc-layout_id>    
-    <extra-loc-viewid>Tumbler</extra-loc-viewid>
-    <extra-loc-positionid>title</extra-loc-positionid>
-    <extra-loc-feature>Tu</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_common_common_gmt">
-    <comment></comment>        
-    <source>GMT</source>
-    <translation variants="no">GMT</translation>
-    <extra-loc-layout_id></extra-loc-layout_id>    
-    <extra-loc-viewid>Common</extra-loc-viewid>
-    <extra-loc-positionid>Common</extra-loc-positionid>
-    <extra-loc-feature>Co</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_day">
-    <comment>Label for Day in Alarm editor view</comment>        
-    <source>Day</source>
-    <translation variants="no">Day</translation>
-    <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_repeat_weekly">
-    <comment>3rd dropdown list value for Occurence label in Alarm editor view</comment>        
-    <source>Repeat weekly</source>
-    <translation variants="no">Repeat weekly</translation>
-    <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_3_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_dpopinfo_time_to_alarm_1_hrs_and_2_mins">
-    <comment>Note displayed after alarm is set (time remaining) (hrs, mins)</comment>        
-    <source>Time to alarm %1 hours and %2 minutes</source>
-    <translation variants="no">Time to alarm %1 hours and %2 minutes</translation>
-    <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>dpopinfo</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_note_alarm_occurs_workdays_at_1">
-    <comment>Note displayed after alarm is set (workdays)</comment>        
-    <source>Alarm occurs workdays at %1</source>
-    <translation variants="no">Alarm occurs workdays at %1</translation>
-    <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>dpopinfo</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_opt_delete">
-    <comment>When user creates a new alarm in Alarm editor form, he can &quot;Delete&quot; this alarm via Options menu.</comment>        
-    <source>Delete</source>
-    <translation variants="no">Delete</translation>
-    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>opt</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_saturday">
-    <comment>6th dropdown list value for Day label in Alarm editor view</comment>        
-    <source>Saturday</source>
-    <translation variants="no">Saturday</translation>
-    <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_6_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_wednesday">
-    <comment>3rd dropdown list value for Day label in Alarm editor view</comment>        
-    <source>Wednesday</source>
-    <translation variants="no">Wednesday</translation>
-    <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_3_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_formlabel_description">
-    <comment>Label for Description in Alarm editor view</comment>        
-    <source>Description</source>
-    <translation variants="no">Description</translation>
-    <extra-loc-layout_id>qtl_dataform_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>formlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-</context>
-</TS>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockalarmeditor/eabi/clockalarmeditoru.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,8 @@
+EXPORTS
+	_ZN16ClockAlarmEditor15showAlarmEditorEv @ 1 NONAME
+	_ZN16ClockAlarmEditorC1ER11AlarmClientiP7QObject @ 2 NONAME
+	_ZN16ClockAlarmEditorC2ER11AlarmClientiP7QObject @ 3 NONAME
+	_ZN16ClockAlarmEditorD0Ev @ 4 NONAME
+	_ZN16ClockAlarmEditorD1Ev @ 5 NONAME
+	_ZN16ClockAlarmEditorD2Ev @ 6 NONAME
+
--- a/clock/clockui/clockalarmeditor/inc/clockalarmeditor.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockalarmeditor/inc/clockalarmeditor.h	Thu Jul 22 16:32:51 2010 +0100
@@ -36,12 +36,13 @@
 class HbAction;
 class HbDateTimePicker;
 class HbDialog;
+class HbTranslator;
 class XQSettingsManager;
 class XQSettingsKey;
 class AlarmClient;
 class TimezoneClient;
 class ClockAlarmCustomItem;
-class QTranslator;
+
 
 class ClockAlarmEditor : public QObject
 {
@@ -118,7 +119,7 @@
 	AlarmClient &mAlarmClient;
 	AlarmInfo mAlarmInfo;
 	TimezoneClient *mTimezoneClient;
-	QTranslator *mTranslator;
+	HbTranslator *mTranslator;
 };
 
 #endif // CLOCKALARMEDITOR_H
--- a/clock/clockui/clockalarmeditor/src/clockalarmeditor.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockalarmeditor/src/clockalarmeditor.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -32,13 +32,13 @@
 #include <HbExtendedLocale>
 #include <HbGroupBox>
 #include <HbDocumentLoader>
-#include <HbApplication>
+#include <HbTranslator>
 #include <xqsettingsmanager.h>
 #include <xqsettingskey.h>
-#include <QTranslator>
+
 
 // User includes
-#include "clockcommon.h"
+#include "clockprivatecrkeys.h"
 #include "clockalarmeditor.h"
 #include "alarmclient.h"
 #include "settingsutility.h"
@@ -85,14 +85,9 @@
  mAlarmClient(alarmClient)
 {
  	// Load the translation file and install the alarmeditor specific translator
-	mTranslator = new QTranslator;
-	//QString lang = QLocale::system().name();
-	//QString path = "Z:/resource/qt/translations/";
-	mTranslator->load("clockalarmeditor",":/translations");
-	// TODO: Load the appropriate .qm file based on locale
-	//bool loaded = mTranslator->load("caleneditor_" + lang, path);
-	HbApplication::instance()->installTranslator(mTranslator);
-
+	mTranslator = new HbTranslator("clockalarmeditor");
+	mTranslator->loadCommon();
+	
 	// create the timezone client object
 	mTimezoneClient = TimezoneClient::getInstance();
 	// Create the settings manager.
@@ -107,7 +102,7 @@
 	// TODO: do i need to delete this object ??
 	SettingsUtility *settingsUtil = new SettingsUtility(this);
 	mTimeFormat = settingsUtil->timeFormatString();
-
+	
 	// Get start of week from the locale.
     HbExtendedLocale locale = HbExtendedLocale::system();
     mStartOfWeek = locale.startOfWeek();
@@ -176,11 +171,7 @@
  */
 ClockAlarmEditor::~ClockAlarmEditor()
 {
-	if(!mTimezoneClient->isNull()) {
-		mTimezoneClient->deleteInstance();
-	}
 	// Remove the translator
-	HbApplication::instance()->removeTranslator(mTranslator);
 	if (mTranslator) {
 		delete mTranslator;
 		mTranslator = 0;
@@ -398,7 +389,7 @@
 	mTimePickerDialog = new HbDialog;
 	mTimePickerDialog->setTimeout(HbDialog::NoTimeout);
 	mTimePickerDialog->setDismissPolicy(HbDialog::NoDismiss);
-
+	mTimePickerDialog->setAttribute(Qt::WA_DeleteOnClose, true);
 	// Set the heading for the dialog.
 	HbLabel * timeLabel =
 		new HbLabel(hbTrId("txt_tumbler_title_alarm_time"),
@@ -408,6 +399,7 @@
 	SettingsUtility *settingsUtil = new SettingsUtility(this);
 	QStringList timeSeparator;
 	int index = settingsUtil->timeFormat(timeSeparator);
+	
 	QString tumblerDisplayFormat =
 			mTimeFormat.replace(timeSeparator.at(index), QString("."));
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockappcontroller/bwins/clockappcontrolleru.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,4 @@
+EXPORTS
+	??1ClockAppController@@UAE@XZ @ 1 NONAME ; ClockAppController::~ClockAppController(void)
+	??0ClockAppController@@QAE@PAVQObject@@@Z @ 2 NONAME ; ClockAppController::ClockAppController(class QObject *)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockappcontroller/eabi/clockappcontrolleru.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,7 @@
+EXPORTS
+	_ZN18ClockAppControllerC1EP7QObject @ 1 NONAME
+	_ZN18ClockAppControllerC2EP7QObject @ 2 NONAME
+	_ZN18ClockAppControllerD0Ev @ 3 NONAME
+	_ZN18ClockAppControllerD1Ev @ 4 NONAME
+	_ZN18ClockAppControllerD2Ev @ 5 NONAME
+
--- a/clock/clockui/clockapplication/clockapplication.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockapplication/clockapplication.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -34,6 +34,8 @@
 	
 	LIBS += \
 		-lclockappcontroller
+		
+	SKINICON = qtg_large_clock
 }
 
 SOURCES += main.cpp
--- a/clock/clockui/clockapplication/src/main.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockapplication/src/main.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -18,7 +18,7 @@
 // System includes
 #include <QtGui>
 #include <QScopedPointer>
-#include <QTranslator>
+#include <HbTranslator>
 #include <HbApplication>
 #include <HbMainWindow>
 
@@ -43,10 +43,9 @@
 	window.setViewportUpdateMode(QGraphicsView::MinimalViewportUpdate);
 
 	// Load the translation file.
-	QTranslator translator;
-    translator.load("clock", ":/translations");
-    app.installTranslator(&translator);
-
+	HbTranslator translator("clock");
+	translator.loadCommon();
+	
 	// Construct the application controller.
 	QScopedPointer<ClockAppController> controller(new ClockAppController);
 	Q_UNUSED(controller)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockcityselectionlist/bwins/clockcityselectionlistu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,20 @@
+EXPORTS
+	??_EClockCitySelectionList@@UAE@I@Z @ 1 NONAME ; ClockCitySelectionList::~ClockCitySelectionList(unsigned int)
+	??1ClockCitySelectionList@@UAE@XZ @ 2 NONAME ; ClockCitySelectionList::~ClockCitySelectionList(void)
+	?d_func@ClockCitySelectionList@@ABEPBVClockCitySelectionListPrivate@@XZ @ 3 NONAME ; class ClockCitySelectionListPrivate const * ClockCitySelectionList::d_func(void) const
+	?citySelected@ClockCitySelectionList@@IAEXULocationInfo@@@Z @ 4 NONAME ; void ClockCitySelectionList::citySelected(struct LocationInfo)
+	?trUtf8@ClockCitySelectionList@@SA?AVQString@@PBD0@Z @ 5 NONAME ; class QString ClockCitySelectionList::trUtf8(char const *, char const *)
+	?qt_metacast@ClockCitySelectionList@@UAEPAXPBD@Z @ 6 NONAME ; void * ClockCitySelectionList::qt_metacast(char const *)
+	??0ClockCitySelectionList@@QAE@PAVQObject@@@Z @ 7 NONAME ; ClockCitySelectionList::ClockCitySelectionList(class QObject *)
+	?closeCityList@ClockCitySelectionList@@QAEXXZ @ 8 NONAME ; void ClockCitySelectionList::closeCityList(void)
+	?trUtf8@ClockCitySelectionList@@SA?AVQString@@PBD0H@Z @ 9 NONAME ; class QString ClockCitySelectionList::trUtf8(char const *, char const *, int)
+	?qt_metacall@ClockCitySelectionList@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 10 NONAME ; int ClockCitySelectionList::qt_metacall(enum QMetaObject::Call, int, void * *)
+	??0ClockCitySelectionList@@QAE@PAVTimezoneClient@@PAVQObject@@@Z @ 11 NONAME ; ClockCitySelectionList::ClockCitySelectionList(class TimezoneClient *, class QObject *)
+	?metaObject@ClockCitySelectionList@@UBEPBUQMetaObject@@XZ @ 12 NONAME ; struct QMetaObject const * ClockCitySelectionList::metaObject(void) const
+	?d_func@ClockCitySelectionList@@AAEPAVClockCitySelectionListPrivate@@XZ @ 13 NONAME ; class ClockCitySelectionListPrivate * ClockCitySelectionList::d_func(void)
+	?showCityList@ClockCitySelectionList@@QAEXXZ @ 14 NONAME ; void ClockCitySelectionList::showCityList(void)
+	?staticMetaObject@ClockCitySelectionList@@2UQMetaObject@@B @ 15 NONAME ; struct QMetaObject const ClockCitySelectionList::staticMetaObject
+	?tr@ClockCitySelectionList@@SA?AVQString@@PBD0H@Z @ 16 NONAME ; class QString ClockCitySelectionList::tr(char const *, char const *, int)
+	?tr@ClockCitySelectionList@@SA?AVQString@@PBD0@Z @ 17 NONAME ; class QString ClockCitySelectionList::tr(char const *, char const *)
+	?getStaticMetaObject@ClockCitySelectionList@@SAABUQMetaObject@@XZ @ 18 NONAME ; struct QMetaObject const & ClockCitySelectionList::getStaticMetaObject(void)
+
--- a/clock/clockui/clockcityselectionlist/clockcityselectionlist.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockcityselectionlist/clockcityselectionlist.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -43,7 +43,7 @@
 		clockcityselectionlist.cpp \
 		clockcityselectionlist_p.cpp \
 		clockcitylistproxymodel.cpp \
-		clockcityselectionlistprototype.cpp
+
 
 HEADERS += \
 		clockcityselectionlist.h \
@@ -51,9 +51,10 @@
 		clockcitylistproxymodel.h \
 		clockcityselectionlistdefines.h \
 		clockcityselectionlistcommon.h \
-		clockcityselectionlistprototype.h
 		
 RESOURCES += \
 		clockcityselectionlist.qrc
+		
+TRANSLATIONS += clockcityselectionlist.ts
 
 # End of file	--Don't remove this.
--- a/clock/clockui/clockcityselectionlist/data/clockcityselectionlist.qrc	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockcityselectionlist/data/clockcityselectionlist.qrc	Thu Jul 22 16:32:51 2010 +0100
@@ -2,12 +2,4 @@
 	<qresource prefix="/xml">
 		<file alias="clockcityselectionlist.docml">xml/clockcityselectionlist.docml</file>
 	</qresource>
-	<qresource prefix= "/style">
-		<file alias="clockcityselectionlistprototype.css">style/clockcityselectionlistprototype.css</file>
-		<file alias="clockcityselectionlistprototype.widgetml">style/clockcityselectionlistprototype.widgetml</file>
-	</qresource>
-	<qresource prefix="/translations">
-		<file alias="clockcityselectionlist" >translations/clockcityselectionlist.qm</file>
-	</qresource>
-
 </RCC>
--- a/clock/clockui/clockcityselectionlist/data/style/clockcityselectionlistprototype.css	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-ClockCitySelectionListPrototype[layoutName="cityselectionlist-default"]{
-   layout: cityselectionlist-default;
-}
-
-ClockCitySelectionListPrototype::cityNameItem[layoutName="cityselectionlist-default"]{
-   font-variant: secondary;
-   text-height: var(hb-param-text-height-secondary);
-   text-line-count-min: 1;
-   text-line-count-max: 2;
-   text-align: left;
-   left: -var(hb-param-margin-gene-left);
-   top: -var(hb-param-margin-gene-top);
-   right: var(hb-param-margin-gene-right);
-   bottom: var(hb-param-margin-gene-bottom);
-}
--- a/clock/clockui/clockcityselectionlist/data/style/clockcityselectionlistprototype.widgetml	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-<hbwidget version="0.1" type="ClockCitySelectionListPrototype">
-	<layout name="cityselectionlist-default" type="mesh">
-		<meshitem src="cityNameItem" srcEdge="TOP" dst="" dstEdge="TOP" />
-		<meshitem src="cityNameItem" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
-		<meshitem src="cityNameItem" srcEdge="LEFT" dst="" dstEdge="LEFT" />
-		<meshitem src="cityNameItem" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" />
-	</layout>
-</hbwidget>
Binary file clock/clockui/clockcityselectionlist/data/translations/clockcityselectionlist.qm has changed
--- a/clock/clockui/clockcityselectionlist/data/translations/clockcityselectionlist.ts	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="3.0" language="en_GB" sourcelanguage="en_GB">
-<context>
-<message numerus="no" id="txt_common_common_clock">
-    <comment>Title for Date and time settings view</comment>        
-    <source>Clock</source>
-    <translation variants="no">Clock</translation>
-    <extra-loc-layout_id></extra-loc-layout_id>    
-    <extra-loc-viewid>Common</extra-loc-viewid>
-    <extra-loc-positionid>Common</extra-loc-positionid>
-    <extra-loc-feature>Co</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_formlabel_city_name">
-    <comment>Form label for city name in add own city (popup) data entry form</comment>        
-    <source>City name</source>
-    <translation variants="no">City name</translation>
-    <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_City list_P07</extra-loc-viewid>
-    <extra-loc-positionid>formlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_formlabel_timezone">
-    <comment>Form label for timezone in add own city (popup) data entry form</comment>        
-    <source>Timezone</source>
-    <translation variants="no">Timezone</translation>
-    <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_City list_P07</extra-loc-viewid>
-    <extra-loc-positionid>formlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_formlabel_country">
-    <comment>Form label for country in add own city (popup) data entry form</comment>        
-    <source>Country</source>
-    <translation variants="no">Country</translation>
-    <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_City list_P07</extra-loc-viewid>
-    <extra-loc-positionid>formlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_common_setlabel_dst">
-    <comment></comment>        
-    <source>DST</source>
-    <translation variants="no">DST</translation>
-    <extra-loc-layout_id></extra-loc-layout_id>    
-    <extra-loc-viewid>Common</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Co</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_subhead_city_list">
-    <comment>Subtitle for City list</comment>        
-    <source>City list</source>
-    <translation variants="no">City list</translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_City list_P07</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_common_common_gmt">
-    <comment></comment>        
-    <source>GMT</source>
-    <translation variants="no">GMT</translation>
-    <extra-loc-layout_id></extra-loc-layout_id>    
-    <extra-loc-viewid>Common</extra-loc-viewid>
-    <extra-loc-positionid>Common</extra-loc-positionid>
-    <extra-loc-feature>Co</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_opt_add_own_city">
-    <comment>&quot;Add own city&quot; from Options menu in City list </comment>        
-    <source>Add own city</source>
-    <translation variants="no">Add own city</translation>
-    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_City list_P07</extra-loc-viewid>
-    <extra-loc-positionid>opt</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-</context>
-</TS>
--- a/clock/clockui/clockcityselectionlist/data/xml/clockcityselectionlist.docml	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockcityselectionlist/data/xml/clockcityselectionlist.docml	Thu Jul 22 16:32:51 2010 +0100
@@ -6,7 +6,7 @@
     <widget name="clockCitySelectionView" type="HbView">
         <widget name="clockCitySelectionWidget" role="HbView:widget" type="HbWidget">
             <widget name="subtitleGroupBox" type="HbGroupBox">
-                <string locid="txt_clock_subhead_city_list" name="titleText" value="City list"/>
+                <string locid="txt_clock_subhead_city_list" name="heading" value="City list"/>
                 <real name="z" value="1"/>
                 <bool name="collapsable" value="FALSE"/>
             </widget>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockcityselectionlist/eabi/clockcityselectionlistu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,19 @@
+EXPORTS
+	_ZN22ClockCitySelectionList11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME
+	_ZN22ClockCitySelectionList11qt_metacastEPKc @ 2 NONAME
+	_ZN22ClockCitySelectionList12citySelectedE12LocationInfo @ 3 NONAME
+	_ZN22ClockCitySelectionList12showCityListEv @ 4 NONAME
+	_ZN22ClockCitySelectionList13closeCityListEv @ 5 NONAME
+	_ZN22ClockCitySelectionList16staticMetaObjectE @ 6 NONAME DATA 16
+	_ZN22ClockCitySelectionList19getStaticMetaObjectEv @ 7 NONAME
+	_ZN22ClockCitySelectionListC1EP14TimezoneClientP7QObject @ 8 NONAME
+	_ZN22ClockCitySelectionListC1EP7QObject @ 9 NONAME
+	_ZN22ClockCitySelectionListC2EP14TimezoneClientP7QObject @ 10 NONAME
+	_ZN22ClockCitySelectionListC2EP7QObject @ 11 NONAME
+	_ZN22ClockCitySelectionListD0Ev @ 12 NONAME
+	_ZN22ClockCitySelectionListD1Ev @ 13 NONAME
+	_ZN22ClockCitySelectionListD2Ev @ 14 NONAME
+	_ZNK22ClockCitySelectionList10metaObjectEv @ 15 NONAME
+	_ZTI22ClockCitySelectionList @ 16 NONAME
+	_ZTV22ClockCitySelectionList @ 17 NONAME
+
--- a/clock/clockui/clockcityselectionlist/inc/clockcityselectionlist.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockcityselectionlist/inc/clockcityselectionlist.h	Thu Jul 22 16:32:51 2010 +0100
@@ -27,10 +27,9 @@
 #include "clockdatatypes.h"
 
 // Forward declarations
+class HbTranslator;
 class ClockCitySelectionListPrivate;
 class TimezoneClient;
-class QTranslator;
-
 
 class CLOCKCITYSELECTIONLIST_EXPORT ClockCitySelectionList : public QObject
 {
@@ -52,7 +51,7 @@
 	ClockCitySelectionListPrivate *d_ptr;
 	Q_DECLARE_PRIVATE_D(d_ptr, ClockCitySelectionList)
 	Q_DISABLE_COPY(ClockCitySelectionList)
-	QTranslator *mTranslator;
+	HbTranslator *mTranslator;
 };
 
 #endif // CLOCKCITYSELECTIONLIST_H
--- a/clock/clockui/clockcityselectionlist/inc/clockcityselectionlistprototype.h	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +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:
-* The header file for class ClockCitySelectionListPrototype.
-*
-*/
-
-#ifndef CLOCKCITYSELECTIONLISTPROTOTYPE_H
-#define CLOCKCITYSELECTIONLISTPROTOTYPE_H
-
-// System includes
-#include <HbListViewItem>
-
-// Forward declarations
-class QGraphicsItem;
-class HbAbstractViewItem;
-class HbTextItem;
-
-class ClockCitySelectionListPrototype : public HbListViewItem
-{
-	Q_OBJECT
-
-public:
-	explicit ClockCitySelectionListPrototype(QGraphicsItem *parent = 0);
-	virtual ~ClockCitySelectionListPrototype();
-
-public:
-	HbAbstractViewItem *createItem();
-	void updateChildItems();
-
-private:
-	HbTextItem *mCityNameItem;
-};
-
-#endif // CLOCKCITYSELECTIONLISTPROTOTYPE_H
-
-// End of file	--Don't remove this.
--- a/clock/clockui/clockcityselectionlist/src/clockcityselectionlist.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockcityselectionlist/src/clockcityselectionlist.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -17,8 +17,7 @@
 */
 
 //System Include
-#include<HbApplication>
-#include<QTranslator>
+#include<HbTranslator>
 
 
 // User includes
@@ -55,13 +54,8 @@
  d_ptr(new ClockCitySelectionListPrivate(client, this))
 {
 	// Load the translation file and install the editor specific translator
-	mTranslator = new QTranslator;
-	//QString lang = QLocale::system().name();
-	//QString path = "Z:/resource/qt/translations/";
-	mTranslator->load("clockcityselectionlist",":/translations");
-	// TODO: Load the appropriate .qm file based on locale
-	//bool loaded = mTranslator->load("caleneditor_" + lang, path);
-	HbApplication::instance()->installTranslator(mTranslator);
+	mTranslator = new HbTranslator("clockcityselectionlist");
+	mTranslator->loadCommon();
 }
 
 /*!
@@ -74,20 +68,13 @@
  d_ptr(new ClockCitySelectionListPrivate(0, this))
 {
 	// Load the translation file and install the editor specific translator
-	mTranslator = new QTranslator;
-	//QString lang = QLocale::system().name();
-	//QString path = "Z:/resource/qt/translations/";
-	mTranslator->load("clockcityselectionlist",":/translations");
-	// TODO: Load the appropriate .qm file based on locale
-	//bool loaded = mTranslator->load("caleneditor_" + lang, path);
-	HbApplication::instance()->installTranslator(mTranslator);
-
+	mTranslator = new HbTranslator("clockcityselectionlist");
+	mTranslator->loadCommon();
 }
 
 ClockCitySelectionList::~ClockCitySelectionList()
 {
     // Remove the translator
-    HbApplication::instance()->removeTranslator(mTranslator);
     if (mTranslator) {
         delete mTranslator;
          mTranslator = 0;
--- a/clock/clockui/clockcityselectionlist/src/clockcityselectionlist_p.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockcityselectionlist/src/clockcityselectionlist_p.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -40,7 +40,7 @@
 #include "clockcityselectionlist.h"
 #include "clockcitylistproxymodel.h"
 #include "clockcityselectionlistcommon.h"
-#include "clockcityselectionlistprototype.h"
+
 #include "timezoneclient.h"
 #include "clockdatatypes.h"
 
@@ -77,7 +77,7 @@
  */
 ClockCitySelectionListPrivate::~ClockCitySelectionListPrivate()
 {
-	if (mOwnsClient && !mClient->isNull()) {
+	if (mOwnsClient) {
 		mClient->deleteInstance();
 	}
 	if (mLoader) {
@@ -123,6 +123,7 @@
 		displayString += info.cityName;
 		displayString += ", ";
 		displayString += info.countryName;
+		mListModel->setData(index, displayString, Qt::DisplayRole);
 		mListModel->setData(index, displayString, Qt::UserRole + 100);
 
 		// Now save the timezone and city group ids.
@@ -244,6 +245,7 @@
 	mAddOwnCityDialog = new HbDialog;
 	mAddOwnCityDialog->setTimeout(HbDialog::NoTimeout);
 	mAddOwnCityDialog->setDismissPolicy(HbDialog::NoDismiss);
+	mAddOwnCityDialog->setAttribute(Qt::WA_DeleteOnClose, true);
 
 	// Set the heading text
 	HbLabel *titlelabel = new HbLabel(hbTrId("txt_clk_opt_add_own_city"));
@@ -401,15 +403,6 @@
 	mProxyModel->setSourceModel(mListModel);
 	mProxyModel->setFilterRole(Qt::UserRole + 100);
 
-	// Construct the custom list item prototype.
-	ClockCitySelectionListPrototype *prototype =
-			new ClockCitySelectionListPrototype;
-
-	// Loader the custom list view layout.
-	HbStyleLoader::registerFilePath(":/style/");
-	mListView->setLayoutName("cityselectionlist-default");
-	mListView->setItemPrototype(prototype);
-
 	// Construct the model for the list.
 	QTimer::singleShot(1, this, SLOT(populateListModel()));
 
--- a/clock/clockui/clockcityselectionlist/src/clockcityselectionlistprototype.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +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:
-* The definition file for class ClockCitySelectionListPrototype.
-*
-*/
-
-// System includes
-#include <QGraphicsItem>
-#include <HbTextItem>
-
-// User includes
-#include "clockcityselectionlistprototype.h"
-
-/*!
-	\class ClockCitySelectionListPrototype
-
-	This is the custom prototype class for HbListView. It sub-classes
-	HbListViewItem and re-implements HbListViewItem::createItem() and
-	HbListViewItem::updateChildItems().
-
-	\sa HbListViewItem, HbAbstractViewItem.
- */
-
-/*!
-	Default constructor.
-
-	\param parent of type QGraphicsItem.
- */
-ClockCitySelectionListPrototype::ClockCitySelectionListPrototype(
-		QGraphicsItem *parent)
-:HbListViewItem(parent),
- mCityNameItem(0)
-{
-	// Nothing yet.
-}
-
-/*!
-	Destructor.
- */
-ClockCitySelectionListPrototype::~ClockCitySelectionListPrototype()
-{
-	if (mCityNameItem) {
-		delete mCityNameItem;
-		mCityNameItem = 0;
-	}
-}
-
-/*!
-	From HbListViewItem.
-	Constructs the custom list view item.
-
-	\sa HbListViewItem, HbAbstractViewItem.
- */
-HbAbstractViewItem *ClockCitySelectionListPrototype::createItem()
-{
-	return new ClockCitySelectionListPrototype(*this);
-}
-
-/*!
-	From HbListViewItem.
-	Updates the child items of the cutsom prototype.
-
-	\sa HbListViewItem, HbAbstractViewItem.
- */
-void ClockCitySelectionListPrototype::updateChildItems()
-{
-	HbListViewItem::updateChildItems();
-
-	if (!mCityNameItem) {
-		mCityNameItem = new HbTextItem(this);
-		style()->setItemName(mCityNameItem, "cityNameItem");
-		mCityNameItem->setTextWrapping(Hb::TextWordWrap);
-	}
-	mCityNameItem->setText(
-			modelIndex().data(Qt::UserRole + 100).value<QString>());
-}
-
-// End of file	--Don't remove this.
--- a/clock/clockui/clockplugins/clockplugins.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockplugins/clockplugins.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -17,7 +17,8 @@
 TEMPLATE = subdirs
 
 SUBDIRS += \
-		datetimesettingsplugin
+		datetimesettingsplugin \
+		clocksettingsviewplugin
 		
 CONFIG += ordered
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockplugins/clocksettingsviewplugin/clocksettingsviewplugin.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,59 @@
+#
+# 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: 
+# Project specification file for clocksettingsviewplugin.
+#
+
+TEMPLATE = lib
+TARGET = clocksettingsviewplugin
+CONFIG += hb plugin
+
+DEPENDPATH += . \
+			  ./inc \
+			  ./src
+
+INCLUDEPATH += . \
+				../../../inc \
+				../../clocksettingsview/inc \
+				../../../clockmw/clocksettingsutility/inc
+
+LIBS += \
+		-lclocksettingsview
+
+HEADERS += \
+			clocksettingsviewplugin.h \
+			../../../../organizer_plat/clock_settingsview_plugin_api/inc/clocksettingsviewinterface.h
+		   
+SOURCES += \
+			clocksettingsviewplugin.cpp
+
+symbian: {
+	TARGET.CAPABILITY = CAP_GENERAL_DLL
+	TARGET.EPOCALLOWDLLDATA = 1  
+	TARGET.UID3 = 0x2003157C
+	
+	load(data_caging_paths)
+	# plugin stub deployment
+
+	plugin.sources = $${TARGET}.dll
+	plugin.path = $$QT_PLUGINS_BASE_DIR/clock
+	DEPLOYMENT += plugin
+
+	# for target
+	BLD_INF_RULES.prj_exports += \
+	"./qmakepluginstubs/clocksettingsviewplugin.qtplugin  /$$HW_ZDIR$$RESOURCE_FILES_DIR/qt/plugins/clock/clocksettingsviewplugin.qtplugin"
+}
+
+
+# End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockplugins/clocksettingsviewplugin/inc/clocksettingsviewplugin.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,42 @@
+/*
+* 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: 
+* Header file for ClockSettingsViewPlugin class.
+*
+*/
+
+
+#ifndef CLOCKSETTINGSVIEWPLUGIN_H_
+#define CLOCKSETTINGSVIEWPLUGIN_H_
+
+// System includes
+#include <QObject>
+#include <clocksettingsviewinterface.h>
+
+class ClockSettingsViewPlugin : public QObject, public ClockSettingsViewInterface
+{
+	Q_OBJECT
+	Q_INTERFACES(ClockSettingsViewInterface)
+
+public:
+	ClockSettingsViewPlugin();
+	~ClockSettingsViewPlugin();
+	
+	void launchRegionalSettingsView();
+
+};
+
+#endif /* CLOCKSETTINGSVIEWPLUGIN_H_ */
+
+// End of file	--Don't remove this
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockplugins/clocksettingsviewplugin/src/clocksettingsviewplugin.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,58 @@
+/*
+* 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 ClockSettingsViewPlugin.
+*
+*/
+// System includes
+#include <QtPlugin>
+
+// User includes
+#include "clockregionalsettingsview.h"
+#include "clocksettingsviewplugin.h"
+
+/*!
+	\class ClockSettingsViewPlugin
+
+	\brief The class ClockSettingsViewPlugin is a plugin to show
+	clock settings View 
+*/
+
+/*!
+	Constructor.
+ */
+ClockSettingsViewPlugin::ClockSettingsViewPlugin()
+{
+}
+
+/*!
+	Destructor.
+ */
+ClockSettingsViewPlugin::~ClockSettingsViewPlugin()
+{
+}
+
+/*!
+	Launch the clock  regional settings view.
+ */
+void ClockSettingsViewPlugin::launchRegionalSettingsView()
+{
+	//The view is removed from main window and deleted once you select back on view
+	ClockRegionalSettingsView *view = new ClockRegionalSettingsView();
+	view->showView();
+}
+
+Q_EXPORT_PLUGIN2(clocksettingsviewplugin, ClockSettingsViewPlugin)
+
+// End of file	--Don't remove this
--- a/clock/clockui/clockplugins/datetimesettingsplugin/src/datetimesettingsplugin.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockplugins/datetimesettingsplugin/src/datetimesettingsplugin.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -54,7 +54,7 @@
 						      createSettingFormItemData(
 							  CpItemDataHelper &itemDataHelper) const
 {
-	HbIcon* icon = new HbIcon();
+	HbIcon icon ;
 	HbExtendedLocale locale = HbExtendedLocale::system();
 	QString timeInfo = locale.format(
 			QTime::currentTime(), r_qtn_time_usual_with_zero);
@@ -68,7 +68,7 @@
 	QList<CpSettingFormItemData*> entryItemList;
 	CpSettingFormItemData *entryItem = new DateTimeSettingsView(
 			itemDataHelper,hbTrId("txt_cp_main_view_list_time_date"),
-			displayString,*icon);
+			displayString,icon);
 	entryItemList.append(entryItem);
 	return entryItemList;
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clocksettingsview/bwins/clocksettingsviewu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,8 @@
+EXPORTS
+	??0ClockSettingsView@@QAE@PAVQObject@@@Z @ 1 NONAME ; ClockSettingsView::ClockSettingsView(class QObject *)
+	??1ClockRegionalSettingsView@@UAE@XZ @ 2 NONAME ; ClockRegionalSettingsView::~ClockRegionalSettingsView(void)
+	?loadSettingsView@ClockSettingsView@@QAEXXZ @ 3 NONAME ; void ClockSettingsView::loadSettingsView(void)
+	??1ClockSettingsView@@UAE@XZ @ 4 NONAME ; ClockSettingsView::~ClockSettingsView(void)
+	?showView@ClockRegionalSettingsView@@QAEXXZ @ 5 NONAME ; void ClockRegionalSettingsView::showView(void)
+	??0ClockRegionalSettingsView@@QAE@PAVQObject@@@Z @ 6 NONAME ; ClockRegionalSettingsView::ClockRegionalSettingsView(class QObject *)
+
--- a/clock/clockui/clocksettingsview/clocksettingsview.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clocksettingsview/clocksettingsview.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -28,6 +28,7 @@
 		../clockcityselectionlist/inc \
 		../../inc
 
+
 DEPENDPATH += \
 		./inc \
 		./src \
@@ -37,6 +38,7 @@
 	TARGET.CAPABILITY += ALL -TCB
 	TARGET.EPOCALLOWDLLDATA = 1
 	TARGET.UID3 = 0x10005906
+	INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
 
 	LIBS += \
 		-ltimezoneclient \
@@ -60,5 +62,7 @@
 		
 RESOURCES += \
 		clocksettingsview.qrc
+		
+TRANSLATIONS += clocksettingsview.ts
 
 # End of file	--Don't remove this.
--- a/clock/clockui/clocksettingsview/data/clocksettingsview.qrc	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clocksettingsview/data/clocksettingsview.qrc	Thu Jul 22 16:32:51 2010 +0100
@@ -3,7 +3,4 @@
 		<file alias="clocksettingsview.docml">xml/clocksettingsview.docml</file>
 		<file alias="clockregionalsettingsview.docml">xml/clockregionalsettingsview.docml</file>
 	</qresource>
-	<qresource prefix="/translations">
-		<file alias="clocksettingsview" >translations/clocksettingsview.qm</file>
-	</qresource>
 </RCC>
Binary file clock/clockui/clocksettingsview/data/translations/clocksettingsview.qm has changed
--- a/clock/clockui/clocksettingsview/data/translations/clocksettingsview.ts	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,369 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="3.0" language="en_GB" sourcelanguage="en_GB">
-<context>
-<message numerus="no" id="txt_common_common_clock">
-    <comment>Title for Date and time settings view</comment>        
-    <source>Clock</source>
-    <translation variants="no">Clock</translation>
-    <extra-loc-layout_id></extra-loc-layout_id>    
-    <extra-loc-viewid>Common</extra-loc-viewid>
-    <extra-loc-positionid>Common</extra-loc-positionid>
-    <extra-loc-feature>Co</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_setlabel_time_format">
-    <comment>1st label in Regional date &amp; time settings view</comment>        
-    <source>Time format</source>
-    <translation variants="no">Time format</translation>
-    <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Date &amp; time settings_P04_3</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_cp_main_view_list_time_info_date_info">
-    <comment>The time and date information will be displayed in 2nd row</comment>        
-    <source>%1, %2</source>
-    <translation variants="no">%1, %2</translation>
-    <extra-loc-layout_id>qtl_list_sec_large_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>CP main view_time &amp; date plugin_P11</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>CP</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_button_digital">
-    <comment>Setting item to clock display type. Tap to toggle values.</comment>        
-    <source>Digital</source>
-    <translation variants="no">Digital</translation>
-    <extra-loc-layout_id>qtl_dataform_button_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Date &amp; time settings_P04_1</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_cp_main_view_list_time_date">
-    <comment>This text is displayed in 1st row</comment>        
-    <source>Time &amp; date</source>
-    <translation variants="no">Time &amp; date</translation>
-    <extra-loc-layout_id>qtl_list_pri_large_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>CP main view_time &amp; date plugin_P11</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>CP</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_mm_dd_yyyy">
-    <comment>2nd value in combo box list for Date format label</comment>        
-    <source>mm dd yyyy</source>
-    <translation variants="no">mm dd yyyy</translation>
-    <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Date &amp; time settings_P04_3</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_2_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_setlabel_date_format">
-    <comment>3rd field in Regional date &amp; time settings view</comment>        
-    <source>Date format</source>
-    <translation variants="no">Date format</translation>
-    <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Date &amp; time settings_P04_3</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_button_regional_date_time_settings">
-    <comment>Tapping on this button opens advanced date and time view</comment>        
-    <source>Regional date &amp; time settings</source>
-    <translation variants="no">Regional date &amp; time settings</translation>
-    <extra-loc-layout_id>qtl_dataform_button_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Date &amp; time settings_P04_1</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_subhead_regional_date_time_settings">
-    <comment>Sub-title for Regiional date &amp; time settings</comment>        
-    <source>Regional date &amp; time settings</source>
-    <translation variants="no">Regional date &amp; time settings</translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Date &amp; time settings_P04_3</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_formlabel_place">
-    <comment>5th label for Place in Clock settings view</comment>        
-    <source>Place</source>
-    <translation variants="no">Place</translation>
-    <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Date &amp; time settings_P04_1</extra-loc-viewid>
-    <extra-loc-positionid>formlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_24_hour">
-    <comment>1st Value in combo box list for Time format label</comment>        
-    <source>24 hour</source>
-    <translation variants="no">24 hour</translation>
-    <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Date &amp; time settings_P04_3</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_common_setlabel_dst">
-    <comment></comment>        
-    <source>DST</source>
-    <translation variants="no">DST</translation>
-    <extra-loc-layout_id></extra-loc-layout_id>    
-    <extra-loc-viewid>Common</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Co</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_monday">
-    <comment>1st dropdown list value for Day label in Alarm editor view</comment>        
-    <source>Monday</source>
-    <translation variants="no">Monday</translation>
-    <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_thursday">
-    <comment>4th dropdown list value for Day label in Alarm editor view</comment>        
-    <source>Thursday</source>
-    <translation variants="no">Thursday</translation>
-    <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_4_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_friday">
-    <comment>5th dropdown list value for Day label in Alarm editor view</comment>        
-    <source>Friday</source>
-    <translation variants="no">Friday</translation>
-    <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_5_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_button_analog">
-    <comment>Setting item to clock display type. Tap to toggle values.</comment>        
-    <source>Analog</source>
-    <translation variants="no">Analog</translation>
-    <extra-loc-layout_id>qtl_dataform_button_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Date &amp; time settings_P04_1</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_setlabel_week_starts_on">
-    <comment>6th field in Regional date &amp; time settings view</comment>        
-    <source>Week starts on</source>
-    <translation variants="no">Week starts on</translation>
-    <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Date &amp; time settings_P04_3</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_sunday">
-    <comment>7th dropdown list value for Day label in Alarm editor view</comment>        
-    <source>Sunday</source>
-    <translation variants="no">Sunday</translation>
-    <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_7_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_yyyy_mm_dd">
-    <comment>3rd value in combo box list for Date format label</comment>        
-    <source>yyyy mm dd</source>
-    <translation variants="no">yyyy mm dd</translation>
-    <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Date &amp; time settings_P04_3</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_3_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_tuesday">
-    <comment>2nd dropdown list value for Day label in Alarm editor view</comment>        
-    <source>Tuesday</source>
-    <translation variants="no">Tuesday</translation>
-    <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_2_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_common_common_gmt">
-    <comment></comment>        
-    <source>GMT</source>
-    <translation variants="no">GMT</translation>
-    <extra-loc-layout_id></extra-loc-layout_id>    
-    <extra-loc-viewid>Common</extra-loc-viewid>
-    <extra-loc-positionid>Common</extra-loc-positionid>
-    <extra-loc-feature>Co</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_use_network_date_time">
-    <comment>1st label in Date and time settings view</comment>        
-    <source>Use network date &amp; time</source>
-    <translation variants="no">Use network date &amp; time</translation>
-    <extra-loc-layout_id>qtl_checkbox_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Date &amp; time settings_P04_1</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_setlabel_time_separator">
-    <comment>Subtitle for the time seperator drop down list</comment>        
-    <source>Time separator</source>
-    <translation variants="no">Time separator</translation>
-    <extra-loc-layout_id>qtl_dataform_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Date &amp; time settings_P04_3</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_subhead_settings">
-    <comment>Sub-title for Settings view</comment>        
-    <source>Settings</source>
-    <translation variants="no">Settings</translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Date &amp; time settings_P04_1</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_setlabel_date_separator">
-    <comment>Subtitle for the date seperator drop down list</comment>        
-    <source>Date separator</source>
-    <translation variants="no">Date separator</translation>
-    <extra-loc-layout_id>qtl_dataform_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Date &amp; time settings_P04_3</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_setlabel_workdays">
-    <comment>Label for Workdays in Alarm editor</comment>        
-    <source>Workdays</source>
-    <translation variants="no">Workdays</translation>
-    <extra-loc-layout_id>qtl_dataform_heading_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Date &amp; time settings_P04_3</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_setlabel_date">
-    <comment>Label to the date field (picker) in the settings view</comment>        
-    <source>Date</source>
-    <translation variants="no">Date</translation>
-    <extra-loc-layout_id>qtl_dataform_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Date &amp; time settings_P04_1</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_setlabel_time">
-    <comment>Label to the time field (picker) in the settings view</comment>        
-    <source>Time</source>
-    <translation variants="no">Time</translation>
-    <extra-loc-layout_id>qtl_dataform_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Date &amp; time settings_P04_1</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_12_hour">
-    <comment>2nd value in combo box list for Time format label</comment>        
-    <source>12 hour</source>
-    <translation variants="no">12 hour</translation>
-    <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Date &amp; time settings_P04_3</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_2_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_setlabel_alarm_snooze_time">
-    <comment>Primary text label for Clock Type</comment>        
-    <source>Alarm snooze time</source>
-    <translation variants="no">Alarm snooze time</translation>
-    <extra-loc-layout_id>qtl_dataform_pri_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Date &amp; time settings_P04_1</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="yes" id="txt_clock_set_ln_mins">
-    <comment>Alarm snooze time details in the list box (5mins, 10mins, 15mins, 30mins)</comment>        
-    <source>%Ln mins</source>
-        <translation>
-            <numerusform variants = "no">%Ln mins</numerusform>
-            <numerusform variants = "no">%Ln mins</numerusform>
-        </translation>
-    <extra-loc-layout_id>qtl_dataform_combobox_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Date &amp; time settings_P04_1</extra-loc-viewid>
-    <extra-loc-positionid>set</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_setlabel_clock_type">
-    <comment>Primary text label for Clock Type</comment>        
-    <source>Clock Type</source>
-    <translation variants="no">Clock Type</translation>
-    <extra-loc-layout_id>qtl_dataform_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Date &amp; time settings_P04_1</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_5</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_subhead_date_time">
-    <comment>Sub-title for Date &amp; time settings view</comment>        
-    <source>Date &amp; time</source>
-    <translation variants="no">Date &amp; time</translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Date &amp; time settings_P04_1</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_saturday">
-    <comment>6th dropdown list value for Day label in Alarm editor view</comment>        
-    <source>Saturday</source>
-    <translation variants="no">Saturday</translation>
-    <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_6_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_wednesday">
-    <comment>3rd dropdown list value for Day label in Alarm editor view</comment>        
-    <source>Wednesday</source>
-    <translation variants="no">Wednesday</translation>
-    <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Alarm editor_P03</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_3_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_dd_mm_yyyy">
-    <comment>1st value in combo box list for Date format label</comment>        
-    <source>dd mm yyyy</source>
-    <translation variants="no">dd mm yyyy</translation>
-    <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_Date &amp; time settings_P04_3</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-</context>
-</TS>
--- a/clock/clockui/clocksettingsview/data/xml/clockregionalsettingsview.docml	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clocksettingsview/data/xml/clockregionalsettingsview.docml	Thu Jul 22 16:32:51 2010 +0100
@@ -3,7 +3,7 @@
     <widget name="regionalSettingsView" type="HbView">
         <widget name="regionalSettingsWidget" role="HbView:widget" type="HbWidget">
             <widget name="subtitleGroupBox" type="HbGroupBox">
-                <string locid="txt_clock_subhead_regional_date_time_settings" name="titleText" value="Regional date &amp; time setting"/>
+                <string locid="txt_clock_subhead_regional_date_time_settings" name="heading" value="Regional date &amp; time setting"/>
                 <real name="z" value="1"/>
                 <bool name="collapsable" value="FALSE"/>
             </widget>
--- a/clock/clockui/clocksettingsview/data/xml/clocksettingsview.docml	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clocksettingsview/data/xml/clocksettingsview.docml	Thu Jul 22 16:32:51 2010 +0100
@@ -3,7 +3,7 @@
     <widget name="clockSettingsView" type="HbView">
         <widget name="clockSettingsViewWidget" role="HbView:widget" type="HbWidget">
             <widget name="subtitleGroupBox" type="HbGroupBox">
-                <string locid="txt_clock_subhead_settings" name="titleText" value="Settings"/>
+                <string locid="txt_clock_subhead_settings" name="heading" value="Settings"/>
                 <real name="z" value="1"/>
                 <bool name="collapsable" value="FALSE"/>
             </widget>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clocksettingsview/eabi/clocksettingsviewu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,14 @@
+EXPORTS
+	_ZN17ClockSettingsView16loadSettingsViewEv @ 1 NONAME
+	_ZN17ClockSettingsViewC1EP7QObject @ 2 NONAME
+	_ZN17ClockSettingsViewC2EP7QObject @ 3 NONAME
+	_ZN17ClockSettingsViewD0Ev @ 4 NONAME
+	_ZN17ClockSettingsViewD1Ev @ 5 NONAME
+	_ZN17ClockSettingsViewD2Ev @ 6 NONAME
+	_ZN25ClockRegionalSettingsView8showViewEv @ 7 NONAME
+	_ZN25ClockRegionalSettingsViewC1EP7QObject @ 8 NONAME
+	_ZN25ClockRegionalSettingsViewC2EP7QObject @ 9 NONAME
+	_ZN25ClockRegionalSettingsViewD0Ev @ 10 NONAME
+	_ZN25ClockRegionalSettingsViewD1Ev @ 11 NONAME
+	_ZN25ClockRegionalSettingsViewD2Ev @ 12 NONAME
+
--- a/clock/clockui/clocksettingsview/inc/clockregionalsettingsview.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clocksettingsview/inc/clockregionalsettingsview.h	Thu Jul 22 16:32:51 2010 +0100
@@ -23,9 +23,9 @@
 #include <QObject>
 #include <QPointer>
 #include <QModelIndex>
-
 // User includes
 #include "settingsutility.h"
+#include "clocksettingsdefines.h"
 
 // Forward declarations
 class HbView;
@@ -35,21 +35,23 @@
 class HbDataFormModelItem;
 class HbListWidget;
 class HbComboBox;
-class QTranslator;
+class HbTranslator;
 class ClockSettingsDocLoader;
 class SettingsCustomItem;
 
+
 class ClockRegionalSettingsView : public QObject
 {
 	Q_OBJECT
 
 public:
-	ClockRegionalSettingsView(SettingsUtility &utility, QObject *parent = 0);
-	virtual ~ClockRegionalSettingsView();
+	CLOCKSETTINGSVIEW_EXPORT ClockRegionalSettingsView(QObject *parent = 0);
+	CLOCKSETTINGSVIEW_EXPORT virtual ~ClockRegionalSettingsView();
 
 public:
-	void showView();
-
+	CLOCKSETTINGSVIEW_EXPORT void showView();
+public slots:
+    void updateWeekStartOn();
 private slots:
 	void handleBackAction();
 	void handleItemDisplayed(const QModelIndex &index);
@@ -65,6 +67,8 @@
 	void createModel();
 	void populateFormModel();
 	QStringList weekdayList();
+	void updateWeekDays();
+
 
 private:
 	QStringList mTimeFormatStringList;
@@ -73,8 +77,6 @@
 	QStringList mDateSeparatorStringList;
 
 	HbView *mView;
-	HbAction *mBackAction;
-
 	QPointer<HbDataForm> mForm;
 	QPointer<HbDataFormModel> mFormModel;
 
@@ -86,9 +88,9 @@
 	QPointer<HbListWidget> mWorkdaysItem;
 
 	ClockSettingsDocLoader *mLoader;
-	SettingsUtility &mSettingsUtility;
+	SettingsUtility *mSettingsUtility;
 	SettingsCustomItem *mCustomPrototype;
-    QTranslator *mTranslator;
+    HbTranslator *mTranslator;
 };
 
 #endif // CLOCKREGIONALSETTINGSVIEW_H
--- a/clock/clockui/clocksettingsview/inc/clocksettingsview.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clocksettingsview/inc/clocksettingsview.h	Thu Jul 22 16:32:51 2010 +0100
@@ -37,7 +37,7 @@
 class SettingsUtility;
 class ClockSettingsDocLoader;
 class ClockSettingsView;
-class QTranslator;
+class HbTranslator;
 class XQSettingsManager;
 class XQSettingsKey;
 
@@ -61,6 +61,7 @@
 	void handleNetworkTimeStateChange(int state);
 	void handleAutoTimeUpdateChange(int value);
 	void handleAlarmSnoozeTimeChanged(int index);
+	void handleClockTypeChanged();
 	void eventMonitor(const XQSettingsKey& key, const QVariant& value);
 
 private:
@@ -82,15 +83,15 @@
 	HbDataFormModelItem *mTimeDataFormItem;
 	HbDataFormModelItem *mDateDataFormItem;
 	HbDataFormModelItem *mPlaceDataFormItem;
+	HbDataFormModelItem *mClockTypeItem;
 	HbDataFormModelItem *mAlarmSnoozeItem;
-
 	ClockSettingsDocLoader *mDocLoader;
 	SettingsUtility *mSettingsUtility;
 	TimezoneClient *mTimezoneClient;	
 	XQSettingsManager *mSettingsManager;
 	XQSettingsKey *mAlarmSnoozeTimeKey;
 	QHash<int, int> mAlarmSnoozeTimeHash;
-	QTranslator *mTranslator;
+	HbTranslator *mTranslator;
 };
 
 #endif // CLOCKSETTINGSVIEW_H
--- a/clock/clockui/clocksettingsview/src/clockregionalsettingsview.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clocksettingsview/src/clockregionalsettingsview.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -21,17 +21,16 @@
 #include <HbAction>
 #include <HbDataForm>
 #include <HbDataFormModel>
+#include <HbExtendedLocale>
 #include <HbDataFormModelItem>
 #include <HbDataFormViewItem>
 #include <HbMainWindow>
 #include <HbInstance>
 #include <HbPushButton>
-#include <HbExtendedLocale>
 #include <HbListWidget>
 #include <HbComboBox>
 #include <HbListWidgetItem>
-#include <HbApplication>
-#include <QTranslator>
+#include <HbTranslator>
 
 // User includes
 #include "clockregionalsettingsview.h"
@@ -49,25 +48,21 @@
 /*!
 	Default constructor.
  */
-ClockRegionalSettingsView::ClockRegionalSettingsView(
-		SettingsUtility &utility, QObject *parent)
+ClockRegionalSettingsView::ClockRegionalSettingsView(QObject *parent)
 :QObject(parent),
  mView(0),
- mBackAction(0),
- mLoader(0),
- mSettingsUtility(utility)
+ mLoader(0)
 {
 	// Construct the document loader.
 	mLoader = new ClockSettingsDocLoader;
 	
+	// Construct the settignsutility.
+	mSettingsUtility = new SettingsUtility();
+	
 	// Load the translation file and install the editor specific translator
-    mTranslator = new QTranslator;
-    //QString lang = QLocale::system().name();
-    //QString path = "Z:/resource/qt/translations/";
-    mTranslator->load("clocksettingsview",":/translations");
-    // TODO: Load the appropriate .qm file based on locale
-    //bool loaded = mTranslator->load("caleneditor_" + lang, path);
-    HbApplication::instance()->installTranslator(mTranslator);
+    mTranslator = new HbTranslator("clocksettingsview");
+    mTranslator->loadCommon();
+    
 	// Create the custom prototype.
 	mCustomPrototype = new SettingsCustomItem();
 }
@@ -81,8 +76,15 @@
 		delete mLoader;
 		mLoader = 0;
 	}
+	
+	if (mSettingsUtility) {
+        delete mSettingsUtility;
+        mSettingsUtility = 0;
+	}
+	if(mFormModel){
+		delete mFormModel;
+	}
 // Remove the translator
-    HbApplication::instance()->removeTranslator(mTranslator);
     if (mTranslator) {
         delete mTranslator;
         mTranslator = 0;
@@ -134,10 +136,10 @@
 	window->setCurrentView(mView);
 
 	// Add the back softkey.
-	mBackAction = new HbAction(Hb::BackNaviAction);
-	mView->setNavigationAction(mBackAction);
+	HbAction *backAction = new HbAction(Hb::BackNaviAction);
+	mView->setNavigationAction(backAction);
 	connect(
-			mBackAction, SIGNAL(triggered()),
+			backAction, SIGNAL(triggered()),
 			this, SLOT(handleBackAction()));
 }
 
@@ -233,8 +235,8 @@
  */
 void ClockRegionalSettingsView::handleTimeFormatChange()
 {
-//	mSettingsUtility.setTimeFormat(mTimeFormatItem->text());
-	mSettingsUtility.setTimeFormat(
+//	mSettingsUtility->setTimeFormat(mTimeFormatItem->text());
+	mSettingsUtility->setTimeFormat(
 			mTimeFormatItem->contentWidgetData("text").toString());
 }
 
@@ -244,8 +246,8 @@
  */
 void ClockRegionalSettingsView::handleTimeSeparatorChange()
 {
-//	mSettingsUtility.setTimeSeparator(mTimeSeparatorItem->text());
-	mSettingsUtility.setTimeSeparator(
+//	mSettingsUtility->setTimeSeparator(mTimeSeparatorItem->text());
+	mSettingsUtility->setTimeSeparator(
 			mTimeSeparatorItem->contentWidgetData("text").toString());
 }
 
@@ -253,7 +255,7 @@
  */
 void ClockRegionalSettingsView::handleDateFormatChange(QString text)
 {
-	mSettingsUtility.setDateFormat(text);
+	mSettingsUtility->setDateFormat(text);
 }
 
 /*!
@@ -262,7 +264,7 @@
  */
 void ClockRegionalSettingsView::handleDateSeparatorChange(QString text)
 {
-	mSettingsUtility.setDateSeparator(text);
+	mSettingsUtility->setDateSeparator(text);
 }
 
 /*!
@@ -278,34 +280,13 @@
 		case 5:
 		{
 		// The Start of week item.
-		if (mStartOfWeekItem != 0) {
+		if (mStartOfWeekItem != 0)
+		    {
 			int index = mStartOfWeekItem->currentIndex();
-			mSettingsUtility.setStartOfWeek(index);
-			
-			QStringList weekdays = weekdayList();
-			QString workdays = mCustomPrototype->workdaysSetting();
-			QItemSelectionModel *model = 0;
-			model = mWorkdaysItem->selectionModel();
-			
-			for (int i = 0, index = workdays.size() - 1;
-					i < mWorkdaysItem->count(); ++i, index--) {
-				QString str = weekdays[i];
-				mWorkdaysItem->item(i)->setText(str);
-				
-				QChar ch = workdays.at(index);
-				if ( ch == QChar('0')) {
-					// Not a workday.
-					model->select(
-							model->model()->index(i,0),
-							QItemSelectionModel::Deselect);
-				} else {
-					// Workday.
-					model->select(
-							model->model()->index(i,0),
-							QItemSelectionModel::Select);
-				}
-			}
-		}
+			mSettingsUtility->setStartOfWeek(index);
+			//update the week days
+			updateWeekDays();
+		    }
 		}
 		break;
 
@@ -348,13 +329,13 @@
 	}
 
 	// Get the locale.
-	 HbExtendedLocale locale = HbExtendedLocale::system();
+	HbExtendedLocale locale  = HbExtendedLocale::system();
 
 	// Time format item.
 	 mTimeFormatItem = mFormModel->appendDataFormItem(
 			HbDataFormModelItem::ToggleValueItem,
 			hbTrId("txt_clock_setlabel_time_format"));
-	int index = mSettingsUtility.timeFormat(mTimeFormatStringList);
+	int index = mSettingsUtility->timeFormat(mTimeFormatStringList);
 	if (0 == index) {
 		mTimeFormatItem->setContentWidgetData("text", mTimeFormatStringList[0]);
 		mTimeFormatItem->setContentWidgetData("additionalText", mTimeFormatStringList[1]);
@@ -370,7 +351,7 @@
 	mTimeSeparatorItem = mFormModel->appendDataFormItem(
 			HbDataFormModelItem::ToggleValueItem,
 			hbTrId("txt_clock_setlabel_time_separator"));
-	index = mSettingsUtility.timeSeparator(mTimeSeparatorStringList);
+	index = mSettingsUtility->timeSeparator(mTimeSeparatorStringList);
 	if (0 == index) {
 		mTimeSeparatorItem->setContentWidgetData("text", mTimeSeparatorStringList[0]);
 		mTimeSeparatorItem->setContentWidgetData(
@@ -388,7 +369,7 @@
 	mDateFormatItem = mFormModel->appendDataFormItem(
 			HbDataFormModelItem::ComboBoxItem,
 			hbTrId("txt_clock_setlabel_date_format"));
-	index = mSettingsUtility.dateFormat(mDateFormatStringList);
+	index = mSettingsUtility->dateFormat(mDateFormatStringList);
 
 	mDateFormatItem->setContentWidgetData("items", mDateFormatStringList);
 	mDateFormatItem->setContentWidgetData("currentIndex",index);
@@ -400,7 +381,7 @@
 	mDateSeparatorItem = mFormModel->appendDataFormItem(
 			HbDataFormModelItem::ComboBoxItem,
 			hbTrId("txt_clock_setlabel_date_separator"));
-	index = mSettingsUtility.dateSeparator(mDateSeparatorStringList);
+	index = mSettingsUtility->dateSeparator(mDateSeparatorStringList);
 
 	mDateSeparatorItem->setContentWidgetData("items", mDateSeparatorStringList);
 	mDateSeparatorItem->setContentWidgetData("currentIndex",index);
@@ -469,4 +450,60 @@
 	return weekDays;
 }
 
+
+/*!
+    update the start week on .
+ */
+
+void ClockRegionalSettingsView::updateWeekStartOn()
+{
+if (mStartOfWeekItem != 0)
+    {
+    HbExtendedLocale locale;
+    HbExtendedLocale::WeekDay weekdDayStart = locale.startOfWeek();
+    int currentDay = mStartOfWeekItem->currentIndex();
+    if(currentDay == weekdDayStart )
+        {
+        return;
+        }
+    else
+        {
+        mStartOfWeekItem->setCurrentIndex(weekdDayStart);
+        updateWeekDays();
+        }
+    }
+}
+
+/*!
+    update the  week days .
+ */
+void ClockRegionalSettingsView::updateWeekDays()
+{
+QStringList weekdays = weekdayList();
+QString workdays = mCustomPrototype->workdaysSetting();
+QItemSelectionModel *model = 0;
+model = mWorkdaysItem->selectionModel();
+
+for (int i = 0, index = workdays.size() - 1;
+        i < mWorkdaysItem->count(); ++i, index--)
+    {
+    QString str = weekdays[i];
+    mWorkdaysItem->item(i)->setText(str);
+
+    QChar ch = workdays.at(index);
+    if ( ch == QChar('0')) 
+        {
+        // Not a workday.
+        model->select(
+        model->model()->index(i,0),
+        QItemSelectionModel::Deselect);
+        }
+    else
+        {
+        // Workday.
+        model->select(
+        model->model()->index(i,0),
+        QItemSelectionModel::Select);}
+        }
+}
 // End of file	--Don't remove this.
--- a/clock/clockui/clocksettingsview/src/clocksettingsview.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clocksettingsview/src/clocksettingsview.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -25,10 +25,10 @@
 #include <HbLabel>
 #include <HbPushButton>
 #include <HbCheckBox>
-#include <HbApplication>
-#include <QTranslator>
+#include <HbTranslator>
 #include <xqsettingsmanager.h>
 #include <xqsettingskey.h>
+#include <clockdomaincrkeys.h>
 
 // User includes
 #include "clocksettingsview.h"
@@ -38,7 +38,6 @@
 #include "timezoneclient.h"
 #include "settingsdatatypes.h"
 #include "settingscustomitem.h"
-#include "clockcommon.h"
 
 /*!
 	\class ClockSettingsView
@@ -55,16 +54,10 @@
 ClockSettingsView::ClockSettingsView(QObject *parent)
 :QObject(parent)
 {
-	qDebug("clock: ClockSettingsView::ClockSettingsView() -->");
 	
 	// Load the translation file and install the editor specific translator
-    mTranslator = new QTranslator;
-    //QString lang = QLocale::system().name();
-    //QString path = "Z:/resource/qt/translations/";
-    mTranslator->load("clocksettingsview",":/translations");
-    // TODO: Load the appropriate .qm file based on locale
-    //bool loaded = mTranslator->load("caleneditor_" + lang, path);
-    HbApplication::instance()->installTranslator(mTranslator);
+    mTranslator = new HbTranslator("clocksettingsview");
+    mTranslator->loadCommon();
 
 	// Construct the settings utility.
 	mSettingsUtility = new SettingsUtility();
@@ -121,15 +114,18 @@
 	}
 	
 	// Remove the translator
-    HbApplication::instance()->removeTranslator(mTranslator);
     if (mTranslator) {
         delete mTranslator;
         mTranslator = 0;
     }
-
-	if (!mTimezoneClient->isNull()) {
-	    mTimezoneClient->deleteInstance();
+    if(mSettingsUtility){
+    	delete mSettingsUtility;
     }
+	
+	if(mSettingsModel){
+		delete mSettingsModel;
+	}
+		
 
 }
 
@@ -289,7 +285,7 @@
 
 	// Create the custom prototype.
 	QList <HbAbstractViewItem*> prototypes = mSettingsForm->itemPrototypes();
-	SettingsCustomItem *customPrototype = new SettingsCustomItem();
+	SettingsCustomItem *customPrototype = new SettingsCustomItem(mSettingsForm);
 	prototypes.append(customPrototype);
 	mSettingsForm->setItemPrototypes(prototypes);
 
@@ -392,8 +388,28 @@
 			static_cast<HbDataFormModelItem::DataItemType>
 			(HbDataFormModelItem::CustomItemBase + RegionalSettingsItem);
 	mSettingsModel->appendDataFormItem(regionalSettingsItem);
-
-	// Add the alarm snooze time item.
+    
+	// Add the clock type item.
+    HbDataFormModelItem::DataItemType clockTypeSettingsItem =
+            static_cast<HbDataFormModelItem::DataItemType>
+            (HbDataFormModelItem::ToggleValueItem);
+    mClockTypeItem = mSettingsModel->appendDataFormItem(
+	clockTypeSettingsItem,hbTrId("txt_clock_setlabel_clock_type"));
+    QStringList clockTypeList;
+    int clockType = mSettingsUtility->clockType(clockTypeList);
+	int zeroIndex(0);
+    if( zeroIndex == clockType ){
+	    mClockTypeItem->setContentWidgetData("text", clockTypeList[0]);
+	    mClockTypeItem->setContentWidgetData("additionalText", clockTypeList[1]);
+    } else {
+	    mClockTypeItem->setContentWidgetData("text", clockTypeList[1]);
+	    mClockTypeItem->setContentWidgetData("additionalText", clockTypeList[0]);    
+    }
+    mSettingsForm->addConnection(
+            mClockTypeItem, SIGNAL(clicked()),
+            this, SLOT(handleClockTypeChanged()));
+    
+    // Add the alarm snooze time item.
 	mAlarmSnoozeItem = mSettingsModel->appendDataFormItem(
 			HbDataFormModelItem::ComboBoxItem,
 			hbTrId("txt_clock_setlabel_alarm_snooze_time"));
@@ -483,6 +499,15 @@
 }
 
 /*!
+    Slot which handles the clock type change..
+ */
+void ClockSettingsView::handleClockTypeChanged()
+{
+    mSettingsUtility->setClockType(
+                mClockTypeItem->contentWidgetData("text").toString());
+}
+
+/*!
 	Slot which is called when the value changes in cenrep.
 
 	\param key The key which got changed in cenrep.
--- a/clock/clockui/clocksettingsview/src/settingscustomitem.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clocksettingsview/src/settingscustomitem.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -63,9 +63,7 @@
  */
 SettingsCustomItem::~SettingsCustomItem()
 {
-	if (!mTimezoneClient->isNull()) {
-		mTimezoneClient->deleteInstance();
-	}
+    // Nothing yet.
 }
 
 /*!
@@ -228,6 +226,7 @@
 	mTimePickerDialog = new HbDialog;
 	mTimePickerDialog->setTimeout(HbDialog::NoTimeout);
 	mTimePickerDialog->setDismissPolicy(HbDialog::NoDismiss);
+	mTimePickerDialog->setAttribute(Qt::WA_DeleteOnClose, true );
 
 	// Set the heading for the dialog.
 	HbLabel * timeLabel =
@@ -274,7 +273,8 @@
 			// Update the display text on form item.
 			mTimeWidget->setText(newTime.toString(timeFormatString));
 			// Update the system time.
-			mTimezoneClient->setDateTime(QDateTime(QDate::currentDate(), newTime));
+			mTimezoneClient->setDateTime(
+					QDateTime(QDate::currentDate(), newTime));
 		}
 	} else if(mDatePickerDialog) {
 		// Get the time from the time picker.
@@ -288,7 +288,8 @@
 			// Update the display text on form item.
 			mDateWidget->setText(newDate.toString(dateFormatString));
 			// Update the system date.
-			mTimezoneClient->setDateTime(QDateTime(newDate, QTime::currentTime()));
+			mTimezoneClient->setDateTime(
+					QDateTime(newDate, QTime::currentTime()));
 		}
 	}
 }
@@ -306,6 +307,7 @@
 	mDatePickerDialog = new HbDialog;
 	mDatePickerDialog->setTimeout(HbDialog::NoTimeout);
 	mDatePickerDialog->setDismissPolicy(HbDialog::NoDismiss);
+	mDatePickerDialog->setAttribute(Qt::WA_DeleteOnClose, true );
 
 	// Set the heading for the dialog.
 	HbLabel * timeLabel =
@@ -363,8 +365,11 @@
 void SettingsCustomItem::launchRegSettingsView()
 {
 	ClockRegionalSettingsView *view =
-			new ClockRegionalSettingsView(*mSettingsUtility);
+			new ClockRegionalSettingsView();
+	connect(mTimezoneClient, SIGNAL(timechanged()),
+          view, SLOT(updateWeekStartOn()));
 	view->showView();
+	
 }
 
 /*!
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockviewmanager/bwins/clockviewmanageru.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,5 @@
+EXPORTS
+	?showView@ClockViewManager@@QAEXW4ClockViews@@@Z @ 1 NONAME ; void ClockViewManager::showView(enum ClockViews)
+	??1ClockViewManager@@UAE@XZ @ 2 NONAME ; ClockViewManager::~ClockViewManager(void)
+	??0ClockViewManager@@QAE@AAVClockAppControllerIf@@PAVQObject@@@Z @ 3 NONAME ; ClockViewManager::ClockViewManager(class ClockAppControllerIf &, class QObject *)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockviewmanager/eabi/clockviewmanageru.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,8 @@
+EXPORTS
+	_ZN16ClockViewManager8showViewE10ClockViews @ 1 NONAME
+	_ZN16ClockViewManagerC1ER20ClockAppControllerIfP7QObject @ 2 NONAME
+	_ZN16ClockViewManagerC2ER20ClockAppControllerIfP7QObject @ 3 NONAME
+	_ZN16ClockViewManagerD0Ev @ 4 NONAME
+	_ZN16ClockViewManagerD1Ev @ 5 NONAME
+	_ZN16ClockViewManagerD2Ev @ 6 NONAME
+
--- a/clock/clockui/clockviewmanager/src/clockviewmanager.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockviewmanager/src/clockviewmanager.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -19,6 +19,8 @@
 // System includes
 #include <HbMainWindow>
 #include <HbInstance>
+#include <hbapplication> // hbapplication
+#include <hbactivitymanager> // hbactivitymanager
 
 // User includes
 #include "clockviewmanager.h"
@@ -46,14 +48,44 @@
  mAppControllerIf(controllerIf),
  mWorldClockView(0)
 {
-	// Load the main view at the start up.
-	loadMainView();
+    // Activity Reason from Activity Manager
+    int activityReason = qobject_cast<HbApplication*>(qApp)->activateReason();
+    
+    if (Hb::ActivationReasonActivity == activityReason) {
+        // Application is started from an activity
+		// extract activity data
+        QVariant data = qobject_cast<HbApplication*>(qApp)->activateData();
+        // restore state from activity data
+        QByteArray serializedModel = data.toByteArray();
+        QDataStream stream(&serializedModel, QIODevice::ReadOnly);
+        int activityId;
+        stream >> activityId;
+        
+        if (MainView == activityId) {
+            // Load the main view at the start up.
+            loadMainView();
+			// Delay loading of other views till main view is loaded.
+        	HbMainWindow *window = hbInstance->allMainWindows().first();
+        	connect(
+                window, SIGNAL(viewReady()),
+                this, SLOT(loadOtherViews()));
 
-	// Delay loading of other views till main view is loaded.
-	HbMainWindow *window = hbInstance->allMainWindows().first();
-	connect(
-			window, SIGNAL(viewReady()),
-			this, SLOT(loadOtherViews()));
+        }
+        else if (WorldClock == activityId) {
+            //no implentation yet, UI specs are not clear
+        }
+
+    }
+    else {
+        // Load the main view at the start up.
+        loadMainView();
+        // Delay loading of other views till main view is loaded.
+        HbMainWindow *window = hbInstance->allMainWindows().first();
+        connect(
+                window, SIGNAL(viewReady()),
+                this, SLOT(loadOtherViews()));
+    }
+
 }
 
 /*!
@@ -75,12 +107,21 @@
 
 	switch (view) {
 		case MainView:
+		    // set captured screenshot as invalid as main view 
+			// is the current view
+		    mMainView->captureScreenShot(false);
 			window->removeView(window->currentView());
 			window->addView(mMainView);
 			window->setCurrentView(mMainView);
 			break;
 
 		case WorldClock:
+		    if (mMainView) {
+				// capture main view as the screenshot for future use 
+				// to save the main view as an activity, if application is 
+				// exited/Quit from world view
+                mMainView->captureScreenShot(true);
+		    }
 			window->removeView(window->currentView());
 			window->addView(mWorldClockView);
 			window->setCurrentView(mWorldClockView);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockviews/bwins/clockviewsu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,12 @@
+EXPORTS
+	??1ClockWorldView@@UAE@XZ @ 1 NONAME ; ClockWorldView::~ClockWorldView(void)
+	??1ClockMainView@@UAE@XZ @ 2 NONAME ; ClockMainView::~ClockMainView(void)
+	?setupView@ClockWorldView@@QAEXAAVClockAppControllerIf@@PAVClockDocLoader@@@Z @ 3 NONAME ; void ClockWorldView::setupView(class ClockAppControllerIf &, class ClockDocLoader *)
+	??0ClockMainView@@QAE@PAVQGraphicsItem@@@Z @ 4 NONAME ; ClockMainView::ClockMainView(class QGraphicsItem *)
+	??0ClockWorldView@@QAE@PAVQGraphicsItem@@@Z @ 5 NONAME ; ClockWorldView::ClockWorldView(class QGraphicsItem *)
+	?setupView@ClockMainView@@QAEXAAVClockAppControllerIf@@PAVClockDocLoader@@@Z @ 6 NONAME ; void ClockMainView::setupView(class ClockAppControllerIf &, class ClockDocLoader *)
+	??0ClockHomeCityItem@@QAE@PAVQGraphicsItem@@@Z @ 7 NONAME ; ClockHomeCityItem::ClockHomeCityItem(class QGraphicsItem *)
+	??1ClockHomeCityItem@@UAE@XZ @ 8 NONAME ; ClockHomeCityItem::~ClockHomeCityItem(void)
+	?setupAfterViewReady@ClockMainView@@QAEXXZ @ 9 NONAME ; void ClockMainView::setupAfterViewReady(void)
+	?captureScreenShot@ClockMainView@@QAEX_N@Z @ 10 NONAME ; void ClockMainView::captureScreenShot(bool)
+
--- a/clock/clockui/clockviews/data/clockviews.qrc	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockviews/data/clockviews.qrc	Thu Jul 22 16:32:51 2010 +0100
@@ -2,10 +2,13 @@
 	<qresource prefix="/style">
 		<file alias="clockalarmlistitemprototype.css">style/clockalarmlistitemprototype.css</file>
 		<file alias="clockalarmlistitemprototype.widgetml">style/clockalarmlistitemprototype.widgetml</file>
-        	<file alias="clockhomecityitem.css">style/clockhomecityitem.css</file>
-        	<file alias="clockhomecityitem.widgetml">style/clockhomecityitem.widgetml</file>
-        	<file alias="hblistviewitem.css">style/hblistviewitem.css</file>
-       		<file alias="hblistviewitem.widgetml">style/hblistviewitem.widgetml</file>
+		<file alias="clockalarmlistitemprototype_color.css">style/clockalarmlistitemprototype_color.css</file>
+        <file alias="clockhomecityitem.css">style/clockhomecityitem.css</file>
+        <file alias="clockhomecityitem.widgetml">style/clockhomecityitem.widgetml</file>
+        <file alias="clockhomecityitem_color.css">style/clockhomecityitem_color.css</file>
+        <file alias="hblistviewitem.css">style/hblistviewitem.css</file>
+        <file alias="hblistviewitem.widgetml">style/hblistviewitem.widgetml</file>
+        <file alias="hblistviewitem_color.css">style/hblistviewitem_color.css</file>
 	</qresource>
 	<qresource prefix="/xml">
 		<file alias="clockmainview.docml">xml/clockmainview.docml</file>
--- a/clock/clockui/clockviews/data/style/clockalarmlistitemprototype.css	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockviews/data/style/clockalarmlistitemprototype.css	Thu Jul 22 16:32:51 2010 +0100
@@ -13,6 +13,7 @@
 	top: -var(hb-param-margin-gene-top);
     right: var(hb-param-margin-gene-right);
 	text-height: var(hb-param-text-height-secondary);
+	font-variant: secondary;
     fixed-width: 8.2un;
 	text-align: right;
 	text-line-count-min: 2;
@@ -22,21 +23,24 @@
     top: -var(hb-param-margin-gene-top);
     right: var(hb-param-margin-gene-right);
     text-height: var(hb-param-text-height-tiny);
+    font-variant: secondary;
 	fixed-width: 28.7un;
     text-align: left;
 }
 ClockAlarmListItemPrototype::text-3{
     text-height: var(hb-param-text-height-primary);
+    font-variant: primary;
     top: -var(hb-param-margin-gene-middle-vertical);
     right: var(hb-param-margin-gene-right);
     fixed-width: 28.7un;
     text-align: left;
 }
 ClockAlarmListItemPrototype::text-4{
-    text-height: var(hb-param-text-height-primary-small);
+    text-height: var(hb-param-text-height-tiny);
+    font-variant: secondary;
     top: -var(hb-param-margin-gene-middle-vertical);
     bottom: var(hb-param-margin-gene-bottom);
-	fixed-width: 28.7un;
+    fixed-width: 28.7un;
     text-align: left;
 }
 ClockAlarmListItemPrototype::alarmIconItem{
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockviews/data/style/clockalarmlistitemprototype_color.css	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,47 @@
+ClockAlarmListItemPrototype::text-4{
+    color: var(qtc_list_item_content_normal);
+}
+
+ClockAlarmListItemPrototype::text-4[state="pressed"]{
+    color: var(qtc_list_item_pressed);
+}
+
+ClockAlarmListItemPrototype::text-4[state="disabled"]{
+    color: var(qtc_list_item_disabled);
+}
+
+ClockAlarmListItemPrototype::alarmIconItem{
+    color: var(qtc_list_item_content_normal);
+}
+
+ClockAlarmListItemPrototype::alarmIconItem[state="pressed"]{
+    color: var(qtc_list_item_pressed);
+}
+
+ClockAlarmListItemPrototype::alarmIconItem[state="disabled"]{
+    color: var(qtc_list_item_disabled);
+}
+
+ClockAlarmListItemPrototype::text-3{
+    color: var(qtc_list_item_title_normal);
+}
+
+ClockAlarmListItemPrototype::text-3[state="pressed"]{
+    color: var(qtc_list_item_pressed);
+}
+
+ClockAlarmListItemPrototype::text-3[state="disabled"]{
+    color: var(qtc_list_item_disabled);
+}
+
+ClockAlarmListItemPrototype::text-1{
+    color: var(qtc_list_item_content_normal);
+}
+
+ClockAlarmListItemPrototype::text-1[state="pressed"]{
+    color: var(qtc_list_item_pressed);
+}
+
+ClockAlarmListItemPrototype::text-1[state="disabled"]{
+    color: var(qtc_list_item_disabled);
+}
\ No newline at end of file
--- a/clock/clockui/clockviews/data/style/clockhomecityitem.css	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockviews/data/style/clockhomecityitem.css	Thu Jul 22 16:32:51 2010 +0100
@@ -18,6 +18,7 @@
     top: -var(hb-param-margin-gene-top);
     right: var(hb-param-margin-gene-middle-horizontal);
     text-height: var(hb-param-text-height-tiny);
+    font-variant: secondary;
     text-align: left;
 }
 
@@ -25,6 +26,7 @@
     top: -var(hb-param-margin-gene-middle-vertical);
     right: var(hb-param-margin-gene-middle-horizontal);
     text-height: var(hb-param-text-height-primary);
+    font-variant: primary;
     text-align: left;
 }
 
@@ -39,6 +41,7 @@
 ClockHomeCityItem::timeText{
     right: var(hb-param-margin-gene-right);
     text-height: var(hb-param-text-height-tiny);
+    font-variant: secondary;
     text-align: right;
     fixed-width: 16un;
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockviews/data/style/clockhomecityitem_color.css	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,47 @@
+ClockHomeCityItem::dateText{
+    color: var(qtc_list_item_content_normal);
+}
+
+ClockHomeCityItem::dateText[state="pressed"]{
+    color: var(qtc_list_item_pressed);
+}
+
+ClockHomeCityItem::dateText[state="disabled"]{
+    color: var(qtc_list_item_disabled);
+}
+
+ClockHomeCityItem::cityText{
+    color: var(qtc_list_item_title_normal);
+}
+
+ClockHomeCityItem::cityText[state="pressed"]{
+    color: var(qtc_list_item_pressed);
+}
+
+ClockHomeCityItem::cityText[state="disabled"]{
+    color: var(qtc_list_item_disabled);
+}
+
+ClockHomeCityItem::dstIcon{
+    color: var(qtc_list_item_title_normal);
+}
+
+ClockHomeCityItem::dstIcon[state="pressed"]{
+    color: var(qtc_list_item_pressed);
+}
+
+ClockHomeCityItem::dstIcon[state="disabled"]{
+    color: var(qtc_list_item_disabled);
+}
+
+ClockHomeCityItem::timeText{
+    color: var(qtc_list_item_content_normal);
+}
+
+ClockHomeCityItem::timeText[state="pressed"]{
+    color: var(qtc_list_item_pressed);
+}
+
+ClockHomeCityItem::timeText[state="disabled"]{
+    color: var(qtc_list_item_disabled);
+}
\ No newline at end of file
--- a/clock/clockui/clockviews/data/style/hblistviewitem.css	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockviews/data/style/hblistviewitem.css	Thu Jul 22 16:32:51 2010 +0100
@@ -7,7 +7,7 @@
     layout: citylist-landscape;
 }
 
-HbListViewItem::icon-1{
+HbListViewItem[layoutName="citylist-portrait"]::icon-1{
     top: -var(hb-param-margin-gene-top);
     left: -var(hb-param-margin-gene-left);
     right: var(hb-param-margin-gene-middle-horizontal);
@@ -17,38 +17,42 @@
     fixed-width: var(hb-param-graphic-size-primary-large);
 }
 
-HbListViewItem::text-1{
+HbListViewItem[layoutName="citylist-portrait"]::text-1{
     top: -var(hb-param-margin-gene-top);
     right: var(hb-param-margin-gene-middle-horizontal);
     text-height: var(hb-param-text-height-tiny);
+    font-variant: secondary;
     text-align: left;
 }
 
-HbListViewItem::text-2{
+HbListViewItem[layoutName="citylist-portrait"]::text-2{
     top: -var(hb-param-margin-gene-middle-vertical);
     right: var(hb-param-margin-gene-middle-horizontal);
     text-height: var(hb-param-text-height-primary);
+    font-variant: primary;
     text-align: left;
 }
 
-HbListViewItem::text-3:portrait{
+HbListViewItem[layoutName="citylist-portrait"]::text-3{
     top: -var(hb-param-margin-gene-middle-vertical);
     right: var(hb-param-margin-gene-right);
     bottom: var(hb-param-margin-gene-bottom);
 
     text-height: var(hb-param-text-height-tiny);
+    font-variant: secondary;
     text-align: left;
 }
 
-HbListViewItem::text-3:landscape{
+HbListViewItem[layoutName="citylist-landscape"]::text-3{
     right: var(hb-param-margin-gene-right);
 
     text-height: var(hb-param-text-height-tiny);
+    font-variant: secondary;
     text-align: right;
     fixed-width: 24un;
 }
 
-HbListViewItem::icon-2{
+HbListViewItem[layoutName="citylist-portrait"]::icon-2{
     top: -var(hb-param-margin-gene-top);
     right: var(hb-param-margin-gene-right);
 
@@ -56,9 +60,10 @@
     fixed-width: var(hb-param-graphic-size-secondary);
 }
 
-HbListViewItem::text-4{
+HbListViewItem[layoutName="citylist-portrait"]::text-4{
     right: var(hb-param-margin-gene-right);
     text-height: var(hb-param-text-height-tiny);
+    font-variant: secondary;
     text-align: right;
     fixed-width: 16un;
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockviews/data/style/hblistviewitem_color.css	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,35 @@
+HbListViewItem[layoutName="citylist-portrait"]::text-4{
+    color: var(qtc_list_item_content_normal);
+}
+
+HbListViewItem[layoutName="citylist-portrait"]::text-4[state="pressed"]{
+    color: var(qtc_list_item_pressed);
+}
+
+HbListViewItem[layoutName="citylist-portrait"]::text-4[state="disabled"]{
+    color: var(qtc_list_item_disabled);
+}
+
+HbListViewItem[layoutName="citylist-portrait"]::text-2{
+    color: var(qtc_list_item_title_normal);
+}
+
+HbListViewItem[layoutName="citylist-portrait"]::text-2[state="pressed"]{
+    color: var(qtc_list_item_pressed);
+}
+
+HbListViewItem[layoutName="citylist-portrait"]::text-2[state="disabled"]{
+    color: var(qtc_list_item_disabled);
+}
+
+HbListViewItem[layoutName="citylist-portrait"]::text-1{
+    color: var(qtc_list_item_content_normal);
+}
+
+HbListViewItem[layoutName="citylist-portrait"]::text-1[state="pressed"]{
+    color: var(qtc_list_item_pressed);
+}
+
+HbListViewItem[layoutName="citylist-portrait"]::text-1[state="disabled"]{
+    color: var(qtc_list_item_disabled);
+}
\ No newline at end of file
--- a/clock/clockui/clockviews/data/xml/clockmainview.docml	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockviews/data/xml/clockmainview.docml	Thu Jul 22 16:32:51 2010 +0100
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<hbdocument version="0.9">
+<hbdocument version="1.1">
     <object name="alarmsAction" type="HbAction">
         <icon iconName="qtg_mono_alarm" name="icon"/>
     </object>
@@ -15,133 +15,173 @@
     <widget name="clockMainView" type="HbView">
         <widget name="clockMainViewWidget" role="HbView:widget" type="HbWidget">
             <widget name="clockWidget" plugin="clockwidgetplugin" type="ClockWidget">
-                <real name="z" value="8"/>
-            </widget>
-            <widget name="dateLabel" type="HbLabel">
-                <real name="z" value="9"/>
-                <sizehint height="var(hb-param-text-height-tiny)" type="PREFERRED"/>
-                <string name="plainText" value="Mon 18.05.2009"/>
-            </widget>
-            <widget name="placeLabel" type="HbLabel">
                 <real name="z" value="10"/>
-                <sizehint height="var(hb-param-text-height-primary)" type="PREFERRED"/>
-                <string name="plainText" value="Helsinki, Finland +2 GMT"/>
-            </widget>
-            <widget name="alarmListView" type="HbListView">
-                <widget name="prototype" role="HbListView:prototype" type="HbListViewItem">
-                    <string name="state" value="normal"/>
-                </widget>
-                <real name="z" value="11"/>
-                <sizehint height="47.7612un" type="PREFERRED" width="35.8209un"/>
+                <sizehint height="22.55un" type="PREFERRED" width="22.55un"/>
             </widget>
             <widget name="noAlarmLabel" type="HbLabel">
-                <real name="z" value="12"/>
-                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
-                <sizehint height="3.9un" type="FIXED"/>
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <real name="z" value="16"/>
+                <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+                <sizehint height="var(hb-param-text-height-primary)" type="PREFERRED" width="49.7un"/>
+                <sizehint height="var(hb-param-text-height-primary)" type="MINIMUM" width="37.7un"/>
+                <sizehint height="var(hb-param-text-height-primary)" type="MAXIMUM" width="49.7un"/>
                 <string locid="txt_clk_main_view_list_no_alarms_set" name="plainText" value="No alarm set"/>
             </widget>
+            <widget name="dateLabel" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <real name="z" value="19"/>
+                <sizehint height="var(hb-param-text-height-tiny)" type="PREFERRED" width="expr(var(hb-param-screen-width)-53.73un-4un)"/>
+                <string name="plainText" value="Mon 18.05.2009"/>
+            </widget>
+            <widget name="alarmListView" type="HbListView">
+                <widget name="prototype" role="HbAbstractView:prototype" type="HbListViewItem">
+                    <string name="state" value="normal"/>
+                </widget>
+                <real name="z" value="21"/>
+                <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Expanding" verticalStretch="0"/>
+                <sizehint height="47.7612un" type="PREFERRED" width="expr(var(hb-param-screen-short-edge) )"/>
+            </widget>
+            <widget name="horizontalDivider" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <icon iconName="qtg_graf_input_v_swipe" name="icon"/>
+                <real name="z" value="1"/>
+                <sizehint height="3.58209un" type="PREFERRED" width="21.49254un"/>
+            </widget>
+            <widget name="verticalDivider" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <icon iconName="qtg_graf_input_h_swipe" name="icon"/>
+                <real name="z" value="2"/>
+            </widget>
+            <widget name="placeLabel" type="HbLabel">
+                <enums name="alignment" value="AlignAbsolute|AlignRight|AlignTrailing"/>
+                <enums name="layoutDirection" value="LeftToRight"/>
+                <real name="z" value="2"/>
+                <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                <sizehint height="expr(var(hb-param-text-height-tiny) )" type="PREFERRED" width="18.58295un"/>
+                <string name="plainText" value="united kingdom 0:00 GMT"/>
+            </widget>
             <layout type="anchor">
-                <anchoritem dst="clockWidget" dstEdge="CENTERH" spacing="0un" src="" srcEdge="CENTERH"/>
-                <anchoritem dst="dateLabel" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
-                <anchoritem dst="dateLabel" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="" srcEdge="RIGHT"/>
-                <anchoritem dst="dateLabel" dstEdge="TOP" spacing="var(hb-param-margin-gene-top)" src="clockWidget" srcEdge="BOTTOM"/>
-                <anchoritem dst="placeLabel" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
-                <anchoritem dst="placeLabel" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="" srcEdge="RIGHT"/>
-                <anchoritem dst="placeLabel" dstEdge="TOP" spacing="var(hb-param-margin-gene-middle-vertical)" src="dateLabel" srcEdge="BOTTOM"/>
+                <anchoritem dst="clockWidget" dstEdge="TOP" spacing="2un" src="" srcEdge="TOP"/>
+                <anchoritem dst="clockWidget" dstEdge="RIGHT" spacing="-10.91567un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="noAlarmLabel" dstEdge="LEFT" spacing="2un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="noAlarmLabel" dstEdge="BOTTOM" spacing="-35.26739un" src="" srcEdge="BOTTOM"/>
+                <anchoritem dst="dateLabel" dstEdge="LEFT" spacing="2un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="dateLabel" dstEdge="TOP" spacing="29.73761un" src="" srcEdge="TOP"/>
                 <anchoritem dst="alarmListView" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
-                <anchoritem dst="alarmListView" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
-                <anchoritem dst="alarmListView" dstEdge="TOP" spacing="var(hb-param-margin-gene-bottom)" src="placeLabel" srcEdge="BOTTOM"/>
-                <anchoritem dst="alarmListView" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
-                <anchoritem dst="clockWidget" dstEdge="TOP" spacing="var(hb-param-margin-gene-top)" src="" srcEdge="TOP"/>
-                <anchoritem dst="noAlarmLabel" dstEdge="LEFT" spacing="3.58209un" src="" srcEdge="LEFT"/>
-                <anchoritem dst="noAlarmLabel" dstEdge="TOP" spacing="23.43284un" src="" srcEdge="TOP"/>
+                <anchoritem dst="alarmListView" dstEdge="BOTTOM" spacing="-18un" src="" srcEdge="BOTTOM"/>
+                <anchoritem dst="horizontalDivider" dstEdge="LEFT" spacing="6.1194un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="horizontalDivider" dstEdge="BOTTOM" spacing="-9.70896un" src="" srcEdge="BOTTOM"/>
+                <anchoritem dst="verticalDivider" dstEdge="RIGHT" spacing="-8.80597un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="verticalDivider" dstEdge="BOTTOM" spacing="-2.84328un" src="" srcEdge="BOTTOM"/>
+                <anchoritem dst="placeLabel" dstEdge="TOP" spacing="35.07463un" src="" srcEdge="TOP"/>
+                <anchoritem dst="placeLabel" dstEdge="RIGHT" spacing="-16.04392un" src="" srcEdge="RIGHT"/>
             </layout>
         </widget>
         <widget name="viewToolbar" role="HbView:toolBar" type="HbToolBar">
-            <enums name="orientation" value="Horizontal"/>
-            <ref object="alarmsAction" role="HbToolBar:addAction"/>
-            <ref object="worldClockAction" role="HbToolBar:addAction"/>
-            <ref object="newAlarmAction" role="HbToolBar:addAction"/>
+            <ref object="alarmsAction" role="HbWidget:addAction"/>
+            <ref object="worldClockAction" role="HbWidget:addAction"/>
+            <ref object="newAlarmAction" role="HbWidget:addAction"/>
         </widget>
         <widget name="viewMenu" role="HbView:menu" type="HbMenu">
-            <ref object="settingsAction" role="HbMenu:addAction"/>
+            <ref object="settingsAction" role="HbWidget:addAction"/>
         </widget>
         <string locid="txt_common_common_clock" name="title" value="Clock"/>
     </widget>
-    <section name="landscape">
-        <widget name="noAlarmLabel" type="HbLabel">
-            <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
-            <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
-            <sizehint height="var(hb-param-text-height-primary)" type="PREFERRED" width="37.7un"/>
-            <sizehint height="var(hb-param-text-height-primary)" type="MINIMUM" width="37.7un"/>
-            <sizehint height="var(hb-param-text-height-primary)" type="MAXIMUM" width="37.7un"/>
+    <section name="portrait">
+        <widget name="alarmListView" type="HbListView">
+            <sizehint height="27.61194un" type="PREFERRED" width="expr(var(hb-param-screen-short-edge) )"/>
+        </widget>
+        <widget name="dateLabel" type="HbLabel">
+            <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
         </widget>
         <widget name="clockMainViewWidget" role="HbView:widget" type="HbWidget">
             <layout type="anchor">
-                <anchoritem dst="dateLabel" dstEdge="TOP" spacing="var(hb-param-margin-gene-top)" src="clockWidget" srcEdge="BOTTOM"/>
-                <anchoritem dst="placeLabel" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
-                <anchoritem dst="placeLabel" dstEdge="TOP" spacing="var(hb-param-margin-gene-middle-vertical)" src="dateLabel" srcEdge="BOTTOM"/>
-                <anchoritem dst="alarmListView" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
-                <anchoritem dst="clockWidget" dstEdge="TOP" spacing="var(hb-param-margin-gene-top)" src="" srcEdge="TOP"/>
-                <anchoritem dst="clockWidget" dstEdge="LEFT" spacing="9.5un" src="" srcEdge="LEFT"/>
-                <anchoritem dst="alarmListView" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+                <anchoritem dst="clockWidget" dstEdge="TOP" spacing="expr(var(hb-param-margin-gene-top) )" src="" srcEdge="TOP"/>
+                <anchoritem dst="clockWidget" dstEdge="CENTERH" spacing="0un" src="" srcEdge="CENTERH"/>
+                <anchoritem dst="dateLabel" dstEdge="LEFT" spacing="expr(var(hb-param-margin-gene-left) )" src="" srcEdge="LEFT"/>
+                <anchoritem dst="dateLabel" dstEdge="TOP" spacing="expr(var(hb-param-margin-gene-top) )" src="clockWidget" srcEdge="BOTTOM"/>
+                <anchoritem dst="dateLabel" dstEdge="RIGHT" spacing="expr(-var(hb-param-margin-gene-right) )" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="noAlarmLabel" dstEdge="LEFT" spacing="expr(var(hb-param-margin-gene-left) )" src="" srcEdge="LEFT"/>
+                <anchoritem dst="noAlarmLabel" dstEdge="CENTERV" spacing="0un" src="alarmListView" srcEdge="CENTERV"/>
+                <anchoritem dst="alarmListView" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="alarmListView" dstEdge="TOP" spacing="0un" src="horizontalDivider" srcEdge="BOTTOM"/>
                 <anchoritem dst="alarmListView" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
-                <anchoritem dst="alarmListView" dstEdge="LEFT" spacing="9.5un" src="clockWidget" srcEdge="RIGHT"/>
-                <anchoritem dst="dateLabel" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
-                <anchoritem dst="dateLabel" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="alarmListView" srcEdge="LEFT"/>
-                <anchoritem dst="placeLabel" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="alarmListView" srcEdge="LEFT"/>
-                <anchoritem dst="noAlarmLabel" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="" srcEdge="RIGHT"/>
-                <anchoritem dst="noAlarmLabel" dstEdge="TOP" spacing="15.8un" src="" srcEdge="TOP"/>
-                <anchoritem dst="noAlarmLabel" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="alarmListView" srcEdge="LEFT"/>
+                <anchoritem dst="alarmListView" dstEdge="BOTTOM" spacing="-0un" src="" srcEdge="BOTTOM"/>
+                <anchoritem dst="verticalDivider" dstEdge="RIGHT" spacing="-8.80597un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="verticalDivider" dstEdge="BOTTOM" spacing="-2.84328un" src="" srcEdge="BOTTOM"/>
+                <anchoritem dst="horizontalDivider" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="horizontalDivider" dstEdge="TOP" spacing="expr(var(hb-param-margin-gene-bottom) )" src="placeLabel" srcEdge="BOTTOM"/>
+                <anchoritem dst="horizontalDivider" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="placeLabel" dstEdge="LEFT" spacing="expr(var(hb-param-margin-gene-left) )" src="" srcEdge="LEFT"/>
+                <anchoritem dst="placeLabel" dstEdge="TOP" spacing="expr(var(hb-param-margin-gene-middle-vertical) )" src="dateLabel" srcEdge="BOTTOM"/>
+                <anchoritem dst="placeLabel" dstEdge="RIGHT" spacing="expr(-var(hb-param-margin-gene-right) )" src="" srcEdge="RIGHT"/>
             </layout>
         </widget>
-        <widget name="dateLabel" type="HbLabel">
-            <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
-        </widget>
         <widget name="placeLabel" type="HbLabel">
-            <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+            <sizehint height="expr(var(hb-param-text-height-tiny) )" type="PREFERRED" width="expr(var(hb-param-screen-short-edge) - 4un  )"/>
+            <enums name="alignment" value="AlignAbsolute|AlignVCenter|AlignHCenter"/>
         </widget>
         <widget name="clockWidget" plugin="clockwidgetplugin" type="ClockWidget">
-            <sizehint height="22.3un" type="PREFERRED" width="22.3un"/>
+            <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+            <sizehint height="31.9un" type="FIXED" width="31.9un"/>
+        </widget>
+        <widget name="horizontalDivider" type="HbLabel">
+            <icon iconName="qtg_graf_divider_h_thin" name="icon"/>
+            <enums name="aspectRatioMode" value="IgnoreAspectRatio"/>
+            <sizepolicy horizontalPolicy="Minimum" horizontalStretch="1" verticalPolicy="Fixed" verticalStretch="0"/>
+            <sizehint height="0.5un" type="PREFERRED" width="21.49254un"/>
+        </widget>
+        <widget name="verticalDivider" type="HbLabel">
+            <bool name="visible" value="TRUE"/>
         </widget>
     </section>
-    <section name="portrait">
-        <widget name="noAlarmLabel" type="HbLabel">
-            <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
-            <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
-            <sizehint height="var(hb-param-text-height-primary)" type="PREFERRED" width="49.7un"/>
-            <sizehint height="var(hb-param-text-height-primary)" type="MINIMUM" width="37.7un"/>
-            <sizehint height="var(hb-param-text-height-primary)" type="MAXIMUM" width="49.7un"/>
+    <section name="landscape">
+        <widget name="alarmListView" type="HbListView">
+            <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Expanding" verticalStretch="0"/>
+            <sizehint type="MAXIMUM" width="53.73un"/>
         </widget>
         <widget name="clockMainViewWidget" role="HbView:widget" type="HbWidget">
             <layout type="anchor">
-                <anchoritem dst="clockWidget" dstEdge="CENTERH" spacing="0un" src="" srcEdge="CENTERH"/>
-                <anchoritem dst="dateLabel" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
-                <anchoritem dst="dateLabel" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="" srcEdge="RIGHT"/>
-                <anchoritem dst="dateLabel" dstEdge="TOP" spacing="var(hb-param-margin-gene-top)" src="clockWidget" srcEdge="BOTTOM"/>
-                <anchoritem dst="placeLabel" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
-                <anchoritem dst="placeLabel" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="" srcEdge="RIGHT"/>
-                <anchoritem dst="placeLabel" dstEdge="TOP" spacing="var(hb-param-margin-gene-middle-vertical)" src="dateLabel" srcEdge="BOTTOM"/>
-                <anchoritem dst="alarmListView" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="alarmListView" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
                 <anchoritem dst="alarmListView" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
-                <anchoritem dst="alarmListView" dstEdge="TOP" spacing="var(hb-param-margin-gene-bottom)" src="placeLabel" srcEdge="BOTTOM"/>
                 <anchoritem dst="alarmListView" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
-                <anchoritem dst="clockWidget" dstEdge="TOP" spacing="var(hb-param-margin-gene-top)" src="" srcEdge="TOP"/>
-                <anchoritem dst="noAlarmLabel" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
-                <anchoritem dst="noAlarmLabel" dstEdge="TOP" spacing="17.8un" src="placeLabel" srcEdge="BOTTOM"/>
+                <anchoritem dst="noAlarmLabel" dstEdge="LEFT" spacing="expr(var(hb-param-margin-gene-left) )" src="alarmListView" srcEdge="LEFT"/>
+                <anchoritem dst="noAlarmLabel" dstEdge="CENTERV" spacing="0un" src="alarmListView" srcEdge="CENTERV"/>
+                <anchoritem dst="clockWidget" dstEdge="TOP" spacing="expr(var(hb-param-margin-gene-top) )" src="" srcEdge="TOP"/>
+                <anchoritem dst="clockWidget" dstEdge="CENTERH" spacing="0un" src="dateLabel" srcEdge="CENTERH"/>
+                <anchoritem dst="dateLabel" dstEdge="LEFT" spacing="expr(var(hb-param-margin-gene-left) )" src="" srcEdge="LEFT"/>
+                <anchoritem dst="dateLabel" dstEdge="TOP" spacing="expr(var(hb-param-margin-gene-bottom) )" src="clockWidget" srcEdge="BOTTOM"/>
+                <anchoritem dst="dateLabel" dstEdge="RIGHT" spacing="expr(-var(hb-param-margin-gene-right) )" src="verticalDivider" srcEdge="LEFT"/>
+                <anchoritem dst="verticalDivider" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+                <anchoritem dst="verticalDivider" dstEdge="RIGHT" spacing="0un" src="alarmListView" srcEdge="LEFT"/>
+                <anchoritem dst="verticalDivider" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+                <anchoritem dst="horizontalDivider" dstEdge="RIGHT" spacing="-17.16418un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="horizontalDivider" dstEdge="BOTTOM" spacing="-7.17164un" src="" srcEdge="BOTTOM"/>
+                <anchoritem dst="placeLabel" dstEdge="LEFT" spacing="expr(var(hb-param-margin-gene-left) )" src="" srcEdge="LEFT"/>
+                <anchoritem dst="placeLabel" dstEdge="TOP" spacing="expr(var(hb-param-margin-gene-middle-vertical) )" src="dateLabel" srcEdge="BOTTOM"/>
+                <anchoritem dst="placeLabel" dstEdge="RIGHT" spacing="expr(-var(hb-param-margin-gene-right) )" src="alarmListView" srcEdge="LEFT"/>
+                <anchoritem dst="placeLabel" dstEdge="BOTTOM" spacing="expr(-var(hb-param-margin-gene-bottom) )" src="" srcEdge="BOTTOM"/>
             </layout>
         </widget>
-        <widget name="dateLabel" type="HbLabel">
-            <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
-        </widget>
         <widget name="placeLabel" type="HbLabel">
-            <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+            <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+            <enums name="alignment" value="AlignAbsolute|AlignVCenter|AlignHCenter"/>
         </widget>
         <widget name="clockWidget" plugin="clockwidgetplugin" type="ClockWidget">
-            <sizehint height="31.9un" type="PREFERRED" width="31.9un"/>
+            <sizehint height="expr(var(hb-param-screen-short-edge)  - var(hb-param-widget-chrome-height) - var(hb-param-widget-toolbar-height) - 12.75un )" type="PREFERRED" width="expr(var(hb-param-screen-short-edge)  - var(hb-param-widget-chrome-height) - var(hb-param-widget-toolbar-height) - 12.75un )"/>
+        </widget>
+        <widget name="horizontalDivider" type="HbLabel">
+            <sizehint height="0.5un" type="PREFERRED" width="21.49254un"/>
+            <bool name="visible" value="TRUE"/>
+        </widget>
+        <widget name="verticalDivider" type="HbLabel">
+            <icon iconName="qtg_graf_divider_v_thin" name="icon"/>
+            <enums name="aspectRatioMode" value="IgnoreAspectRatio"/>
+            <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+            <sizehint type="PREFERRED" width="0.1un"/>
         </widget>
     </section>
-    <metadata activeUIState="landscape" display="NHD landscape" unit="un">
+    <metadata activeUIState="portrait" display="NHD-3.2-inch_portrait" unit="un">
         <uistate name="Common ui state" sections="#common"/>
         <uistate name="portrait" sections="#common portrait"/>
         <uistate name="landscape" sections="#common landscape"/>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockviews/eabi/clockviewsu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,33 @@
+EXPORTS
+	_ZN13ClockMainView19setupAfterViewReadyEv @ 1 NONAME
+	_ZN13ClockMainView9setupViewER20ClockAppControllerIfP14ClockDocLoader @ 2 NONAME
+	_ZN13ClockMainViewC1EP13QGraphicsItem @ 3 NONAME
+	_ZN13ClockMainViewC2EP13QGraphicsItem @ 4 NONAME
+	_ZN13ClockMainViewD0Ev @ 5 NONAME
+	_ZN13ClockMainViewD1Ev @ 6 NONAME
+	_ZN13ClockMainViewD2Ev @ 7 NONAME
+	_ZN14ClockWorldView9setupViewER20ClockAppControllerIfP14ClockDocLoader @ 8 NONAME
+	_ZN14ClockWorldViewC1EP13QGraphicsItem @ 9 NONAME
+	_ZN14ClockWorldViewC2EP13QGraphicsItem @ 10 NONAME
+	_ZN14ClockWorldViewD0Ev @ 11 NONAME
+	_ZN14ClockWorldViewD1Ev @ 12 NONAME
+	_ZN14ClockWorldViewD2Ev @ 13 NONAME
+	_ZN17ClockHomeCityItemC1EP13QGraphicsItem @ 14 NONAME
+	_ZN17ClockHomeCityItemC2EP13QGraphicsItem @ 15 NONAME
+	_ZN17ClockHomeCityItemD0Ev @ 16 NONAME
+	_ZN17ClockHomeCityItemD1Ev @ 17 NONAME
+	_ZN17ClockHomeCityItemD2Ev @ 18 NONAME
+	_ZThn16_N13ClockMainViewD0Ev @ 19 NONAME
+	_ZThn16_N13ClockMainViewD1Ev @ 20 NONAME
+	_ZThn16_N14ClockWorldViewD0Ev @ 21 NONAME
+	_ZThn16_N14ClockWorldViewD1Ev @ 22 NONAME
+	_ZThn16_N17ClockHomeCityItemD0Ev @ 23 NONAME
+	_ZThn16_N17ClockHomeCityItemD1Ev @ 24 NONAME
+	_ZThn8_N13ClockMainViewD0Ev @ 25 NONAME
+	_ZThn8_N13ClockMainViewD1Ev @ 26 NONAME
+	_ZThn8_N14ClockWorldViewD0Ev @ 27 NONAME
+	_ZThn8_N14ClockWorldViewD1Ev @ 28 NONAME
+	_ZThn8_N17ClockHomeCityItemD0Ev @ 29 NONAME
+	_ZThn8_N17ClockHomeCityItemD1Ev @ 30 NONAME
+	_ZN13ClockMainView17captureScreenShotEb @ 31 NONAME
+
--- a/clock/clockui/clockviews/inc/clockmainview.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockviews/inc/clockmainview.h	Thu Jul 22 16:32:51 2010 +0100
@@ -53,6 +53,7 @@
 	CLOCKVIEWS_EXPORT void setupView(
 			ClockAppControllerIf &controllerIf, ClockDocLoader *docLoader);
 	CLOCKVIEWS_EXPORT void setupAfterViewReady();
+	CLOCKVIEWS_EXPORT void captureScreenShot(bool captureScreenShot = false);
 
 private slots:
 	void handleAlarmStatusChanged(int row);
@@ -69,6 +70,7 @@
 	void checkOrientationAndLoadSection(Qt::Orientation orientation);
 	void selectedMenuAction(HbAction *action);
 	void handleMenuClosed();
+    void saveActivity();
 
 private:
 	void setmodel();
@@ -88,6 +90,8 @@
 
 	HbLabel *mDayLabel;
 	HbLabel *mPlaceLabel;
+	HbLabel *mHorizontalDivider;
+	HbLabel *mVerticalDivider;
 	ClockWidget *mClockWidget;
 	HbLabel *mNoAlarmLabel;
 	HbListView *mAlarmList;
@@ -99,9 +103,11 @@
 	ClockAppControllerIf *mAppControllerIf;
 	ClockAlarmListModel *mAlarmListModel;
 
-	int mSelectedItem;
-	bool mHideAlarmList;
-	bool mIsLongTop;
+	int            mSelectedItem;
+	bool           mHideAlarmList;
+	bool           mIsLongTop;
+	bool           mIsScreenShotCapruted; // check if the screenshot captured is valid
+	QVariantHash   mScreenShot; // screenshot
 };
 
 #endif // CLOCKMAINVIEW_H
--- a/clock/clockui/clockviews/inc/clockviewsdefines.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockviews/inc/clockviewsdefines.h	Thu Jul 22 16:32:51 2010 +0100
@@ -28,6 +28,9 @@
 #   define CLOCKVIEWS_EXPORT Q_DECL_IMPORT
 #endif
 
+const QString clockMainView = "ClockMainView"; // Activity Id for clock activity to be save
+// in Activity Manager DB
+
 #endif // CLOCKVIEWSDEFINES_H
 
 // End of file  --Don't remove this.
--- a/clock/clockui/clockviews/src/clockhomecityitem.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockviews/src/clockhomecityitem.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -44,9 +44,10 @@
 	// Path for widgetml and css files.
 	HbStyleLoader::registerFilePath(":/style/clockhomecityitem.css");
 	HbStyleLoader::registerFilePath(":/style/clockhomecityitem.widgetml");
+	HbStyleLoader::registerFilePath(":/style/clockhomecityitem_color.css");
 	
 	// Set the frame to the homecity widget.
-	HbFrameItem *frame = new HbFrameItem();
+	HbFrameItem *frame = new HbFrameItem(this);
 	frame->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
 	frame->frameDrawer().setFrameGraphicsName("qtg_fr_groupbox");
 	setBackgroundItem(frame->graphicsItem(), -2);
@@ -60,6 +61,7 @@
 {
 	HbStyleLoader::unregisterFilePath(":/style/clockhomecityitem.css");
 	HbStyleLoader::unregisterFilePath(":/style/clockhomecityitem.widgetml");
+	HbStyleLoader::unregisterFilePath(":/style/clockhomecityitem_color.css");
 }
 
 /*!
--- a/clock/clockui/clockviews/src/clockmainview.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockviews/src/clockmainview.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -26,6 +26,8 @@
 #include <HbListView>
 #include <HbNotificationDialog>
 #include <HbStyleLoader>
+#include <hbapplication> // hbapplication
+#include <hbactivitymanager> // activity manager
 
 // User includes
 #include "clockmainview.h"
@@ -56,7 +58,8 @@
 :HbView(parent),
  mAlarmList(0),
  mSelectedItem(-1),
- mIsLongTop(false)
+ mIsLongTop(false),
+ mIsScreenShotCapruted(false)
 {
 	// Nothing yet.
 }
@@ -78,6 +81,8 @@
 			":/style/clockalarmlistitemprototype.css");
 	HbStyleLoader::unregisterFilePath(
 			":/style/clockalarmlistitemprototype.widgetml");
+	HbStyleLoader::unregisterFilePath(
+			":/style/clockalarmlistitemprototype_color.css");
 
 }
 
@@ -122,6 +127,12 @@
 
 	bool loadSuccess = false;
 	Qt::Orientation currentOrienation = window->orientation();
+	
+	// Get the dividers.
+	mHorizontalDivider = static_cast<HbLabel *> (
+			mDocLoader->findObject("horizontalDivider"));
+	mVerticalDivider = static_cast<HbLabel *> (
+				mDocLoader->findObject("verticalDivider"));
 
 	// Get the "No alarm set" label.
 	mNoAlarmLabel = qobject_cast<HbLabel *> (
@@ -144,6 +155,8 @@
 	HbStyleLoader::registerFilePath(":/style/clockalarmlistitemprototype.css");
 	HbStyleLoader::registerFilePath(
 			":/style/clockalarmlistitemprototype.widgetml");
+	HbStyleLoader::registerFilePath(
+			":/style/clockalarmlistitemprototype_color.css");
 	setmodel();
 
 	// Load the correct section based on orientation.
@@ -152,11 +165,15 @@
 				CLOCK_MAIN_VIEW_DOCML,
 				CLOCK_MAIN_VIEW_PORTRAIT_SECTION,
 				&loadSuccess);
+		mHorizontalDivider->setVisible(true);
+		mVerticalDivider->setVisible(false);
 	} else {
 		mDocLoader->load(
 				CLOCK_MAIN_VIEW_DOCML,
 				CLOCK_MAIN_VIEW_LANDSCAPE_SECTION,
 				&loadSuccess);
+		mHorizontalDivider->setVisible(false);
+		mVerticalDivider->setVisible(true);
 	}
 	if (loadSuccess) {
 		if (0 == alarmCount) {
@@ -167,14 +184,8 @@
 		}
 	}
 
-	mDayLabel = static_cast<HbLabel *> (
-			mDocLoader->findObject("dateLabel"));
-
-	mPlaceLabel = static_cast<HbLabel *> (
-			mDocLoader->findObject("placeLabel"));
-
-	
-
+	mDayLabel = static_cast<HbLabel *> (mDocLoader->findObject("dateLabel"));
+	mPlaceLabel = static_cast<HbLabel *> (mDocLoader->findObject("placeLabel"));
 	mClockWidget = static_cast<ClockWidget*> (
 			mDocLoader->findObject(CLOCK_WIDGET));
 
@@ -189,6 +200,18 @@
 	connect(
 			window, SIGNAL(orientationChanged(Qt::Orientation)),
 			this, SLOT(checkOrientationAndLoadSection(Qt::Orientation)));
+	
+    // Get a pointer to activity Manager
+    HbActivityManager* activityManager = qobject_cast<HbApplication*>(qApp)->activityManager();
+  
+    // clean up any previous versions of this activity from the activity manager.
+    // ignore return value as the first boot would always return a false
+    // bool declared on for debugging purpose
+    bool ok = activityManager->removeActivity(clockMainView);
+
+	// connect for the aboutToQuit events on application Exit as to call saveActivity
+    connect(qobject_cast<HbApplication*>(qApp), SIGNAL(aboutToQuit()), this, SLOT(saveActivity()));
+
 }
 
 /*!
@@ -307,6 +330,7 @@
 void ClockMainView::displayWorldClockView()
 {
 	mAppControllerIf->switchToView(WorldClock);
+	// no need to capture the screenshot here as it's done in ClockViewManager::showView
 
 }
 
@@ -318,6 +342,9 @@
 {
 	ClockAlarmEditor *alarmEditor = new ClockAlarmEditor(*mAlarmClient);
 	alarmEditor->showAlarmEditor();
+	// capture screenshot for future use, if application
+	// is exited/Quit from alarmEditor
+	captureScreenShot(true);
 }
 
 /*!
@@ -329,6 +356,9 @@
 	// Create the settings view.
 	ClockSettingsView *settingsView = new ClockSettingsView(this);
 	settingsView->loadSettingsView();
+	// capture screenshot for future use, if application
+	// is exited/Quit from alarmEditor
+	captureScreenShot(true);
 }
 
 /*!
@@ -349,6 +379,9 @@
 		ClockAlarmEditor *alarmEditor = new ClockAlarmEditor(
 				*mAlarmClient, alarmId);
 		alarmEditor->showAlarmEditor();
+		// capture screenshot for future use, if application 
+		// is exited/Quit from alarmEditor
+		captureScreenShot(true);
 	}
 }
 
@@ -389,6 +422,8 @@
 	// Show the menu.
 	itemContextMenu->open(this, SLOT(selectedMenuAction(HbAction*)));
 	itemContextMenu->setPreferredPos(coords);
+	itemContextMenu->setAttribute(Qt::WA_DeleteOnClose, true );
+	
 }
 
 /*!
@@ -512,6 +547,8 @@
  */
 void ClockMainView::handleAlarmListDisplay()
 {
+    // alarmEditor closed reset the captured screenshot, current view is main view now
+    captureScreenShot(false);
 	// Get the list of pending clock alarms from server.
 	QList<AlarmInfo> alarmInfoList;
 	QList<AlarmInfo> displayInfoList;
@@ -549,10 +586,14 @@
 		mDocLoader->load(
 				CLOCK_MAIN_VIEW_DOCML, CLOCK_MAIN_VIEW_LANDSCAPE_SECTION,
 				&success);
+		mHorizontalDivider->setVisible(false);
+		mVerticalDivider->setVisible(true);
 	} else {
 		mDocLoader->load(
 				CLOCK_MAIN_VIEW_DOCML, CLOCK_MAIN_VIEW_PORTRAIT_SECTION,
 				&success);
+		mHorizontalDivider->setVisible(true);
+		mVerticalDivider->setVisible(false);
 	}
 
 	if(success) {
@@ -654,7 +695,62 @@
  */
 void ClockMainView::updateClockWidget()
 {
+	QStringList clockType;
+    int index = mSettingsUtility->clockType(clockType);
+    int zeroIndex(0);
+    if(zeroIndex == index){
+    	mClockWidget->setClockType(ClockWidget::ClockTypeDigital);
+    } else {
+    	mClockWidget->setClockType(ClockWidget::ClockTypeAnalog);
+    }
+    
+    QStringList timeFormat;
+
+    if (zeroIndex == mSettingsUtility->timeFormat(timeFormat)) {
+    	mClockWidget->setTimeFormat(ClockWidget::TimeFormat24Hrs);
+    } else {
+    	mClockWidget->setTimeFormat(ClockWidget::TimeFormat12Hrs);
+    }
+
 	mClockWidget->updateTime();
 }
 
+/*!
+	CaptureScreenShot captures screen shot 
+	\param captureScreenShot bool to indicate if screenshot needs to be captured
+*/ 
+void ClockMainView::captureScreenShot(bool captureScreenShot)
+{
+	// check if screen shot needs to be captured
+    if (captureScreenShot) {
+        mScreenShot.clear();
+        mScreenShot.insert("screenshot", QPixmap::grabWidget(mainWindow(), mainWindow()->rect()));
+    }
+    mIsScreenShotCapruted = captureScreenShot; // set mIsScreenShotCapruted set validity of screenshot
+}
+
+/*!    
+	saveActivity saves main view as an activity 
+*/ 
+void ClockMainView::saveActivity()
+{
+   // Get a pointer to activity Manager
+   HbActivityManager* activityManager = qobject_cast<HbApplication*>(qApp)->activityManager();
+ 	// check if a valid screenshot is already captured
+   if (!mIsScreenShotCapruted)  {
+       mScreenShot.clear();
+       mScreenShot.insert("screenshot", QPixmap::grabWidget(mainWindow(), mainWindow()->rect()));
+   }
+ 
+   // save any data necessary to save the state
+   QByteArray serializedActivity;
+   QDataStream stream(&serializedActivity, QIODevice::WriteOnly | QIODevice::Append);
+   stream << MainView;
+ 
+   // add the activity to the activity manager
+   bool ok = activityManager->addActivity(clockMainView, serializedActivity, mScreenShot);
+   if ( !ok ) {
+       qFatal("Add failed" );
+   }
+}
 // End of file	--Don't remove.
--- a/clock/clockui/clockviews/src/clockworldview.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockviews/src/clockworldview.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -71,9 +71,13 @@
 		delete mDocLoader;
 		mDocLoader = 0;
 	}
+	if(mCityListModel){
+		delete mCityListModel;
+	}
+	
 	HbStyleLoader::unregisterFilePath(":/style/hblistviewitem.css");
-	HbStyleLoader::unregisterFilePath(
-			":/style/hblistviewitem.widgetml");
+	HbStyleLoader::unregisterFilePath(":/style/hblistviewitem.widgetml");
+	HbStyleLoader::unregisterFilePath(":/style/hblistviewitem_color.css");
 }
 
 /*!
@@ -125,8 +129,8 @@
 	mCityListView = qobject_cast<HbListView *> (
 			mDocLoader->findWidget(CLOCK_WORLD_CITYLIST));
 	HbStyleLoader::registerFilePath(":/style/hblistviewitem.css");
-	HbStyleLoader::registerFilePath(
-			":/style/hblistviewitem.widgetml");
+	HbStyleLoader::registerFilePath(":/style/hblistviewitem.widgetml");
+	HbStyleLoader::registerFilePath(":/style/hblistviewitem_color.css");
 	mCityListView->setLayoutName("citylist-portrait");
 	mCityListView->setModel(mCityListModel);
 	
@@ -244,13 +248,13 @@
 				mSettingsUtility->timeFormatString());
 		itemList.insert(value.setNum(ClockHomeCityItem::Time), timeInfo);
 
-		// TODO: Use the home city specific icons.
+		//Use the home city specific icons.
 		// Display day/night indicators.
 		QString dayNightIconPath = "";
 		if (isDay(dateTime)) {
-			dayNightIconPath = "qtg_large_clock";
+			dayNightIconPath = "qtg_large_clock_home";
 		} else {
-			dayNightIconPath = "qtg_large_clock";
+			dayNightIconPath = "qtg_large_clock_night_home";
 		}
 		itemList.insert(value.setNum(
 				ClockHomeCityItem::DayNightIndicator), dayNightIconPath);
@@ -289,6 +293,7 @@
 	// Show the menu.
 	itemContextMenu->open(this, SLOT(selectedMenuAction(HbAction*)));
 	itemContextMenu->setPreferredPos(coords);
+	itemContextMenu->setAttribute( Qt::WA_DeleteOnClose,true);
 }
 
 /*!
@@ -660,7 +665,7 @@
 	if (isDay(dateTime)) {
 		dayNightIconPath = "qtg_large_clock";
 	} else {
-		dayNightIconPath = "qtg_large_clock";
+		dayNightIconPath = "qtg_large_clock_night";
 	}
 	decorationString.append(HbIcon(dayNightIconPath));
 
--- a/clock/clockui/clockwidget/bwins/clockwidgetu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-EXPORTS
-	?tr@ClockWidget@@SA?AVQString@@PBD0H@Z @ 1 NONAME ; class QString ClockWidget::tr(char const *, char const *, int)
-	?staticMetaObject@ClockWidget@@2UQMetaObject@@B @ 2 NONAME ; struct QMetaObject const ClockWidget::staticMetaObject
-	??1ClockWidget@@UAE@XZ @ 3 NONAME ; ClockWidget::~ClockWidget(void)
-	??0ClockWidget@@QAE@PAVQGraphicsItem@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 4 NONAME ; ClockWidget::ClockWidget(class QGraphicsItem *, class QFlags<enum Qt::WindowType>)
-	?qt_metacast@ClockWidget@@UAEPAXPBD@Z @ 5 NONAME ; void * ClockWidget::qt_metacast(char const *)
-	?updateTime@ClockWidget@@QAEXXZ @ 6 NONAME ; void ClockWidget::updateTime(void)
-	?setClockType@ClockWidget@@QAEXABW4ClockType@1@@Z @ 7 NONAME ; void ClockWidget::setClockType(enum ClockWidget::ClockType const &)
-	?metaObject@ClockWidget@@UBEPBUQMetaObject@@XZ @ 8 NONAME ; struct QMetaObject const * ClockWidget::metaObject(void) const
-	?loadClockWidget@ClockWidget@@QAEXXZ @ 9 NONAME ; void ClockWidget::loadClockWidget(void)
-	?trUtf8@ClockWidget@@SA?AVQString@@PBD0H@Z @ 10 NONAME ; class QString ClockWidget::trUtf8(char const *, char const *, int)
-	?tr@ClockWidget@@SA?AVQString@@PBD0@Z @ 11 NONAME ; class QString ClockWidget::tr(char const *, char const *)
-	??_EClockWidget@@UAE@I@Z @ 12 NONAME ; ClockWidget::~ClockWidget(unsigned int)
-	?trUtf8@ClockWidget@@SA?AVQString@@PBD0@Z @ 13 NONAME ; class QString ClockWidget::trUtf8(char const *, char const *)
-	?getStaticMetaObject@ClockWidget@@SAABUQMetaObject@@XZ @ 14 NONAME ; struct QMetaObject const & ClockWidget::getStaticMetaObject(void)
-	?qt_metacall@ClockWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 15 NONAME ; int ClockWidget::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?clockType@ClockWidget@@QBE?AW4ClockType@1@XZ @ 16 NONAME ; enum ClockWidget::ClockType ClockWidget::clockType(void) const
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetimpl/bwins/clockwidgetu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,21 @@
+EXPORTS
+	?tr@ClockWidget@@SA?AVQString@@PBD0H@Z @ 1 NONAME ; class QString ClockWidget::tr(char const *, char const *, int)
+	?staticMetaObject@ClockWidget@@2UQMetaObject@@B @ 2 NONAME ; struct QMetaObject const ClockWidget::staticMetaObject
+	??1ClockWidget@@UAE@XZ @ 3 NONAME ; ClockWidget::~ClockWidget(void)
+	??0ClockWidget@@QAE@PAVQGraphicsItem@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 4 NONAME ; ClockWidget::ClockWidget(class QGraphicsItem *, class QFlags<enum Qt::WindowType>)
+	?qt_metacast@ClockWidget@@UAEPAXPBD@Z @ 5 NONAME ; void * ClockWidget::qt_metacast(char const *)
+	?updateTime@ClockWidget@@QAEXXZ @ 6 NONAME ; void ClockWidget::updateTime(void)
+	?setClockType@ClockWidget@@QAEXABW4ClockType@1@@Z @ 7 NONAME ; void ClockWidget::setClockType(enum ClockWidget::ClockType const &)
+	?metaObject@ClockWidget@@UBEPBUQMetaObject@@XZ @ 8 NONAME ; struct QMetaObject const * ClockWidget::metaObject(void) const
+	?loadClockWidget@ClockWidget@@QAEXXZ @ 9 NONAME ; void ClockWidget::loadClockWidget(void)
+	?trUtf8@ClockWidget@@SA?AVQString@@PBD0H@Z @ 10 NONAME ; class QString ClockWidget::trUtf8(char const *, char const *, int)
+	?tr@ClockWidget@@SA?AVQString@@PBD0@Z @ 11 NONAME ; class QString ClockWidget::tr(char const *, char const *)
+	??_EClockWidget@@UAE@I@Z @ 12 NONAME ; ClockWidget::~ClockWidget(unsigned int)
+	?trUtf8@ClockWidget@@SA?AVQString@@PBD0@Z @ 13 NONAME ; class QString ClockWidget::trUtf8(char const *, char const *)
+	?getStaticMetaObject@ClockWidget@@SAABUQMetaObject@@XZ @ 14 NONAME ; struct QMetaObject const & ClockWidget::getStaticMetaObject(void)
+	?qt_metacall@ClockWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 15 NONAME ; int ClockWidget::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?clockType@ClockWidget@@QBE?AW4ClockType@1@XZ @ 16 NONAME ; enum ClockWidget::ClockType ClockWidget::clockType(void) const
+	?updateClockWidget@ClockWidget@@AAEXXZ @ 17 NONAME ; void ClockWidget::updateClockWidget(void)
+	?timeFormat@ClockWidget@@QBE?AW4TimeFormat@1@XZ @ 18 NONAME ; enum ClockWidget::TimeFormat ClockWidget::timeFormat(void) const
+	?setTimeFormat@ClockWidget@@QAEXABW4TimeFormat@1@@Z @ 19 NONAME ; void ClockWidget::setTimeFormat(enum ClockWidget::TimeFormat const &)
+
--- a/clock/clockui/clockwidget/clockwidgetimpl/clockwidgetimpl.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockwidget/clockwidgetimpl/clockwidgetimpl.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -40,12 +40,14 @@
 
 SOURCES += \
 		clockwidget.cpp \
-		analogclockwidget.cpp 
+		analogclockwidget.cpp \
+		digitalclockwidget.cpp
 
 HEADERS += \
         clockwidgetdefines.h \ 
 		clockwidget.h \
-		analogclockwidget.h 
+		analogclockwidget.h \
+		digitalclockwidget.h
             
 symbian {
     TARGET.UID3 = 0x2002E715
--- a/clock/clockui/clockwidget/clockwidgetimpl/clockwidgetimpl.qrc	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockwidget/clockwidgetimpl/clockwidgetimpl.qrc	Thu Jul 22 16:32:51 2010 +0100
@@ -2,5 +2,9 @@
     <qresource prefix="/resource" >
         <file alias="analogclockwidget.widgetml">resource/analogclockwidget.widgetml</file>
         <file alias="analogclockwidget.css">resource/analogclockwidget.css</file>
+        <file alias="digitalclockwidget.widgetml">resource/digitalclockwidget.widgetml</file>
+        <file alias="digitalclockwidget.css">resource/digitalclockwidget.css</file>
+        <file alias="digitalclockwidget_color.css">resource/digitalclockwidget_color.css</file>
+	
     </qresource>
 </RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetimpl/eabi/clockwidgetu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,25 @@
+EXPORTS
+	_ZN11ClockWidget10updateTimeEv @ 1 NONAME
+	_ZN11ClockWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 2 NONAME
+	_ZN11ClockWidget11qt_metacastEPKc @ 3 NONAME
+	_ZN11ClockWidget12setClockTypeERKNS_9ClockTypeE @ 4 NONAME
+	_ZN11ClockWidget15loadClockWidgetEv @ 5 NONAME
+	_ZN11ClockWidget16staticMetaObjectE @ 6 NONAME DATA 16
+	_ZN11ClockWidget19getStaticMetaObjectEv @ 7 NONAME
+	_ZN11ClockWidgetC1EP13QGraphicsItem6QFlagsIN2Qt10WindowTypeEE @ 8 NONAME
+	_ZN11ClockWidgetC2EP13QGraphicsItem6QFlagsIN2Qt10WindowTypeEE @ 9 NONAME
+	_ZN11ClockWidgetD0Ev @ 10 NONAME
+	_ZN11ClockWidgetD1Ev @ 11 NONAME
+	_ZN11ClockWidgetD2Ev @ 12 NONAME
+	_ZNK11ClockWidget10metaObjectEv @ 13 NONAME
+	_ZNK11ClockWidget9clockTypeEv @ 14 NONAME
+	_ZTI11ClockWidget @ 15 NONAME
+	_ZTV11ClockWidget @ 16 NONAME
+	_ZThn16_N11ClockWidgetD0Ev @ 17 NONAME
+	_ZThn16_N11ClockWidgetD1Ev @ 18 NONAME
+	_ZThn8_N11ClockWidgetD0Ev @ 19 NONAME
+	_ZThn8_N11ClockWidgetD1Ev @ 20 NONAME
+	_ZN11ClockWidget13setTimeFormatERKNS_10TimeFormatE @ 21 NONAME
+	_ZN11ClockWidget17updateClockWidgetEv @ 22 NONAME
+	_ZNK11ClockWidget10timeFormatEv @ 23 NONAME
+
--- a/clock/clockui/clockwidget/clockwidgetimpl/inc/clockwidget.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockwidget/clockwidgetimpl/inc/clockwidget.h	Thu Jul 22 16:32:51 2010 +0100
@@ -20,7 +20,7 @@
 
 // System includes
 #include <hbwidget.h>
-
+#include <QPointer>
 // User includes
 #include "clockwidgetdefines.h"
 
@@ -28,11 +28,13 @@
 
 class QGraphicsLinearLayout;
 class AnalogClockWidget;
+class DigitalClockWidget;
 
 class CLOCKWIDGET_EXPORT  ClockWidget : public HbWidget
 {
     Q_OBJECT
     Q_PROPERTY(ClockType clockType READ clockType WRITE setClockType)
+	Q_PROPERTY(TimeFormat timeFormat READ timeFormat WRITE setTimeFormat)
 
 public:
     enum ClockType
@@ -40,20 +42,31 @@
         ClockTypeAnalog,
         ClockTypeDigital
     };
+	enum TimeFormat
+	{
+		TimeFormat12Hrs,
+		TimeFormat24Hrs
+	};
 
     ClockWidget(QGraphicsItem *parent = 0, Qt::WindowFlags flags = 0);
     ~ClockWidget();
     ClockType clockType() const;
     void setClockType(const ClockType &type);
     void loadClockWidget();
+    TimeFormat timeFormat() const;
+	void setTimeFormat(const TimeFormat &timeFormat);
 
 public slots:
     void updateTime();
     
 private:
-    ClockType mClockType;
-    AnalogClockWidget *mAnalogClock;
-    QGraphicsLinearLayout *mLayout;
+    void updateClockWidget();
+private:
+    ClockType                       mClockType;
+    TimeFormat                      mTimeFormat;
+    QPointer<AnalogClockWidget>     mAnalogClock;
+    QPointer<DigitalClockWidget>    mDigitalClock;
+    QGraphicsLinearLayout           *mLayout;
 };
 
 #endif // CLOCKWIDGET_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetimpl/inc/digitalclockwidget.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,64 @@
+/*
+* 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:  DigitalClockWidget
+*
+*/
+
+#ifndef DIGITALCLOCKWIDGET_H
+#define DIGITALCLOCKWIDGET_H
+
+// System includes
+#include <HbWidget>
+#include <QPointer>
+
+// User includes
+#include "clockwidgetdefines.h"
+
+// Forward declarations
+class QTimer;
+class HbLabel;
+class HbTextItem;
+
+class DigitalClockWidget : public HbWidget
+{
+    Q_OBJECT
+
+public:
+     DigitalClockWidget(bool useAmPm = true, QGraphicsItem *parent = 0);
+    ~DigitalClockWidget();
+
+signals:
+    void clockTapped();
+
+public slots:
+    void tick();
+    void setAmPm(bool useAmPm);
+
+protected:
+    void resizeEvent(QGraphicsSceneResizeEvent *event);
+
+private:
+    void createPrimitives();
+
+public:
+    void updatePrimitives();
+
+private:
+    QPointer<QTimer>        mTimer;
+    QPointer<HbTextItem>    mClockLabel;
+    QPointer<HbTextItem>    mAmPmLabel;
+    bool                    mUseAmPm;
+};
+
+#endif // DIGITALCLOCKWIDGET_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetimpl/resource/digitalclockwidget.css	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,25 @@
+DigitalClockWidget {
+  layout: digital_clock_layout;
+}
+
+DigitalClockWidget::clockLabel {
+  size-policy: expanding expanding;
+  text-align: center center;
+  font-variant:primary; 
+  text-height: 14.7un;
+}
+
+DigitalClockWidget::clockLabel:landscape {
+  text-height: 9.8un;
+}
+
+DigitalClockWidget::amPmLabel {
+  size-policy: expanding expanding;
+  text-align: left;
+  font-variant:primary;  
+  bottom: -var(hb-param-margin-gene-middle-vertical);
+  text-height: var(hb-param-text-height-primary);
+}
+DigitalClockWidget::amPmLabel:landscape {
+	font-variant:secondary;
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetimpl/resource/digitalclockwidget.widgetml	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,11 @@
+<hbwidget version="0.1" type="DigitalClockWidget">
+    <layout name="digital_clock_layout" type="mesh">       
+
+        <meshitem src="clockLabel" srcEdge="CENTERV" dst="" dstEdge="CENTERV" />
+        <meshitem src="clockLabel" srcEdge="CENTERH" dst="" dstEdge="CENTERH" />
+ 
+ 				<meshitem src="amPmLabel" srcEdge="BOTTOM" dst="clockLabel" dstEdge="TOP" />
+        <meshitem src="amPmLabel" srcEdge="LEFT" dst="clockLabel" dstEdge="LEFT" />
+       
+    </layout>    
+</hbwidget>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetimpl/resource/digitalclockwidget_color.css	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,9 @@
+
+
+DigitalClockWidget::clockLabel{
+    color: var(qtc_list_item_content_normal);
+}
+
+DigitalClockWidget::amPmLabel{
+    color: var(qtc_list_item_content_normal);
+}
\ No newline at end of file
--- a/clock/clockui/clockwidget/clockwidgetimpl/src/analogclockwidget.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockwidget/clockwidgetimpl/src/analogclockwidget.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -41,7 +41,9 @@
 AnalogClockWidget::AnalogClockWidget(QGraphicsItem *parent)
     : HbWidget(parent)
 {
-    HbStyleLoader::registerFilePath(":/resource");
+    bool result = HbStyleLoader::registerFilePath(":/resource/analogclockwidget.widgetml");
+    result = HbStyleLoader::registerFilePath(":/resource/analogclockwidget.css");
+        
     updatePrimitives();
     mTimer = new QTimer(this);
     connect(mTimer, SIGNAL(timeout()), SLOT(tick()));
--- a/clock/clockui/clockwidget/clockwidgetimpl/src/clockwidget.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/clockui/clockwidget/clockwidgetimpl/src/clockwidget.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -21,6 +21,7 @@
 // User includes
 #include "clockwidget.h"
 #include "analogclockwidget.h"
+#include "digitalclockwidget.h"
 
 /*!
     \class ClockWidget
@@ -33,7 +34,7 @@
  */
 ClockWidget::ClockWidget(QGraphicsItem *parent, Qt::WindowFlags flags)
     : HbWidget(parent, flags),
-      mClockType(ClockTypeAnalog)
+      mClockType(ClockTypeDigital)
 {    
     loadClockWidget();
 }
@@ -59,10 +60,16 @@
 */
 void ClockWidget::setClockType(const ClockType &type)
 {
-    if (type == ClockTypeDigital) {
-        mClockType = ClockTypeDigital;
+    if (type == ClockTypeAnalog) {
+        if(type != mClockType){
+	        mClockType = ClockTypeAnalog;
+	        updateClockWidget();
+        }
     } else {
-        mClockType = ClockTypeAnalog;
+        if(type != mClockType){
+            mClockType = ClockTypeDigital;
+            updateClockWidget();
+        }      
     }
 }
 
@@ -73,6 +80,8 @@
 {
     if (mClockType == ClockTypeAnalog) {  
         mAnalogClock->tick();    
+    } else {
+    	mDigitalClock->updatePrimitives();
     }
 }
 
@@ -81,13 +90,57 @@
 */
 void ClockWidget::loadClockWidget()
 {
+    mLayout = new QGraphicsLinearLayout(Qt::Vertical);
+    mLayout->setContentsMargins(0,0,0,0); 
+
     if (mClockType == ClockTypeAnalog) {
-        mAnalogClock = new AnalogClockWidget(this);        
-        mLayout = new QGraphicsLinearLayout(Qt::Vertical);
-        mLayout->setContentsMargins(0,0,0,0);
+	    mAnalogClock = new AnalogClockWidget(this);        
+	    mLayout->addItem(mAnalogClock);
+    } else {
+	    bool useAmPm = false;
+	    mDigitalClock = new DigitalClockWidget(useAmPm, this);
+	    mLayout->addItem(mDigitalClock);
+    }
+    setLayout(mLayout);  
+}
+
+/*!
+    Constructs the clockwidget based upon its type.
+*/
+void ClockWidget::updateClockWidget()
+{
+    if (mClockType == ClockTypeAnalog) {        
+        mLayout->removeItem(mDigitalClock);
+        delete mDigitalClock;
+        if (!mAnalogClock) {
+        	mAnalogClock = new AnalogClockWidget(this);
+        }
         mLayout->addItem(mAnalogClock);
-        setLayout(mLayout);
+    } else {
+        mLayout->removeItem(mAnalogClock);
+        delete mAnalogClock;
+        if(!mDigitalClock){
+        bool useAmPm = false; // find out this fronm the settings utility
+        mDigitalClock = new DigitalClockWidget(useAmPm, this);
+    }
+    mLayout->addItem(mDigitalClock);
+    }           
+}
+
+ClockWidget::TimeFormat ClockWidget::timeFormat() const
+{
+    return mTimeFormat;
+}
+
+void ClockWidget::setTimeFormat(const TimeFormat &timeFormat)
+{
+    if(mDigitalClock){
+	    mTimeFormat = timeFormat;
+		if (timeFormat == ClockWidget::TimeFormat12Hrs) {
+			mDigitalClock->setAmPm(true);
+		} else {
+			mDigitalClock->setAmPm(false);
+		}
     }
 }
-
 // End of file  --Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetimpl/src/digitalclockwidget.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,157 @@
+/*
+* 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:  DigitalClockWidget
+*
+*/
+
+// System includes
+#include <HbStyleLoader>
+#include <HbLabel>
+#include <HbTextItem>
+#include <hbextendedlocale>
+#include <QGraphicsSceneMouseEvent>
+#include <QSizePolicy>
+#include <QTimer>
+#include <QTime>
+
+// User includes
+#include "digitalclockwidget.h"
+
+// Constants
+const int clockUpdateInterval  (60000); // msec
+
+/*!
+    \class DigitalClockWidget
+
+    This class implements the digitalclock widget which gets displayed
+    in the clockmainview when the clocktype is set to digital type.
+*/
+
+/*!
+    Constructor.
+    \param useAmPm bool for setting 12 hour format
+    \param parent The parent of type QGraphicsItem.
+*/
+DigitalClockWidget::DigitalClockWidget(bool useAmPm, QGraphicsItem *parent)
+  : HbWidget(parent),
+    mUseAmPm(useAmPm)
+{
+    bool result = HbStyleLoader::registerFilePath(":/resource/digitalclockwidget.widgetml");
+    result = HbStyleLoader::registerFilePath(":/resource/digitalclockwidget.css");
+    result = HbStyleLoader::registerFilePath(":/resource/digitalclockwidget_color.css");
+
+    createPrimitives();
+    
+    mTimer = new QTimer(this);
+    connect(mTimer, SIGNAL(timeout()), SLOT(tick()));
+    
+    QTime time = QTime::currentTime();
+    int initialIntervalTime = (clockUpdateInterval - ( time.msec() + (time.second() * 1000)));
+    mTimer->start(initialIntervalTime);
+    
+}
+
+/*!
+    Destructor.
+*/
+DigitalClockWidget::~DigitalClockWidget()
+{   
+    mTimer->stop();
+    HbStyleLoader::unregisterFilePath(":/resource/digitalclockwidget.widgetml");
+    HbStyleLoader::unregisterFilePath(":/resource/digitalclockwidget.css");
+    HbStyleLoader::unregisterFilePath(":/resource/digitalclockwidget_color.css");
+
+}
+
+/*!
+    Updates clock visualization according to current time
+ */
+void DigitalClockWidget::tick()
+{
+    mTimer->setInterval(clockUpdateInterval);
+    updatePrimitives();
+    update();
+}
+
+/*!
+    Toggles time format
+ */
+void DigitalClockWidget::setAmPm(bool useAmPm)
+{
+    
+    bool old = mUseAmPm;
+    mUseAmPm = useAmPm;
+    
+    if (mUseAmPm != old) { // change am/pm label
+	    QTime time = QTime::currentTime();
+	    QString timeString;
+	    if (mUseAmPm) {
+	    	mAmPmLabel->setText(time.toString("ap")); // set am/pm label
+	    } else {
+	    	mAmPmLabel->setText(""); // set am/pm label as null
+	    }
+    }
+    
+}
+
+/*!
+    @copydoc HbWidget::resizeEvent()
+ */
+void DigitalClockWidget::resizeEvent(QGraphicsSceneResizeEvent *event)
+{
+    HbWidget::resizeEvent(event);
+}
+
+/*!
+    Creates all widget primitives.
+ */
+void DigitalClockWidget::createPrimitives()
+{
+    mClockLabel = new HbTextItem(this);    
+    mClockLabel->setTextWrapping( Hb::TextNoWrap );
+    HbStyle::setItemName(mClockLabel, QLatin1String("clockLabel"));
+    
+    mAmPmLabel = new HbTextItem(this);
+    mClockLabel->setTextWrapping( Hb::TextNoWrap );
+    HbStyle::setItemName(mAmPmLabel, QLatin1String("amPmLabel"));
+}
+
+/*!
+    @copydoc HbWidget::updatePrimitives()
+    updates all widget primitives
+ */
+void DigitalClockWidget::updatePrimitives()
+{
+
+    QTime time = QTime::currentTime();
+    QString timeString;
+    
+    if (mUseAmPm) {
+	    timeString = time.toString("hh:ap"); // covert time in 12 hours format
+	    timeString = timeString.section(":", 0, 0); // it would remove :ap section from timeString
+	    mAmPmLabel->setText(time.toString("ap")); // set am/pm label
+	} else {
+	    mAmPmLabel->setText(""); // set am/pm label as null
+	    timeString = time.toString("hh"); // append hour part
+    }
+
+    int index(1);
+    HbExtendedLocale locale;
+    QChar timeSeparator(locale.timeSeparator(index)) ;
+    timeString.append(timeSeparator); // append time separator
+    timeString.append(time.toString("mm")); //append minute part
+
+    mClockLabel->setText(timeString);
+
+}
--- a/clock/clockui/clockwidget/eabi/clockwidgetu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-EXPORTS
-	_ZN11ClockWidget10updateTimeEv @ 1 NONAME
-	_ZN11ClockWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 2 NONAME
-	_ZN11ClockWidget11qt_metacastEPKc @ 3 NONAME
-	_ZN11ClockWidget12setClockTypeERKNS_9ClockTypeE @ 4 NONAME
-	_ZN11ClockWidget15loadClockWidgetEv @ 5 NONAME
-	_ZN11ClockWidget16staticMetaObjectE @ 6 NONAME DATA 16
-	_ZN11ClockWidget19getStaticMetaObjectEv @ 7 NONAME
-	_ZN11ClockWidgetC1EP13QGraphicsItem6QFlagsIN2Qt10WindowTypeEE @ 8 NONAME
-	_ZN11ClockWidgetC2EP13QGraphicsItem6QFlagsIN2Qt10WindowTypeEE @ 9 NONAME
-	_ZN11ClockWidgetD0Ev @ 10 NONAME
-	_ZN11ClockWidgetD1Ev @ 11 NONAME
-	_ZN11ClockWidgetD2Ev @ 12 NONAME
-	_ZNK11ClockWidget10metaObjectEv @ 13 NONAME
-	_ZNK11ClockWidget9clockTypeEv @ 14 NONAME
-	_ZTI11ClockWidget @ 15 NONAME
-	_ZTV11ClockWidget @ 16 NONAME
-	_ZThn16_N11ClockWidgetD0Ev @ 17 NONAME
-	_ZThn16_N11ClockWidgetD1Ev @ 18 NONAME
-	_ZThn8_N11ClockWidgetD0Ev @ 19 NONAME
-	_ZThn8_N11ClockWidgetD1Ev @ 20 NONAME
-
--- a/clock/clockui/eabi/clockalarmeditoru.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-EXPORTS
-	_ZN16ClockAlarmEditor15showAlarmEditorEv @ 1 NONAME
-	_ZN16ClockAlarmEditorC1ER11AlarmClientiP7QObject @ 2 NONAME
-	_ZN16ClockAlarmEditorC2ER11AlarmClientiP7QObject @ 3 NONAME
-	_ZN16ClockAlarmEditorD0Ev @ 4 NONAME
-	_ZN16ClockAlarmEditorD1Ev @ 5 NONAME
-	_ZN16ClockAlarmEditorD2Ev @ 6 NONAME
-
--- a/clock/clockui/eabi/clockappcontrolleru.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-EXPORTS
-	_ZN18ClockAppControllerC1EP7QObject @ 1 NONAME
-	_ZN18ClockAppControllerC2EP7QObject @ 2 NONAME
-	_ZN18ClockAppControllerD0Ev @ 3 NONAME
-	_ZN18ClockAppControllerD1Ev @ 4 NONAME
-	_ZN18ClockAppControllerD2Ev @ 5 NONAME
-
--- a/clock/clockui/eabi/clockcityselectionlistu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-EXPORTS
-	_ZN22ClockCitySelectionList11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME
-	_ZN22ClockCitySelectionList11qt_metacastEPKc @ 2 NONAME
-	_ZN22ClockCitySelectionList12citySelectedE12LocationInfo @ 3 NONAME
-	_ZN22ClockCitySelectionList12showCityListEv @ 4 NONAME
-	_ZN22ClockCitySelectionList13closeCityListEv @ 5 NONAME
-	_ZN22ClockCitySelectionList16staticMetaObjectE @ 6 NONAME DATA 16
-	_ZN22ClockCitySelectionList19getStaticMetaObjectEv @ 7 NONAME
-	_ZN22ClockCitySelectionListC1EP14TimezoneClientP7QObject @ 8 NONAME
-	_ZN22ClockCitySelectionListC1EP7QObject @ 9 NONAME
-	_ZN22ClockCitySelectionListC2EP14TimezoneClientP7QObject @ 10 NONAME
-	_ZN22ClockCitySelectionListC2EP7QObject @ 11 NONAME
-	_ZNK22ClockCitySelectionList10metaObjectEv @ 12 NONAME
-	_ZTI22ClockCitySelectionList @ 13 NONAME
-	_ZTV22ClockCitySelectionList @ 14 NONAME
-
--- a/clock/clockui/eabi/clocksettingsviewu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-EXPORTS
-	_ZN17ClockSettingsView16loadSettingsViewEv @ 1 NONAME
-	_ZN17ClockSettingsViewC1EP7QObject @ 2 NONAME
-	_ZN17ClockSettingsViewC2EP7QObject @ 3 NONAME
-	_ZN17ClockSettingsViewD0Ev @ 4 NONAME
-	_ZN17ClockSettingsViewD1Ev @ 5 NONAME
-	_ZN17ClockSettingsViewD2Ev @ 6 NONAME
-
--- a/clock/clockui/eabi/clockviewmanageru.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-EXPORTS
-	_ZN16ClockViewManager8showViewE10ClockViews @ 1 NONAME
-	_ZN16ClockViewManagerC1ER20ClockAppControllerIfP7QObject @ 2 NONAME
-	_ZN16ClockViewManagerC2ER20ClockAppControllerIfP7QObject @ 3 NONAME
-	_ZN16ClockViewManagerD0Ev @ 4 NONAME
-	_ZN16ClockViewManagerD1Ev @ 5 NONAME
-	_ZN16ClockViewManagerD2Ev @ 6 NONAME
-
--- a/clock/clockui/eabi/clockviewsu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-EXPORTS
-	_ZN13ClockMainView19setupAfterViewReadyEv @ 1 NONAME
-	_ZN13ClockMainView9setupViewER20ClockAppControllerIfP14ClockDocLoader @ 2 NONAME
-	_ZN13ClockMainViewC1EP13QGraphicsItem @ 3 NONAME
-	_ZN13ClockMainViewC2EP13QGraphicsItem @ 4 NONAME
-	_ZN13ClockMainViewD0Ev @ 5 NONAME
-	_ZN13ClockMainViewD1Ev @ 6 NONAME
-	_ZN13ClockMainViewD2Ev @ 7 NONAME
-	_ZN14ClockWorldView9setupViewER20ClockAppControllerIfP14ClockDocLoader @ 8 NONAME
-	_ZN14ClockWorldViewC1EP13QGraphicsItem @ 9 NONAME
-	_ZN14ClockWorldViewC2EP13QGraphicsItem @ 10 NONAME
-	_ZN14ClockWorldViewD0Ev @ 11 NONAME
-	_ZN14ClockWorldViewD1Ev @ 12 NONAME
-	_ZN14ClockWorldViewD2Ev @ 13 NONAME
-	_ZN17ClockHomeCityItemC1EP13QGraphicsItem @ 14 NONAME
-	_ZN17ClockHomeCityItemC2EP13QGraphicsItem @ 15 NONAME
-	_ZN17ClockHomeCityItemD0Ev @ 16 NONAME
-	_ZN17ClockHomeCityItemD1Ev @ 17 NONAME
-	_ZN17ClockHomeCityItemD2Ev @ 18 NONAME
-	_ZThn16_N13ClockMainViewD0Ev @ 19 NONAME
-	_ZThn16_N13ClockMainViewD1Ev @ 20 NONAME
-	_ZThn16_N14ClockWorldViewD0Ev @ 21 NONAME
-	_ZThn16_N14ClockWorldViewD1Ev @ 22 NONAME
-	_ZThn16_N17ClockHomeCityItemD0Ev @ 23 NONAME
-	_ZThn16_N17ClockHomeCityItemD1Ev @ 24 NONAME
-	_ZThn8_N13ClockMainViewD0Ev @ 25 NONAME
-	_ZThn8_N13ClockMainViewD1Ev @ 26 NONAME
-	_ZThn8_N14ClockWorldViewD0Ev @ 27 NONAME
-	_ZThn8_N14ClockWorldViewD1Ev @ 28 NONAME
-	_ZThn8_N17ClockHomeCityItemD0Ev @ 29 NONAME
-	_ZThn8_N17ClockHomeCityItemD1Ev @ 30 NONAME
-
Binary file clock/conf/CI_clockapp.confml has changed
Binary file clock/conf/clockapp.confml has changed
Binary file clock/conf/clockapp_101F874D.crml has changed
Binary file clock/conf/clockapp_101F8876.crml has changed
--- a/clock/data/clock.qrc	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/data/clock.qrc	Thu Jul 22 16:32:51 2010 +0100
@@ -11,8 +11,5 @@
 		
 		<file alias="fade_out.fxml">effects/fade_out.fxml</file>
 		<file alias="fade_in.fxml">effects/fade_in.fxml</file>
-	</qresource>
-	<qresource prefix="/translations">
-		<file alias="clock" >translations/clock.qm</file>
-	</qresource>
+	</qresource>	
 </RCC>
\ No newline at end of file
Binary file clock/data/translations/clock.qm has changed
--- a/clock/data/translations/clock.ts	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,376 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="3.0" language="en_GB" sourcelanguage="en_GB">
-<context>
-<message numerus="no" id="txt_common_common_clock">
-    <comment>Title for Date and time settings view</comment>        
-    <source>Clock</source>
-    <translation variants="no">Clock</translation>
-    <extra-loc-layout_id></extra-loc-layout_id>    
-    <extra-loc-viewid>Common</extra-loc-viewid>
-    <extra-loc-positionid>Common</extra-loc-positionid>
-    <extra-loc-feature>Co</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_dblist_val_1_hr">
-    <comment>LayoutID Parent. Custom. When a city is added to the World Clock list view, its relative time offset is displayed with respect to Homecity. (Hour)</comment>        
-    <source>%1 hr</source>
-    <translation variants="no">%1 hr</translation>
-    <extra-loc-layout_id>txt_clock_dblist_val_l1_hr</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_World clock_P05</extra-loc-viewid>
-    <extra-loc-positionid>dblist_1_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_dblist_daily_val_1_hr_2_mins">
-    <comment>When a city is added to the World Clock list view, its relative time offset is displayed with respect to Homecity. (Hour and Mins)</comment>        
-    <source>%1 hr %2 mins</source>
-    <translation variants="no">%1 hr %2 mins</translation>
-    <extra-loc-layout_id>txt_clock_dblist_val_l1_hr</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_World clock_P05</extra-loc-viewid>
-    <extra-loc-positionid>dblist_1_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_dblist_val_1_mins">
-    <comment>When a city is added to the World Clock list view, its relative time offset is displayed with respect to Homecity. (Mins)</comment>        
-    <source>%1 mins</source>
-    <translation variants="no">%1 mins</translation>
-    <extra-loc-layout_id>txt_clock_dblist_val_l1_hr</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_World clock_P05</extra-loc-viewid>
-    <extra-loc-positionid>dblist_1_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_mm_dd_yyyy">
-    <comment>2nd value in combo box list for Date format label</comment>        
-    <source>mm dd yyyy</source>
-    <translation variants="no">mm dd yyyy</translation>
-    <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_2_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_main_view_setlabel_in_1hr_2min">
-    <comment>Secondary text displaying the time remaining for the alarm (hour, min)</comment>        
-    <source>In %1hr %2min</source>
-    <translation variants="no">In %1hr %2min</translation>
-    <extra-loc-layout_id>txt_clock_main_view_setlabel_in_1hr_2min</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_opt_add_city">
-    <comment></comment>        
-    <source>Add city</source>
-    <translation variants="no">Add city</translation>
-    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_World clock_P05</extra-loc-viewid>
-    <extra-loc-positionid>opt</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_menu_show_on_homescreen">
-    <comment>Long tap menu on an added city in World clock view (both portrait and landscape)</comment>        
-    <source>Show on homescreen</source>
-    <translation variants="no">Show on homescreen</translation>
-    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_World clock_P05</extra-loc-viewid>
-    <extra-loc-positionid>menu</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_menu_delete">
-    <comment>Long tap menu on an added city in World Clock view (both portrait and landscape)</comment>        
-    <source>Delete</source>
-    <translation variants="no">Delete</translation>
-    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_World clock_P05</extra-loc-viewid>
-    <extra-loc-positionid>menu</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_main_view_setlabel_in_1hr_2mins">
-    <comment>Secondary text displaying the time remaining for the alarm (hour, mins)</comment>        
-    <source>In %1hr %2mins</source>
-    <translation variants="no">In %1hr %2mins</translation>
-    <extra-loc-layout_id>txt_clock_main_view_setlabel_in_1hr_2mins</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_common_setlabel_dst">
-    <comment></comment>        
-    <source>DST</source>
-    <translation variants="no">DST</translation>
-    <extra-loc-layout_id></extra-loc-layout_id>    
-    <extra-loc-viewid>Common</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Co</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_main_view_setlabel_in_1hrs_2mins">
-    <comment>Secondary text displaying the time remaining for the alarm (hours, mins)</comment>        
-    <source>In %1hrs %2mins</source>
-    <translation variants="no">In %1hrs %2mins</translation>
-    <extra-loc-layout_id>txt_clock_main_view_setlabel_in_1hrs_2mins</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_main_view_button_alarms">
-    <comment></comment>        
-    <source>Alarms</source>
-    <translation variants="no">Alarms</translation>
-    <extra-loc-layout_id>qtl_toolbar_tiny1_3</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_main_view_button_world_clock">
-    <comment></comment>        
-    <source>World clock</source>
-    <translation variants="no">World clock</translation>
-    <extra-loc-layout_id>qtl_toolbar_tiny1_3</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_main_view_dblist_daily_val_workdays">
-    <comment>Layout ID Parent. Custom Layout. Text to show the alarm occurance.</comment>        
-    <source>Workdays</source>
-    <translation variants="no">Workdays</translation>
-    <extra-loc-layout_id>txt_clock_main_view_dblist_daily_val_today</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
-    <extra-loc-positionid>dblist_1_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_yyyy_mm_dd">
-    <comment>3rd value in combo box list for Date format label</comment>        
-    <source>yyyy mm dd</source>
-    <translation variants="no">yyyy mm dd</translation>
-    <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_3_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_main_view_dblist_daily">
-    <comment>Layout ID Parent. Custom Layout. Text to show the alarm occurance.</comment>        
-    <source>Daily</source>
-    <translation variants="no">Daily</translation>
-    <extra-loc-layout_id>txt_clock_main_view_dblist_daily_val_today</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
-    <extra-loc-positionid>dblist_1</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_subhead_world_clock">
-    <comment>Subtitle for World Clock view</comment>        
-    <source>World Clock</source>
-    <translation variants="no">World Clock</translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_World clock_P05</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_main_view_button_new_alarm">
-    <comment></comment>        
-    <source>New alarm</source>
-    <translation variants="no">New alarm</translation>
-    <extra-loc-layout_id>qtl_toolbar_tiny1_3</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_button_add_city">
-    <comment></comment>        
-    <source>Add city</source>
-    <translation variants="no">Add city</translation>
-    <extra-loc-layout_id>qtl_toolbar_tiny1_3</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_World clock_P05</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_main_view_setlabel_gmt_1">
-    <comment>Layout ID Parent. Custom. Text to display the GMT info for that city.</comment>        
-    <source>GMT %1</source>
-    <translation variants="no">GMT %1</translation>
-    <extra-loc-layout_id>txt_clock_main_view_label_gmt_1</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_main_view_setlabel_in_1hrs_2min">
-    <comment>Secondary text displaying the time remaining for the alarm (hours, min)</comment>        
-    <source>In %1hrs %2min</source>
-    <translation variants="no">In %1hrs %2min</translation>
-    <extra-loc-layout_id>txt_clock_main_view_setlabel_in_1hrs_2min</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_common_common_gmt">
-    <comment></comment>        
-    <source>GMT</source>
-    <translation variants="no">GMT</translation>
-    <extra-loc-layout_id></extra-loc-layout_id>    
-    <extra-loc-viewid>Common</extra-loc-viewid>
-    <extra-loc-positionid>Common</extra-loc-positionid>
-    <extra-loc-feature>Co</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_short_caption_clock">
-    <comment>Clock application in Application library grid</comment>        
-    <source>Clock</source>
-    <translation variants="no">Clock</translation>
-    <extra-loc-layout_id>qtl_grid_applications_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock</extra-loc-viewid>
-    <extra-loc-positionid>grid</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_main_view_setlabel_in_1days">
-    <comment>Layout ID Parent. Custom layout. Days remaining for the alarm</comment>        
-    <source>In %1days</source>
-    <translation variants="no">In %1days</translation>
-    <extra-loc-layout_id>txt_clock_main_view_setlabel_in_1days</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_dblist_val_1_hrs">
-    <comment>When a city is added to the World Clock list view, its relative time offset is displayed with respect to Homecity. (Hours)</comment>        
-    <source>%1 hrs</source>
-    <translation variants="no">%1 hrs</translation>
-    <extra-loc-layout_id>txt_clock_dblist_val_l1_hr</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_World clock_P05</extra-loc-viewid>
-    <extra-loc-positionid>dblist_1_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_main_view_menu_delete_alarm">
-    <comment>Long tap on an alarm in Alarm list opens the item specific menu displaying text &quot;Delete alarm&quot;</comment>        
-    <source>Delete alarm</source>
-    <translation variants="no">Delete alarm</translation>
-    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
-    <extra-loc-positionid>menu</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_main_view_setlabel_every_1">
-    <comment>Layout ID Parent. Custom. Alarm Occurance detail.</comment>        
-    <source>Every %1</source>
-    <translation variants="no">Every %1</translation>
-    <extra-loc-layout_id>txt_clock_main_view_label_every_1</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_main_view_dblist_daily_val_today">
-    <comment>Layout ID Parent. Custom Layout. Text to show the alarm occurance.</comment>        
-    <source>Today</source>
-    <translation variants="no">Today</translation>
-    <extra-loc-layout_id>txt_clock_main_view_dblist_daily_val_today</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
-    <extra-loc-positionid>dblist_1_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_long_caption_clock">
-    <comment>Clock application in Application library list</comment>        
-    <source>Clock</source>
-    <translation variants="no">Clock</translation>
-    <extra-loc-layout_id>qtl_list_pri_large_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_main_view_opt_settings">
-    <comment>Item in Options menu from Clock main vew</comment>        
-    <source>Settings</source>
-    <translation variants="no">Settings</translation>
-    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
-    <extra-loc-positionid>opt</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_menu_set_as_current_location">
-    <comment>Long tap menu on an added city in the World clock view (both portrait and landscape)</comment>        
-    <source>Set as current location</source>
-    <translation variants="no">Set as current location</translation>
-    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_World clock_P05</extra-loc-viewid>
-    <extra-loc-positionid>menu</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_main_view_dpopinfo_alarm_deactivated">
-    <comment>Information shown in a popup once the alarm is deactivated</comment>        
-    <source>Alarm Deactivated</source>
-    <translation variants="no">Alarm Deactivated</translation>
-    <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
-    <extra-loc-positionid>dpopinfo</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_main_view_list_no_alarms_set">
-    <comment>When there are no alarms set in Clock main view, the text &quot;No alarms set&quot; is displayed in list.</comment>        
-    <source>No alarms set</source>
-    <translation variants="no">No alarms set</translation>
-    <extra-loc-layout_id>qtl_list_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock main view_with no alarms set_P02</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_main_view_dpopinfo_alarm_activated">
-    <comment>Information shown in a popup once the alarm is activated</comment>        
-    <source>Alarm Activated</source>
-    <translation variants="no">Alarm Activated</translation>
-    <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
-    <extra-loc-positionid>dpopinfo</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clk_setlabel_val_dd_mm_yyyy">
-    <comment>1st value in combo box list for Date format label</comment>        
-    <source>dd mm yyyy</source>
-    <translation variants="no">dd mm yyyy</translation>
-    <extra-loc-layout_id>qtl_dataform_group_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock main view_P01</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_1_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_clock_dblist_daily_val_1_hrs_2_mins">
-    <comment>When a city is added to the World Clock list view, its relative time offset is displayed with respect to Homecity. (Hours and Mins)</comment>        
-    <source>%1 hrs %2 mins</source>
-    <translation variants="no">%1 hrs %2 mins</translation>
-    <extra-loc-layout_id>txt_clock_dblist_val_l1_hr</extra-loc-layout_id>    
-    <extra-loc-viewid>Clock_World clock_P05</extra-loc-viewid>
-    <extra-loc-positionid>dblist_1_val</extra-loc-positionid>
-    <extra-loc-feature>Cl</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-</context>
-</TS>
--- a/clock/ftudatetimewizard/ftudatetimewizard.pro	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +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:  FTU datetime wizard project file
-#
-
-TEMPLATE      	= lib
-
-CONFIG       	+= plugin hb
-TARGET        	= ftudatetimewizard
-
-HEADERS += ./inc/*.h
-SOURCES += ./src/*.cpp
-
-RESOURCES += resources/ftudatetimewizard.qrc
-
-plugin.sources 	= ftudatetimewizard.dll
-plugin.path 	= \resource\qt\plugins\FTU
- 
-pluginstub.sources = resource/*.manifest
-pluginstub.path = /fturesources/plugins/wizardproviders 
-
-DEPLOYMENT 	+= plugin pluginstub
-
-CONFIG(debug, debug|release) {
-    DESTDIR = debug
-    LIBS += -lftuwizardmodel
-} else {
-    DESTDIR = release
-    LIBS += -lftuwizardmodel
-}
-
-CONFIG += plugin debug_and_release
-
-QT += xml sql
-
-DEFINES += FTUDATETIMEWIZARD_LIB
-
-coverage:DEFINES += COVERAGE_MEASUREMENT
-
-DEPENDPATH +=   ./inc \
-                ./src
-
-INCLUDEPATH +=  ./inc/ \
-	  	../clockmw/clocksettingsutility/inc \
-	  	../clockmw/clocktimezone/inc \
-	  	../clockengines/inc \
-	  	../clockengines/clockserver/server/inc \
-	  	../clockui/clockcityselectionlist/inc \
-	    ../inc   
-symbian: {
-    TARGET.UID3 = 0x2002C30C
-    TARGET.EPOCALLOWDLLDATA=1
-    TARGET.CAPABILITY = ALL -TCB
-    TARGET.CAPABILITY = CAP_GENERAL_DLL
-    INCLUDEPATH +=  $$MW_LAYER_SYSTEMINCLUDE
-	
-	LIBS += -leuser \
-			-lclocksettingsutility \
-			-lclockserverclient \
-			-ltimezoneclient \
-			-lxqsettingsmanager \
-			-lclockcityselectionlist
-
-}    
-
-# End of file	--Don't remove this.
\ No newline at end of file
--- a/clock/ftudatetimewizard/inc/ftudatetimecustomitem.h	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +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: Definition for the FtuDateTimeCustomItem class
- *
- */
-
-#ifndef FTUDATETIMECUSTOMITEM_H_
-#define FTUDATETIMECUSTOMITEM_H_
-
-// System includes
-#include <QObject>
-#include <hbdataformviewitem.h>
-
-// Forward declarations
-class HbDataFormModel;
-class HbPushButton;
-
-class FtuDateTimeCustomItem : public HbDataFormViewItem
-{
-	Q_OBJECT
-
-public:
-	FtuDateTimeCustomItem(QGraphicsItem *parent);
-	~FtuDateTimeCustomItem();
-	virtual HbAbstractViewItem* createItem();
-	bool canSetModelIndex(const QModelIndex &index) const;
-	void restore();
-
-protected:
-	virtual HbWidget* createCustomWidget();
-	HbPushButton* mPushButton;
-};
-
-#endif /* FTUDATETIMECUSTOMITEM_H_ */
-
-// End of file  --Don't remove this.
--- a/clock/ftudatetimewizard/inc/ftudatetimeprivatecrkeys.h	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +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: The file contains the uid of keys used by cenrep sheet
- *
- */
-
-#ifndef FTUDATETIMEPRIVATECRKEYS_H_
-#define FTUDATETIMEPRIVATECRKEYS_H_
-
-/*!
-    Clock App Settings
-    Provides access to the plugin completed date.
- */
-const long int KCRUidClockApp = { 0x101F874D };
-
-/*!
-    FTU date time plugin edited date
- */
-const long int KFtuPluginDate = 0x00000003;
-
-
-/*!
-    Nitz Settings API
-    Provides access to the Nitz status.
- */
-const long int KCRUidNitz = { 0x101F8876 };
-
-/*!
-    Valid Nitz Info key
- */
-const long int KValidNitz = 0x00000004;
-
-#endif /* FTUDATETIMEPRIVATECRKEYS_H_ */
-
-// End of file  --Don't remove this.
--- a/clock/ftudatetimewizard/inc/ftudatetimeview.h	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +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: The view class for the FTU wizard plugin
- *
- */
-
-#ifndef FTUDATETIMEVIEW_H
-#define FTUDATETIMEVIEW_H
-
-// System includes
-#include <QPointer>
-#include <QDateTime>
-#include <HbWidget>
-#include <HbView>
-#include <HbDialog>
-#include "clockcityselectionlist.h"
-
-// Forward declarations.
-class HbDataForm;
-class HbDataFormModel;
-class HbDataFormModelItem;
-class HbDateTimePicker;
-class HbPushButton;
-class SettingsUtility;
-class QDate;
-class TimezoneClient;
-
-class FtuDateTimeView : public HbView
-{
-	Q_OBJECT
-
-public:
-	FtuDateTimeView();
-	~FtuDateTimeView();
-	void constructView();
-	QDate getWizardCompletedDate();
-	void setAutomaticTimeUpdateOff(bool value);
-
-public slots:
-	void populateDatePicker();
-	void populateTimePicker();
-	void setAutoTimeupDate();
-	void populateCitySelectionList();
-
-private slots:
-	void updateDate();
-	void updateTime();
-	void HandleLocationChange(LocationInfo);
-	void selectedAction(HbAction *action);
-
-private:
-	void createMainLayout();
-	void setItemDisplayed();
-	void populateDateTimeGroup();
-	void populatePlaceGroup();
-	void wizardEditedDate(const QDate &date);
-
-private:
-	HbDataForm* mDateTimePlaceForm;
-	HbDataFormModel* mDateTimePlaceModel;
-
-	HbDataFormModelItem *mDateItem;
-	HbDataFormModelItem *mTimeItem;
-	HbDataFormModelItem *mAutoTimeUpdateItem;
-	HbDataFormModelItem *mPlaceGroup;
-	HbDataFormModelItem *mCountryItem;
-	HbDataFormModelItem *mCityItem;
-
-	HbDateTimePicker* mDatePicker;
-	HbDateTimePicker* mTimePicker;
-	QPointer<HbDialog> mDatePickerDialog;
-	QPointer<HbDialog> mTimePickerDialog;
-
-	HbAction *mOkAction;
-	HbAction *mCancelAction;
-	SettingsUtility *mSettingsUtility;
-
-	TimezoneClient *mTimeZoneClient;
-	ClockCitySelectionList* mCitySelectionList;
-	bool mTimeAutoUpdate;
-};
-
-#endif // FTUDATETIMEVIEW_H
-
-// End of file  --Don't remove this.
--- a/clock/ftudatetimewizard/inc/ftudatetimewizard.h	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +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: Implementation of the plugin wizard class FtuDateTimeWizard
- *
- */
-
-#ifndef FTUDATETIMEWIZARD_H
-#define FTUDATETIMEWIZARD_H
-
-// System includes
-#include <QPointer>
-#include <QDate>
-
-// User includes
-#include "ftuwizard.h"
-
-// Forward declarations
-class FtuDateTimeView;
-
-class FtuDateTimeWizard : public FtuWizard
-{
-	Q_OBJECT
-
-public:
-	FtuDateTimeWizard();
-	~FtuDateTimeWizard();
-
-protected:
-	void initializeWizard(qint32 cenrepOwnerId, int wizardIdx);
-	void activateWizard();
-	void deactivateWizard();
-	bool shutdownWizard(ShutdownReason reason);
-	void resizeWizard(const QRectF& geometry);
-	const FtuWizardSetting& wizardSettings();
-	bool handleBackEvent();
-	QDate wizardCompletedDate();
-
-private:
-	QPointer<FtuDateTimeView> mFtuDateTimeView;
-	FtuWizardSetting mWizardSettings;
-};
-
-#endif // FTUDATETIMEWIZARD_H
-
-// End of file  --Don't remove this.
--- a/clock/ftudatetimewizard/inc/ftudatetimewizardfactory.h	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +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: Definition file for FtuDateTimeWizardFactory class
- *
- */
-
-#ifndef FTUDATETIMEWIZARDFACTORY_H
-#define FTUDATETIMEWIZARDFACTORY_H
-
-// System includes
-#include <QObject>
-
-// User includes
-#include "ftuwizardfactory.h"
-
-class FtuWizard;
-
-class FtuDateTimeWizardFactory : public QObject, public FtuWizardFactory
-{
-	Q_OBJECT
-	Q_INTERFACES(FtuWizardFactory)
-
-public:
-	FtuWizard* createWizard() const;
-};
-
-#endif // FTUDATETIMEWIZARDFACTORY_H
-
-// End of file  --Don't remove this.
--- a/clock/ftudatetimewizard/resource/ftudatetimewizard.manifest	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<plugin>
-    <runtime library="ftudatetimewizard.dll"
-             uri="ftu.nokia.com/plugin/ftudatetimewizard"/>
-</plugin>
--- a/clock/ftudatetimewizard/resources/ftudatetimewizard.qrc	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-<RCC>
-    <qresource prefix="/images" >
-        <file>ftudatetimewizard_toc_icon.svg</file>
-        <file>ftudatetimewizard_menustrip_icon.svg</file>                
-    </qresource>
-</RCC>
--- a/clock/ftudatetimewizard/resources/ftudatetimewizard_menustrip_icon.svg	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="98px" height="98px" viewBox="0 0 98 98" enable-background="new 0 0 98 98" xml:space="preserve">
-<defs>
-</defs>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="48.9995" y1="12.501" x2="48.9995" y2="83.6684">
-	<stop  offset="0" style="stop-color:#BDC2C4"/>
-	<stop  offset="1" style="stop-color:#454B4D"/>
-</linearGradient>
-<path fill="url(#SVGID_1_)" d="M48.999,84C29.148,84,13,67.852,13,48c0-19.85,16.148-36,35.999-36C68.852,12,85,28.15,85,48
-	C85,67.852,68.852,84,48.999,84L48.999,84z"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="48.9995" y1="13.501" x2="48.9995" y2="82.8443">
-	<stop  offset="0" style="stop-color:#D1D7D9"/>
-	<stop  offset="0.2364" style="stop-color:#BDC2C4"/>
-	<stop  offset="1" style="stop-color:#697173"/>
-</linearGradient>
-<circle fill="url(#SVGID_2_)" cx="49" cy="48" r="35"/>
-<path opacity="0.35" fill="#F1F1F2" d="M50.22,49.221c11.722,0,23.042-0.732,33.759-2.079C83.521,28.211,68.043,13,48.999,13
-	c-18.932,0-34.345,15.035-34.97,33.816C25.461,48.368,37.606,49.221,50.22,49.221z"/>
-<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="14.3335" y1="30.75" x2="84.1678" y2="30.75">
-	<stop  offset="0" style="stop-color:#C0C5C7"/>
-	<stop  offset="0.2" style="stop-color:#F7FDFF"/>
-	<stop  offset="0.8" style="stop-color:#F7FDFF"/>
-	<stop  offset="1" style="stop-color:#CDD3D5"/>
-</linearGradient>
-<path fill="url(#SVGID_3_)" d="M48.999,14c19.163,0,34.72,15.402,34.989,34.5C83.99,48.334,84,48.168,84,48
-	c0-19.33-15.67-35-35.001-35C29.669,13,14,28.67,14,48c0,0.168,0.01,0.334,0.012,0.5C14.281,29.402,29.837,14,48.999,14z"/>
-<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="49.0005" y1="79.5" x2="49.0005" y2="17.1192">
-	<stop  offset="0" style="stop-color:#BDC2C4"/>
-	<stop  offset="1" style="stop-color:#454B4D"/>
-</linearGradient>
-<path fill="url(#SVGID_4_)" d="M48.999,79C31.905,79,18,65.094,18,48s13.905-31,30.999-31C66.094,17,80,30.906,80,48
-	S66.094,79,48.999,79L48.999,79z"/>
-<radialGradient id="SVGID_5_" cx="49" cy="102" r="109.0004" gradientUnits="userSpaceOnUse">
-	<stop  offset="0.4" style="stop-color:#FAF9F9"/>
-	<stop  offset="1" style="stop-color:#808184"/>
-</radialGradient>
-<path fill="url(#SVGID_5_)" d="M48.999,78C32.458,78,19,64.543,19,48c0-16.541,13.458-30,29.999-30C65.543,18,79,31.459,79,48
-	C79,64.543,65.543,78,48.999,78L48.999,78z"/>
-<path opacity="0.7" fill="#FFFFFF" d="M48.999,50.143c9.896,0,19.341-0.832,27.997-2.332C76.893,32.459,64.377,20,48.999,20
-	c-15.375,0-27.892,12.459-27.995,27.811C29.661,49.311,39.104,50.143,48.999,50.143z"/>
-<rect x="47.999" y="20.736" fill="#404041" width="2" height="6"/>
-<rect x="47.999" y="70.736" fill="#404041" width="2" height="6"/>
-<rect x="71" y="47.736" fill="#404041" width="6" height="2"/>
-<rect x="21" y="47.736" fill="#404041" width="6" height="2"/>
-<rect x="69.844" y="33.817" transform="matrix(0.5006 0.8657 -0.8657 0.5006 66.6569 -43.0647)" fill="#404041" width="1.615" height="4.842"/>
-<rect x="26.542" y="58.817" transform="matrix(0.4997 0.8662 -0.8662 0.4997 66.7294 6.9494)" fill="#404041" width="1.614" height="4.841"/>
-<rect x="60.694" y="24.665" transform="matrix(0.8659 0.5002 -0.5002 0.8659 21.7935 -27.1293)" fill="#404041" width="1.613" height="4.842"/>
-<rect x="35.693" y="67.966" transform="matrix(0.8659 0.5002 -0.5002 0.8659 40.0995 -8.8187)" fill="#404041" width="1.613" height="4.842"/>
-<rect x="35.693" y="24.665" transform="matrix(0.8662 -0.4997 0.4997 0.8662 -8.6508 21.8607)" fill="#404041" width="1.614" height="4.842"/>
-<rect x="60.694" y="67.966" transform="matrix(0.8662 -0.4997 0.4997 0.8662 -26.9417 40.1451)" fill="#404041" width="1.614" height="4.842"/>
-<rect x="26.542" y="33.815" transform="matrix(0.4992 -0.8665 0.8665 0.4992 -17.7019 41.8449)" fill="#404041" width="1.614" height="4.842"/>
-<rect x="69.843" y="58.815" transform="matrix(0.4997 -0.8662 0.8662 0.4997 -17.6948 91.8386)" fill="#404041" width="1.614" height="4.842"/>
-<path opacity="0.2" fill="#231F20" d="M51.449,49.418c-0.098-0.48-0.339-0.906-0.669-1.242l3.445-11.358l-2.87-0.871l-3.579,11.791
-	c-0.622,0.352-1.08,0.958-1.226,1.68H40v1h6.551c0.026,0.131,0.066,0.26,0.113,0.383L31.232,66.232l1.297,1.299l15.376-15.375
-	c0.331,0.162,0.7,0.262,1.095,0.262c1.209,0,2.217-0.857,2.449-2H75v-1H51.449z"/>
-<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="-237.3208" y1="41.0786" x2="-237.3208" y2="56.5028" gradientTransform="matrix(0.9569 0.2903 -0.2903 0.9569 291.9271 64.1554)">
-	<stop  offset="0" style="stop-color:#58595B"/>
-	<stop  offset="1" style="stop-color:#231F20"/>
-</linearGradient>
-<polygon fill="url(#SVGID_6_)" points="54.226,35.402 51.355,34.531 46.999,48.885 49.871,49.756 "/>
-<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="31.9766" y1="65.3701" x2="49.5665" y2="47.7802">
-	<stop  offset="0" style="stop-color:#58595B"/>
-	<stop  offset="1" style="stop-color:#231F20"/>
-</linearGradient>
-<polygon fill="url(#SVGID_7_)" points="50.232,48.413 48.934,47.113 31.232,64.814 32.529,66.113 "/>
-<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="57.5" y1="47.8579" x2="57.5" y2="49.318">
-	<stop  offset="0" style="stop-color:#FF0000"/>
-	<stop  offset="1" style="stop-color:#A8000B"/>
-</linearGradient>
-<path fill="url(#SVGID_8_)" d="M75,48H51.449c-0.232-1.141-1.24-2-2.449-2c-1.211,0-2.219,0.859-2.449,2H40v1h6.551
-	c0.23,1.142,1.238,2,2.449,2c1.209,0,2.217-0.857,2.449-2H75V48z"/>
-<linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="48.9995" y1="46.917" x2="48.9995" y2="50.0016">
-	<stop  offset="0" style="stop-color:#FFE2D9"/>
-	<stop  offset="1" style="stop-color:#F23D3D"/>
-</linearGradient>
-<circle fill="url(#SVGID_9_)" cx="49" cy="48.5" r="1.5"/>
-<rect fill="none" width="98" height="98"/>
-</svg>
--- a/clock/ftudatetimewizard/resources/ftudatetimewizard_toc_icon.svg	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
-	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
-]>
-<svg version="1.1"
-	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
-	 x="0px" y="0px" width="98px" height="98px" viewBox="0 0 98 98" enable-background="new 0 0 98 98" xml:space="preserve">
-<defs>
-</defs>
-<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="48.9995" y1="12.501" x2="48.9995" y2="83.6684">
-	<stop  offset="0" style="stop-color:#BDC2C4"/>
-	<stop  offset="1" style="stop-color:#454B4D"/>
-</linearGradient>
-<path fill="url(#SVGID_1_)" d="M48.999,84C29.148,84,13,67.852,13,48c0-19.85,16.148-36,35.999-36C68.852,12,85,28.15,85,48
-	C85,67.852,68.852,84,48.999,84L48.999,84z"/>
-<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="48.9995" y1="13.501" x2="48.9995" y2="82.8443">
-	<stop  offset="0" style="stop-color:#D1D7D9"/>
-	<stop  offset="0.2364" style="stop-color:#BDC2C4"/>
-	<stop  offset="1" style="stop-color:#697173"/>
-</linearGradient>
-<circle fill="url(#SVGID_2_)" cx="49" cy="48" r="35"/>
-<path opacity="0.35" fill="#F1F1F2" d="M50.22,49.221c11.722,0,23.042-0.732,33.759-2.079C83.521,28.211,68.043,13,48.999,13
-	c-18.932,0-34.345,15.035-34.97,33.816C25.461,48.368,37.606,49.221,50.22,49.221z"/>
-<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="14.3335" y1="30.75" x2="84.1678" y2="30.75">
-	<stop  offset="0" style="stop-color:#C0C5C7"/>
-	<stop  offset="0.2" style="stop-color:#F7FDFF"/>
-	<stop  offset="0.8" style="stop-color:#F7FDFF"/>
-	<stop  offset="1" style="stop-color:#CDD3D5"/>
-</linearGradient>
-<path fill="url(#SVGID_3_)" d="M48.999,14c19.163,0,34.72,15.402,34.989,34.5C83.99,48.334,84,48.168,84,48
-	c0-19.33-15.67-35-35.001-35C29.669,13,14,28.67,14,48c0,0.168,0.01,0.334,0.012,0.5C14.281,29.402,29.837,14,48.999,14z"/>
-<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="49.0005" y1="79.5" x2="49.0005" y2="17.1192">
-	<stop  offset="0" style="stop-color:#BDC2C4"/>
-	<stop  offset="1" style="stop-color:#454B4D"/>
-</linearGradient>
-<path fill="url(#SVGID_4_)" d="M48.999,79C31.905,79,18,65.094,18,48s13.905-31,30.999-31C66.094,17,80,30.906,80,48
-	S66.094,79,48.999,79L48.999,79z"/>
-<radialGradient id="SVGID_5_" cx="49" cy="102" r="109.0004" gradientUnits="userSpaceOnUse">
-	<stop  offset="0.4" style="stop-color:#FAF9F9"/>
-	<stop  offset="1" style="stop-color:#808184"/>
-</radialGradient>
-<path fill="url(#SVGID_5_)" d="M48.999,78C32.458,78,19,64.543,19,48c0-16.541,13.458-30,29.999-30C65.543,18,79,31.459,79,48
-	C79,64.543,65.543,78,48.999,78L48.999,78z"/>
-<path opacity="0.7" fill="#FFFFFF" d="M48.999,50.143c9.896,0,19.341-0.832,27.997-2.332C76.893,32.459,64.377,20,48.999,20
-	c-15.375,0-27.892,12.459-27.995,27.811C29.661,49.311,39.104,50.143,48.999,50.143z"/>
-<rect x="47.999" y="20.736" fill="#404041" width="2" height="6"/>
-<rect x="47.999" y="70.736" fill="#404041" width="2" height="6"/>
-<rect x="71" y="47.736" fill="#404041" width="6" height="2"/>
-<rect x="21" y="47.736" fill="#404041" width="6" height="2"/>
-<rect x="69.844" y="33.817" transform="matrix(0.5006 0.8657 -0.8657 0.5006 66.6569 -43.0647)" fill="#404041" width="1.615" height="4.842"/>
-<rect x="26.542" y="58.817" transform="matrix(0.4997 0.8662 -0.8662 0.4997 66.7294 6.9494)" fill="#404041" width="1.614" height="4.841"/>
-<rect x="60.694" y="24.665" transform="matrix(0.8659 0.5002 -0.5002 0.8659 21.7935 -27.1293)" fill="#404041" width="1.613" height="4.842"/>
-<rect x="35.693" y="67.966" transform="matrix(0.8659 0.5002 -0.5002 0.8659 40.0995 -8.8187)" fill="#404041" width="1.613" height="4.842"/>
-<rect x="35.693" y="24.665" transform="matrix(0.8662 -0.4997 0.4997 0.8662 -8.6508 21.8607)" fill="#404041" width="1.614" height="4.842"/>
-<rect x="60.694" y="67.966" transform="matrix(0.8662 -0.4997 0.4997 0.8662 -26.9417 40.1451)" fill="#404041" width="1.614" height="4.842"/>
-<rect x="26.542" y="33.815" transform="matrix(0.4992 -0.8665 0.8665 0.4992 -17.7019 41.8449)" fill="#404041" width="1.614" height="4.842"/>
-<rect x="69.843" y="58.815" transform="matrix(0.4997 -0.8662 0.8662 0.4997 -17.6948 91.8386)" fill="#404041" width="1.614" height="4.842"/>
-<path opacity="0.2" fill="#231F20" d="M51.449,49.418c-0.098-0.48-0.339-0.906-0.669-1.242l3.445-11.358l-2.87-0.871l-3.579,11.791
-	c-0.622,0.352-1.08,0.958-1.226,1.68H40v1h6.551c0.026,0.131,0.066,0.26,0.113,0.383L31.232,66.232l1.297,1.299l15.376-15.375
-	c0.331,0.162,0.7,0.262,1.095,0.262c1.209,0,2.217-0.857,2.449-2H75v-1H51.449z"/>
-<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="-237.3208" y1="41.0786" x2="-237.3208" y2="56.5028" gradientTransform="matrix(0.9569 0.2903 -0.2903 0.9569 291.9271 64.1554)">
-	<stop  offset="0" style="stop-color:#58595B"/>
-	<stop  offset="1" style="stop-color:#231F20"/>
-</linearGradient>
-<polygon fill="url(#SVGID_6_)" points="54.226,35.402 51.355,34.531 46.999,48.885 49.871,49.756 "/>
-<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="31.9766" y1="65.3701" x2="49.5665" y2="47.7802">
-	<stop  offset="0" style="stop-color:#58595B"/>
-	<stop  offset="1" style="stop-color:#231F20"/>
-</linearGradient>
-<polygon fill="url(#SVGID_7_)" points="50.232,48.413 48.934,47.113 31.232,64.814 32.529,66.113 "/>
-<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="57.5" y1="47.8579" x2="57.5" y2="49.318">
-	<stop  offset="0" style="stop-color:#FF0000"/>
-	<stop  offset="1" style="stop-color:#A8000B"/>
-</linearGradient>
-<path fill="url(#SVGID_8_)" d="M75,48H51.449c-0.232-1.141-1.24-2-2.449-2c-1.211,0-2.219,0.859-2.449,2H40v1h6.551
-	c0.23,1.142,1.238,2,2.449,2c1.209,0,2.217-0.857,2.449-2H75V48z"/>
-<linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="48.9995" y1="46.917" x2="48.9995" y2="50.0016">
-	<stop  offset="0" style="stop-color:#FFE2D9"/>
-	<stop  offset="1" style="stop-color:#F23D3D"/>
-</linearGradient>
-<circle fill="url(#SVGID_9_)" cx="49" cy="48.5" r="1.5"/>
-<rect fill="none" width="98" height="98"/>
-</svg>
--- a/clock/ftudatetimewizard/src/ftudatetimecustomitem.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +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: Implementation for the FtuDateTimeCustomItem class
- *
- */
-
-// System includes
-#include <QObject>
-#include <hblistwidget.h>
-#include <hblistwidgetitem.h>
-#include <hbpushbutton.h>
-#include <hbdataformmodelitem.h>
-#include <hbdataformmodel.h>
-
-
-// User includes
-#include "ftudatetimecustomitem.h"
-
-/*!
-    \class FtuDateTimeCustomItem
-    This object creates the Custom item
- */
-
-/*!
-    Constructor.
- */
-FtuDateTimeCustomItem::FtuDateTimeCustomItem(QGraphicsItem *parent) :
-HbDataFormViewItem(parent)
-{
-}
-
-/*!
-    Destructor.
- */
-FtuDateTimeCustomItem::~FtuDateTimeCustomItem()
-{
-	// Nothing yet.
-}
-
-/*!
-    Creates the custom item.
- */
-HbAbstractViewItem* FtuDateTimeCustomItem::createItem()
-{
-	return new FtuDateTimeCustomItem(*this);
-}
-
-/*!
-    Checks if model index can be set or not
- */
-bool FtuDateTimeCustomItem::canSetModelIndex(const QModelIndex &index) const
-{
-	HbDataFormModelItem::DataItemType itemType = 
-			static_cast<HbDataFormModelItem::DataItemType>(
-			index.data(HbDataFormModelItem::ItemTypeRole).toInt());
-
-	if(itemType == (HbDataFormModelItem::CustomItemBase)) {
-		return true;
-	} else {
-		return false;
-	}
-
-}
-
-/*!
-    
- */
-void FtuDateTimeCustomItem::restore()
-{
-    HbDataFormModelItem::DataItemType itemType =
-            static_cast<HbDataFormModelItem::DataItemType>(
-				modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
-    if(itemType == (HbDataFormModelItem::CustomItemBase)) {
-    	HbDataFormModel* model = static_cast<HbDataFormModel*>(
-    			static_cast<HbAbstractViewItem*>(this)->itemView()->model());
-    	HbDataFormModelItem* modlItem = model->itemFromIndex(modelIndex()); 
-    	mPushButton->setProperty("text", modlItem->contentWidgetData("text"));
-    }
-}
-/*!
-    Creates and returns the custom item.
- */
-HbWidget* FtuDateTimeCustomItem::createCustomWidget()
-{
-	/*HbPushButton* pushButton = new HbPushButton(this);
-	return pushButton;*/
-	mPushButton = new HbPushButton(this);
-	return mPushButton;
-}
-
-// End of file  --Don't remove this.
--- a/clock/ftudatetimewizard/src/ftudatetimeview.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,436 +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: FTU wizard plugin view implementaion
- *
- */
-
-// System includes
-#include <QObject>
-#include <QDate>
-#include <QTime>
-#include <qabstractitemmodel.h>
-#include <hbdataform.h>
-#include <hbview.h>
-#include <hbdataformmodel.h>
-#include <hbpushbutton.h>
-#include <hbdataformviewitem.h>
-#include <hbdatetimepicker.h>
-#include <hbaction.h>
-#include <xqsettingsmanager.h>
-#include <xqsettingskey.h>
-
-// User includes
-#include "settingsutility.h"
-#include "timezoneclient.h"
-#include "ftudatetimeview.h"
-#include "ftudatetimecustomitem.h"
-#include "ftudatetimeprivatecrkeys.h"
-
-/*!
-    \class FtuDateTimeView
-    This is the view class for the FTU plugin
- */
-/*!
-    \enum FtuDateTimeView::dateTimePicker
-    This enum defines different pickers to be launched(date picker/time picker)
- */
-/*!
-    \var FtuDateTimeView::datePicker
-    Date picker.
- */
-/*!
-    \var FtuDateTimeView::timePicker
-    Time picker.
- */
-
-/*!
-    Constructor.
- */
-FtuDateTimeView::FtuDateTimeView() :
-HbView(),
-mDatePicker(NULL),
-mTimePicker(NULL)
-{
-	//TODO: Localisation has to be done
-	// set title for wizard
-	setTitle("Date and Time");
-	mDateTimePlaceForm = new HbDataForm();
-
-	QList <HbAbstractViewItem*> prototypes = mDateTimePlaceForm->itemPrototypes();
-	FtuDateTimeCustomItem *customItem =
-			new FtuDateTimeCustomItem(mDateTimePlaceForm);
-	prototypes.append(customItem);
-	mDateTimePlaceForm->setItemPrototypes(prototypes);
-
-	// Construct the settings utility.
-	mSettingsUtility = new SettingsUtility();
-	mTimeZoneClient = TimezoneClient::getInstance();
-	mTimeAutoUpdate = mTimeZoneClient->timeUpdateOn();
-}
-
-/*!
-    Destructor.
- */
-FtuDateTimeView::~FtuDateTimeView()
-{
-	delete mDateTimePlaceForm;
-	delete mDateTimePlaceModel;
-	delete mSettingsUtility;
-
-	if (!mTimeZoneClient->isNull()) {
-		mTimeZoneClient->deleteInstance();
-	}
-}
-/*!
-    Creates the main view.
- */
-void FtuDateTimeView::constructView()
-{
-	createMainLayout();
-	setWidget(mDateTimePlaceForm);
-}
-
-/*!
-    Implemantation to create the main layout using the dataform.
- */
-void FtuDateTimeView::createMainLayout()
-{
-	if (mDateTimePlaceForm->model()) {
-		delete mDateTimePlaceForm->model();
-		mDateTimePlaceForm->setModel(0);
-	}
-
-	mDateTimePlaceModel = new HbDataFormModel();
-
-	// Populates the datetime and place groups
-	populateDateTimeGroup();
-	populatePlaceGroup();
-
-	setItemDisplayed();
-	mDateTimePlaceForm->setModel(mDateTimePlaceModel);
-}
-
-/*!
-    Populates the Date and Time Group.
- */
-void FtuDateTimeView::populateDateTimeGroup()
-{
-	HbDataFormModelItem *dateTimeGroup =
-			mDateTimePlaceModel->appendDataFormGroup
-			(QString(tr("Date and Time")),
-			 mDateTimePlaceModel->invisibleRootItem());
-
-	//Custom Date item
-	mDateItem = mDateTimePlaceModel->appendDataFormItem(
-								HbDataFormModelItem::CustomItemBase,
-								QString(tr("Date")), dateTimeGroup);
-	// Custom Time item
-	mTimeItem = mDateTimePlaceModel->appendDataFormItem(
-								HbDataFormModelItem::CustomItemBase,
-								QString(tr("Time")), dateTimeGroup);
-	// Auto TimeUpdate item
-	mAutoTimeUpdateItem = mDateTimePlaceModel->appendDataFormItem(
-								HbDataFormModelItem::CustomItemBase,
-								QString(tr("Time Autoupdate")), dateTimeGroup);
-
-	// Connect the items to the proper slots
-	mDateTimePlaceForm->addConnection(mDateItem, SIGNAL(clicked()), this,
-								SLOT(populateDatePicker()));
-	mDateTimePlaceForm->addConnection(mTimeItem, SIGNAL(clicked()), this,
-								SLOT(populateTimePicker()));
-	mDateTimePlaceForm->addConnection(mAutoTimeUpdateItem, SIGNAL(clicked()),
-								this, SLOT(setAutoTimeupDate()));
-}
-
-/*!
-    Populates the Place Group.
- */
-void FtuDateTimeView::populatePlaceGroup()
-{
-	mPlaceGroup = mDateTimePlaceModel->appendDataFormGroup(QString(tr("Place")),
-									mDateTimePlaceModel->invisibleRootItem());
-	// Custom country item
-	mCountryItem = mDateTimePlaceModel->appendDataFormItem(
-									HbDataFormModelItem::CustomItemBase,
-									QString(tr("Country")), mPlaceGroup);
-	// Custom city item
-	mCityItem = mDateTimePlaceModel->appendDataFormItem(
-									HbDataFormModelItem::CustomItemBase,
-									QString(tr("City")), mPlaceGroup);
-
-	// Connect the items to the proper slots
-	mDateTimePlaceForm->addConnection(mCountryItem, SIGNAL(clicked()), this,
-									SLOT(populateCitySelectionList()));
-	mDateTimePlaceForm->addConnection(mCityItem, SIGNAL(clicked()), this,
-									SLOT(populateCitySelectionList()));
-
-
-}
-
-/*!
-    Sets the item index.
- */
-void FtuDateTimeView::setItemDisplayed()
-{
-	// Display the items with proper data
-	mDateItem->setContentWidgetData("text", mSettingsUtility->date());
-	mTimeItem->setContentWidgetData("text", mSettingsUtility->time());
-
-	if (mTimeAutoUpdate) {
-		mAutoTimeUpdateItem->setContentWidgetData("text", tr("ON"));
-	} else {
-		mAutoTimeUpdateItem->setContentWidgetData("text", tr("OFF"));
-	}
-	mCountryItem->setContentWidgetData("text",
-							mTimeZoneClient->getCurrentZoneInfoL().countryName);
-	mCityItem->setContentWidgetData("text",
-							mTimeZoneClient->getCurrentZoneInfoL().cityName);
-
-	// Set the date,time,country and city fields disable
-	// if auto time update is ON
-	if (mTimeAutoUpdate) {
-		mDateItem->setEnabled(false);
-		mTimeItem->setEnabled(false);
-		mCountryItem->setEnabled(false);
-		mCityItem->setEnabled(false);
-	}
-}
-
-/*!
-    Populates the Date Picker.
- */
-void FtuDateTimeView::populateDatePicker()
-{
-	if (mDatePickerDialog) {
-		delete mDatePickerDialog;
-	}
-	mDatePickerDialog = new HbDialog();
-
-	mDatePickerDialog->setDismissPolicy(HbDialog::NoDismiss);
-	mDatePickerDialog->setTimeout(HbDialog::NoDismiss);
-
-	if(mDatePicker) {
-		mDatePicker = NULL;
-	}
-	mDatePicker = new HbDateTimePicker(QDate::currentDate(),
-	                                   this);
-	mDatePicker->setMinimumDate(QDate::fromString("01/01/1900", "dd/MM/yyyy"));
-	mDatePicker->setMaximumDate(QDate::fromString("31/12/2100", "dd/MM/yyyy"));
-
-	mDatePickerDialog->setContentWidget(mDatePicker);
-
-	// Add ok and cancel actions.
-	mOkAction = new HbAction(
-			hbTrId("txt_common_button_ok"), mDatePickerDialog);
-	mCancelAction =  new HbAction(
-			hbTrId("txt_common_button_cancel"), mDatePickerDialog);
-
-	mDatePickerDialog->addAction(mOkAction);
-	mDatePickerDialog->addAction(mCancelAction);
-
-	mDatePickerDialog->open(this, SLOT(selectedAction(HbAction *)));
-}
-
-/*!
-    Populates the Time Picker.
- */
-void FtuDateTimeView::populateTimePicker()
-{
-	if (mTimePickerDialog) {
-		delete mTimePickerDialog;
-	}
-	mTimePickerDialog = new HbDialog();
-	mTimePickerDialog->setDismissPolicy(HbDialog::NoDismiss);
-	mTimePickerDialog->setTimeout(HbDialog::NoDismiss);
-
-	if(mTimePicker) {
-		mTimePicker = NULL;
-	}
-	mTimePicker = new HbDateTimePicker(
-			QTime().currentTime(), this);
-	mTimePicker->setDisplayFormat(mSettingsUtility->timeFormatString());
-
-	mTimePickerDialog->setContentWidget(mTimePicker);
-
-	// Add ok and cancel actions.
-	mOkAction = new HbAction(
-			hbTrId("txt_common_button_ok"), mTimePickerDialog);
-
-	mCancelAction = new HbAction(
-			hbTrId("txt_common_button_cancel"), mTimePickerDialog);
-
-	mTimePickerDialog->addAction(mOkAction);
-	mTimePickerDialog->addAction(mCancelAction);
-
-	mTimePickerDialog->open(this, SLOT(selectedAction(HbAction*)));
-}
-
-/*!
-    Sets the Auto Time update.
- */
-void FtuDateTimeView::setAutoTimeupDate()
-{
-	if (mTimeAutoUpdate) {
-		mAutoTimeUpdateItem->setContentWidgetData("text", "OFF");
-		// Set the fields enabled if auto time update is OFF
-		mDateItem->setEnabled(true);
-		mTimeItem->setEnabled(true);
-		mCountryItem->setEnabled(true);
-		mCityItem->setEnabled(true);
-		// SetAutomaticTimeUpdate OFF, UnLoad the Plugins
-		setAutomaticTimeUpdateOff(false);
-	} else {
-		mAutoTimeUpdateItem->setContentWidgetData("text", "ON");
-		// Set the fields disabled if auto time update is ON
-		mDateItem->setEnabled(false);
-		mTimeItem->setEnabled(false);
-		mCountryItem->setEnabled(false);
-		mCityItem->setEnabled(false);
-		// SetAutomaticTimeUpdate ON, Load the Plugins
-		setAutomaticTimeUpdateOff(true);
-	}
-	wizardEditedDate(QDate::currentDate());
-}
-
-/*!
-    Populates the City Selection List.
- */
-void FtuDateTimeView::populateCitySelectionList()
-{
-	if(mCitySelectionList) {
-		mCitySelectionList = NULL;
-	}
-	mCitySelectionList = new ClockCitySelectionList(mTimeZoneClient, this);
-	connect(mCitySelectionList,SIGNAL(citySelected(LocationInfo)),
-	        SLOT(HandleLocationChange(LocationInfo)));
-	mCitySelectionList->showCityList();
-}
-
-/*!
-	Slot to handle the case when a city has been selected from the city.
-	\param info of type LocationInfo which contains the city selected.
- */
-void FtuDateTimeView::HandleLocationChange(LocationInfo location)
-{
-	// Check if the location is valid. If its not valid the timezoneId will be -1
-	if(location.timezoneId != -1) {
-		// Set the location
-		mTimeZoneClient->setAsCurrentLocationL(location);
-		mCountryItem->setContentWidgetData("text", location.countryName);
-		mCityItem->setContentWidgetData("text", location.cityName);
-	}
-	// Cleanup
-	mCitySelectionList->deleteLater();
-}
-
-/*!
-	Slot to handle the selected action.
- */
-void FtuDateTimeView::selectedAction(HbAction *action)
-{
-	// Update time/date based on the picker selected.
-	if (action == mOkAction) {
-		if (mTimePickerDialog) {
-			updateTime();
-		} else if(mDatePickerDialog) {
-			updateDate();
-		}
-	}else {
-		if(mTimePickerDialog) {
-			mTimePickerDialog->deleteLater();
-		} else if(mDatePickerDialog) {
-			mDatePickerDialog->deleteLater();
-		}
-	}
-}
-
-/*!
-    Sets the device date.
- */
-void FtuDateTimeView::updateDate()
-{
-	QDate date = mDatePicker->date();
-	// Set device Date
-	if (date.isValid()) {
-		mDateItem->setContentWidgetData("text",
-						date.toString(mSettingsUtility->dateFormatString()));
-		mTimeZoneClient->setDateTime(QDateTime(date, QTime::currentTime()));
-		wizardEditedDate(date);
-	}
-}
-
-/*!
-    Sets the device time.
- */
-void FtuDateTimeView::updateTime()
-{
-	QTime time = mTimePicker->time();
-	// Set device Time
-	if (time.isValid()) {
-		mTimeItem->setContentWidgetData("text",
-						time.toString(mSettingsUtility->timeFormatString()));
-		mTimeZoneClient->setDateTime(QDateTime(QDate::currentDate(), time));
-		wizardEditedDate(QDate::currentDate());
-	}
-
-}
-
-/*!
-    Gets the wizard completed status.
- */
-QDate FtuDateTimeView::getWizardCompletedDate()
-{
-	XQSettingsManager *settingsManager = new XQSettingsManager();
-	XQSettingsKey *ftuPluginDateCenrepKey =
-			new XQSettingsKey(XQSettingsKey::TargetCentralRepository,
-			                  KCRUidClockApp, KFtuPluginDate);
-	// Read the initial values from the cenrep
-	QString dateString = settingsManager->readItemValue(*ftuPluginDateCenrepKey,
-	                                                    XQSettingsManager::TypeString).toString();
-	QDate completedDate = QDate::fromString(dateString,
-	                                        mSettingsUtility->dateFormatString());
-
-	// Cleanup.
-	delete ftuPluginDateCenrepKey;
-	delete settingsManager;
-
-	return completedDate;
-}
-
-/*!
-    Gets the wizard Edited date.
- */
-void FtuDateTimeView::wizardEditedDate(const QDate &date)
-{
-	XQSettingsManager *settingsManager = new XQSettingsManager();
-	XQSettingsKey *ftuPluginDateCenrepKey =
-			new XQSettingsKey(XQSettingsKey::TargetCentralRepository,
-			                  KCRUidClockApp, KFtuPluginDate);
-	QString dateString = date.toString(mSettingsUtility->dateFormatString());
-	settingsManager->writeItemValue(*ftuPluginDateCenrepKey,dateString);
-
-	// Cleanup.
-	delete ftuPluginDateCenrepKey;
-	delete settingsManager;
-}
-
-/*!
-    To set AutomaticTimeUpdate
- */
-void FtuDateTimeView::setAutomaticTimeUpdateOff(bool value)
-{
-	mTimeZoneClient->setTimeUpdateOn(value);
-	mTimeAutoUpdate = value;
-}
-// End of file  --Don't remove this.
--- a/clock/ftudatetimewizard/src/ftudatetimewizard.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,169 +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:
- *
- */
-
-// System includes
-#include <QGraphicsLayout>
-#include <centralrepository.h>
-#include <xqsettingsmanager.h>
-#include <xqsettingskey.h>
-// User includes
-#include "ftudatetimewizard.h"
-#include "ftudatetimeview.h"
-#include "ftudatetimeprivatecrkeys.h"
-
-static const char* dateTimeTitle = "Date and Time";
-static const char* dateTimeInfoText = "Set your Date Time and Location";
-static const char* dateTimeStripIcon =
-		":/images/ftudatetimewizard_menustrip_icon.svg";
-static const char* dateTimeTocIcon = ":/images/ftudatetimewizard_toc_icon.svg";
-
-/*!
-    \class FtuDateTimeWizard
-    This is the FTU Date time plugin wizard
- */
-
-/*!
-    Constructor.
- */
-FtuDateTimeWizard::FtuDateTimeWizard()
-{
-	// Set up wizard settings 
-	mWizardSettings.mMenustripDefaultIcon = QFileInfo(dateTimeStripIcon);
-	mWizardSettings.mMenustripPressedIcon = QFileInfo(dateTimeStripIcon);
-	mWizardSettings.mMenustripFocussedIcon = QFileInfo(dateTimeStripIcon);
-	mWizardSettings.mMenustripLabel = tr(dateTimeTitle);
-
-	mWizardSettings.mTocDefaultIcon = QFileInfo(dateTimeTocIcon);
-	mWizardSettings.mTocPressedIcon = QFileInfo(dateTimeTocIcon);
-	mWizardSettings.mTocFocussedIcon = QFileInfo(dateTimeTocIcon);
-	mWizardSettings.mTocLabel = tr(dateTimeTitle);
-}
-
-/*!
-    Destructor.
- */
-FtuDateTimeWizard::~FtuDateTimeWizard()
-{
-	//delete mWizardSettings;
-}
-
-/*!
-    Initialises the wizard.This is called by the FTU framework
- */
-void FtuDateTimeWizard::initializeWizard(qint32 cenrepOwnerId, int wizardIdx)
-{
-	Q_UNUSED(cenrepOwnerId)
-	Q_UNUSED(wizardIdx)
-
-	//Check if valid Nitz info is received
-	XQSettingsManager *settingsManager = new XQSettingsManager();
-	XQSettingsKey *validNitzCenrepKey = 
-			new XQSettingsKey(XQSettingsKey::TargetCentralRepository, KCRUidNitz, KValidNitz);
-	// Read the initial values from the cenrep
-	int validNitz = settingsManager->readItemValue(*validNitzCenrepKey).toInt();
-
-	//Clean up
-	delete validNitzCenrepKey;
-	delete settingsManager;
-
-	// The plugin will be loaded only if valid Nitz info is not received
-	if(validNitz == 0) {
-		// Set up view
-		if (mFtuDateTimeView == NULL) {
-			mFtuDateTimeView = new FtuDateTimeView();
-			mFtuDateTimeView->setAutomaticTimeUpdateOff(false);
-		}
-		// If our main view is not created, signal with false.
-		emit wizardInitialized(this, ((mFtuDateTimeView) ? true: false));
-	}
-	else {
-		emit wizardInitialized(this, false);
-	}
-}
-
-/*!
-    Activates the wizard.
-    Is called by the FTU framework when wizard becomes the current wizard
- */
-void FtuDateTimeWizard::activateWizard()
-{
-	mFtuDateTimeView->constructView();
-	// Signal info text to FTU framework
-	emit
-	infoTextUpdated(this, tr(dateTimeInfoText));
-
-	// Signal view change
-	emit viewChanged(this, mFtuDateTimeView);
-}
-
-/*!
-    Deactivates the wizard.Is called by FTU framework when wizard is no longer displayed.
-    Frees up resources that need not persist between wizard plugin activations.
- */
-void FtuDateTimeWizard::deactivateWizard()
-{
-	// Destroy everything but the initial view and data that takes a long time
-	// to reacquire when the plugin is later re-activated.
-}
-
-/*!
-    Notifies the FTU FW how the wizard is been shutdown.
-    Its called by FTU framework before the wizard plugin destructor is called.
-    /param reason for the ShutDown
- */
-bool FtuDateTimeWizard::shutdownWizard(FtuWizard::ShutdownReason reason)
-{
-	// Destroy all views
-	Q_UNUSED(reason);
-	return true;
-}
-
-/*!
-    Relayoutes the views for new size.
-    /param geometry
- */
-void FtuDateTimeWizard::resizeWizard(const QRectF& geometry)
-{
-	Q_UNUSED(geometry)
-	// Relayout view for new size   
-}
-
-/*!
-    Returns the settings for FTU framework.
- */
-const FtuWizardSetting& FtuDateTimeWizard::wizardSettings()
-{
-	return mWizardSettings;
-}
-
-/*!
-    Handles the back event.
- */
-bool FtuDateTimeWizard::handleBackEvent()
-{
-	return false;
-}
-
-/*!
-    Returns the wizard completed date.
- */
-QDate FtuDateTimeWizard::wizardCompletedDate()
-{
-	return (mFtuDateTimeView->getWizardCompletedDate());
-}
-
-// End of file  --Don't remove this.
--- a/clock/ftudatetimewizard/src/ftudatetimewizardfactory.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +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: Wizard plugin factory class to instantiate the wizard plugin
- *
- */
-
-// System includes
-#include <QtGui> // For Q_EXPORT_PLUGIN2
-
-// User includes
-#include "ftudatetimewizardfactory.h"
-#include "ftudatetimewizard.h"
-
-/*!
-    Returns the FTU plugin wizard instance.
- */
-FtuWizard* FtuDateTimeWizardFactory::createWizard() const
-{
-	return new FtuDateTimeWizard();
-}
-
-Q_EXPORT_PLUGIN2(ftudatetimeplugin, FtuDateTimeWizardFactory)
-
-// End of file  --Don't remove this.
--- a/clock/inc/clockcommon.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/inc/clockcommon.h	Thu Jul 22 16:32:51 2010 +0100
@@ -27,16 +27,6 @@
 const QString PATH_TEXT("C:/");
 const int KMaximumCityListCount(50);
 
-const long int KCRUidNitz =  { 0x101F8876 };
-/** Active Protocol key */
-const long int KActiveProtocol = 0x00000001;
-/** Previous alarm time high */
-const long int KPreviousAlarmTime = 0x00000002;
-
-const long int KCRUidClockApp =  { 0x101F874D };
-/** Alarm snooze time key */
-const long int KClockAppSnoozeTime = 0x00000002;
-
 // Common definitions for docml.
 #define CLOCK_MAIN_VIEW_DOCML						":/xml/clockmainview.docml"
 #define CLOCK_MAIN_VIEW_PORTRAIT_SECTION			"portrait"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/inc/clockprivatecrkeys.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,32 @@
+/*
+* 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 keys used by application.
+*
+*/
+
+#ifndef CLOCKPRIVATECRKEYS_H
+#define CLOCKPRIVATECRKEYS_H
+
+/** Nitz Settings */
+/** Provides access to the Nitz status.*/
+const long int KCRUidNitz =  { 0x101F8876 };
+/** Active Protocol key */
+const long int KActiveProtocol = 0x00000000;
+/** Previous alarm time high */
+const long int KPreviousAlarmTime = 0x00000001;
+
+#endif	// CLOCKPRIVATECRKEYS_H
+
+// End of file	--Don't remove this.
+
--- a/clock/rom/clock.iby	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/rom/clock.iby	Thu Jul 22 16:32:51 2010 +0100
@@ -41,6 +41,9 @@
 
 data=DATAZ_\resource\mcc\mcc.rsc										RESOURCE_FILES_DIR\mcc\mcc.rsc
 
+// Stub sis
+data=DATAZ_\system\install\clock_stub.sis        						\System\Install\clock_stub.sis
+
 // Binaries.
 file=ABI_DIR\BUILD_DIR\clockalarmclient.dll								SHARED_LIB_DIR\clockalarmclient.dll
 file=ABI_DIR\BUILD_DIR\timezoneclient.dll								SHARED_LIB_DIR\timezoneclient.dll
@@ -52,11 +55,14 @@
 file=ABI_DIR\BUILD_DIR\clockviewmanager.dll								SHARED_LIB_DIR\clockviewmanager.dll
 file=ABI_DIR\BUILD_DIR\clockviews.dll									SHARED_LIB_DIR\clockviews.dll
 file=ABI_DIR\BUILD_DIR\clockwidget.dll									SHARED_LIB_DIR\clockwidget.dll
-file=ABI_DIR\BUILD_DIR\clockwidgetplugin.dll									SHARED_LIB_DIR\clockwidgetplugin.dll
+file=ABI_DIR\BUILD_DIR\clockwidgetplugin.dll							SHARED_LIB_DIR\clockwidgetplugin.dll
 
 file=ABI_DIR\BUILD_DIR\datetimesettingsplugin.dll				        SHARED_LIB_DIR\datetimesettingsplugin.dll
 data=\epoc32\data\c\resource\qt\plugins\controlpanel\datetimesettingsplugin.qtplugin					resource\qt\plugins\controlpanel\datetimesettingsplugin.qtplugin
 
+file=ABI_DIR\BUILD_DIR\clocksettingsviewplugin.dll				        SHARED_LIB_DIR\clocksettingsviewplugin.dll
+data=\epoc32\data\z\resource\qt\plugins\clock\clocksettingsviewplugin.qtplugin             resource\qt\plugins\clock\clocksettingsviewplugin.qtplugin
+
 #endif // CLOCK_IBY
 
 // End of file  --Don't remove this.
--- a/clock/rom/clockengines.iby	Tue Jun 15 15:22:54 2010 +0100
+++ b/clock/rom/clockengines.iby	Thu Jul 22 16:32:51 2010 +0100
@@ -34,10 +34,11 @@
 // ECOM plugins
 ECOM_PLUGIN( clocknitzplugin.dll, clocknitzplugin.rsc )
 
+// TODO : The following will be uncommented once implemented.
 // Backup registration files
-data=DATAZ_\private\10005906\backup_registration.xml		private\10005906\backup_registration.xml
-data=DATAZ_\private\10005903\backup_registration.xml		private\10005903\backup_registration.xml
-data=DATAZ_\private\200159A2\backup_registration.xml		private\200159A2\backup_registration.xml
+// data=DATAZ_\private\10005906\backup_registration.xml		private\10005906\backup_registration.xml
+// data=DATAZ_\private\10005903\backup_registration.xml		private\10005903\backup_registration.xml
+// data=DATAZ_\private\200159A2\backup_registration.xml		private\200159A2\backup_registration.xml
 
 #endif			// __CLOCKENGINES_IBY__
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/sis/clock.pkg	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,75 @@
+;
+; 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: pkg file  of Clock Application for IAD.
+;
+
+; Language
+&EN
+
+; standard SIS file header
+#{"Clock"}, (0x10005903), 1, 0, 0, TYPE=SA, RU
+
+; Localised vendor name
+%{"Nokia"}
+
+; Unique vendor name
+:"Nokia"
+
+; Clock engine components
+"/epoc32/release/armv5/urel/clockserver.exe"							- "!:/sys/bin/clockserver.exe"
+"/epoc32/release/armv5/urel/clockserverclient.dll"						- "!:/sys/bin/clockserverclient.dll"
+"/epoc32/release/armv5/urel/clocktimezoneresolver.dll"					- "!:/sys/bin/clocktimezoneresolver.dll"
+"/epoc32/release/armv5/urel/clocktimesourceinterface.dll"				- "!:/sys/bin/clocktimesourceinterface.dll"
+"/epoc32/release/armv5/urel/clockecomlistener.dll"						- "!:/sys/bin/clockecomlistener.dll"
+
+; Clock nitz Ecom plugin
+"/epoc32/release/armv5/urel/clocknitzplugin.dll"        				- "!:/sys/bin/clocknitzplugin.dll"
+"/epoc32/data/z/resource/plugins/clocknitzplugin.rsc"   				- "!:/resource/plugins/clocknitzplugin.rsc"
+
+; Clock executable and default resource files
+
+"/epoc32/release/armv5/urel/clock.exe"									- "!:/sys/bin/clock.exe"
+"/epoc32/data/Z/private/10003a3f/import/apps/clock_reg.rsc"				- "!:/private/10003a3f/import/apps/clock_reg.rsc"
+"/epoc32/data/z/resource/apps/clock.rsc"                          		- "!:/resource/apps/clock.rsc"
+"/epoc32/data/z/resource/qt/translations/clock_en.qm"            		- "!:/resource/qt/translations/clock_en.qm"
+
+
+"/epoc32/release/armv5/urel/clockalarmclient.dll"						- "!:/sys/bin/clockalarmclient.dll"
+"/epoc32/release/armv5/urel/timezoneclient.dll"				    		- "!:/sys/bin/timezoneclient.dll"
+"/epoc32/release/armv5/urel/clocksettingsutility.dll"					- "!:/sys/bin/clocksettingsutility.dll"
+"/epoc32/release/armv5/urel/clocksettingsview.dll"			    		- "!:/sys/bin/clocksettingsview.dll"
+"/epoc32/release/armv5/urel/clockcityselectionlist.dll"             	- "!:/sys/bin/clockcityselectionlist.dll"
+"/epoc32/release/armv5/urel/clockalarmeditor.dll"						- "!:/sys/bin/clockalarmeditor.dll"
+"/epoc32/release/armv5/urel/clockappcontroller.dll"             		- "!:/sys/bin/clockappcontroller.dll"
+"/epoc32/release/armv5/urel/clockviewmanager.dll"						- "!:/sys/bin/clockviewmanager.dll"
+"/epoc32/release/armv5/urel/clockviews.dll"             				- "!:/sys/bin/clockviews.dll"
+"/epoc32/release/armv5/urel/clockwidget.dll"							- "!:/sys/bin/clockwidget.dll"
+"/epoc32/release/armv5/urel/clockwidgetplugin.dll"             			- "!:/sys/bin/clockwidgetplugin.dll"
+
+"/epoc32/data/Z/resource/mcc/mcc.rsc"									-"!:/resource/mcc/mcc.rsc"
+"/epoc32/data/Z/resource/timezonelocalization/timezones.rsc"			-"!:/resource/timezonelocalization/timezones.rsc"
+"/epoc32/data/Z/resource/timezonelocalization/timezonegroups.rsc"		-"!:/resource/timezonelocalization/timezonegroups.rsc"
+
+;Qt plugin files to be installed
+"/epoc32/release/armv5/urel/datetimesettingsplugin.dll"					- "!:/sys/bin/datetimesettingsplugin.dll"
+"/epoc32/data/c/resource/qt/plugins/controlpanel/datetimesettingsplugin.qtplugin"		- "!:/resource/qt/plugins/controlpanel/datetimesettingsplugin.qtplugin"
+
+"/epoc32/release/armv5/urel/clocksettingsviewplugin.dll"					- "!:/sys/bin/clocksettingsviewplugin.dll"
+"/epoc32/data/z/resource/qt/plugins/clock/clocksettingsviewplugin.qtplugin"		- "!:/resource/qt/plugins/clock/clocksettingsviewplugin.qtplugin"
+
+"/epoc32/release/armv5/urel/ftudatetimewizard.dll"						- "!:/sys/bin/ftudatetimewizard.dll"
+"/epoc32/data/z/resource/qt/plugins/FTU/ftudatetimewizard.qtplugin"		- "!:/resource/qt/plugins/FTU/ftudatetimewizard.qtplugin"
+"/epoc32/data/z/fturesources/plugins/wizardproviders/ftudatetimewizard.manifest"               - "!:/fturesources/plugins/wizardproviders/ftudatetimewizard.manifest"
+
+;END OF FILE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/sis/createandsign.bat	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,22 @@
+rem
+rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+rem All rights reserved.
+rem This component and the accompanying materials are made available
+rem under the terms of "Eclipse Public License v1.0"
+rem which accompanies this distribution, and is available
+rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+rem
+rem Initial Contributors:
+rem Nokia Corporation - initial contribution.
+rem
+rem Contributors:
+rem
+rem Description: Bat file to create Clock Application's sisx.
+rem
+
+@echo -------- Create sis packages ---------
+makesis clock.pkg
+
+@echo -------- Sign and rename sis packages -----------
+signsis clock.sis clock.sisx Nokia_RnDCert_02.der Nokia_RnDCert_02.key
+	
Binary file clock/sis/nokia_rndcert_02.der has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/sis/nokia_rndcert_02.key	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXQIBAAKBgQC/TDP7KKIaf5+uW4OD2iVZuUMC2a+SeQTjf6srlKcOm+CpPNXn
+uLNm/8fdEnyOIuRXPRKmqhs1n0JkxEGHynELWMTuKXbQx9SRAGUXzyneGn+IJNnO
+vOKHWgKCouX2hfI8rtkdqJpqmO460gGsMgw+lsbeyWyW9lnfLxq+ZC7sqQIDAQAB
+AoGBALmUWZE8GBaQ3P4u9WUCSd3DJkkrmXIFSULSZeH/chlwCwDjbbhArHothVzo
+REE3hEFFlERvHbplZ+mNouzy7boduvgUzbksGrbGMLJ2qO1GzWWVwV+GzOWKd3ss
+/98Gwoy5R8pjnkqUE2wP1iJFw0FjvUTKcYv/z6t3LLJ0CsoBAkEA+c7ixvsviQ3J
+s0INytCKU2bf8fqFQJi1VI82ukxNsujGTQ9upVSjuvqPvWyDvvTdrUBHqO+3qPut
+sEh01Q8aiQJBAMQKDJPVRu4ud3mwUfEavzL5EjqwG1k9VCNGYsT4FwtrHcxu1oP/
+pk6M3rIZukqomoEEnHWPMwhrK3fhBqi0OSECQQDr40VXege4FnH5OI2Hj4afHMyp
+VdQQXGMWFyopnzXblFz0lXb43cTCIiorR9XcMqNFHybLypkWE5o+lRzlt55pAkBQ
+P/zeF5Sts//cpL0mgdh7OVKpC6ZmZaCnwAx2rUhhuDu+kDDoYCLoTOps5fNI1LRK
+1GRoC3LMo3Jr5IYhUYWBAkBpCpN6k4JU/mszq98EojHerQNxk8sPqvQKUzTutohT
+1gLX9yepGayB/TtT2EEJDkWOlnTy/dvN6W3vzbJYz97x
+-----END RSA PRIVATE KEY-----
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/stubsis/clock_stub.pkg	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,27 @@
+;
+; 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: pkg file  of Clock Application for IAD.
+;
+
+; Language
+&EN
+
+; Header
+#{"Clock"}, (0x10005903), 1, 0, 0, TYPE=SA
+
+; Localised vendor name
+%{"Nokia"}
+
+; Unique vendor name
+:"Nokia"
\ No newline at end of file
Binary file clock/stubsis/clock_stub.sis has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/tsrc/tsrc.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,20 @@
+#  
+# 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:
+# This is the project specification file clock test code
+#
+
+# include test components here
+
+# End of file	--Don't remove this
--- a/notes/data/notes.qrc	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/data/notes.qrc	Thu Jul 22 16:32:51 2010 +0100
@@ -1,1 +1,1 @@
-<!DOCTYPE RCC><RCC version="1.0">	<qresource prefix="/translations">		<file alias="notes">translations/notes.qm</file>	</qresource>	<qresource prefix="/xml">		<file alias="notesmainview.docml">xml/notesmainview.docml</file>		<file alias="notescollectionsview.docml">xml/notescollectionsview.docml</file>		<file alias="notestodoview.docml">xml/notestodoview.docml</file>		<file alias="notesfavoriteview.docml">xml/notesfavoriteview.docml</file>		<file alias="notesnoteview.docml">xml/notesnoteview.docml</file>	</qresource>	<qresource prefix= "/style">		<file alias="hblistviewitem.css">style/hblistviewitem.css</file>		<file alias="hblistviewitem.widgetml">style/hblistviewitem.widgetml</file>	</qresource></RCC>
\ No newline at end of file
+<!DOCTYPE RCC><RCC version="1.0">	<qresource prefix="/xml">		<file alias="notesmainview.docml">xml/notesmainview.docml</file>		<file alias="notescollectionsview.docml">xml/notescollectionsview.docml</file>		<file alias="notestodoview.docml">xml/notestodoview.docml</file>		<file alias="notesfavoriteview.docml">xml/notesfavoriteview.docml</file>		<file alias="notesnoteview.docml">xml/notesnoteview.docml</file>	</qresource>	<qresource prefix= "/style">		<file alias="hblistviewitem.css">style/hblistviewitem.css</file>		<file alias="hblistviewitem.widgetml">style/hblistviewitem.widgetml</file>	</qresource></RCC>
\ No newline at end of file
Binary file notes/data/translations/notes.qm has changed
--- a/notes/data/translations/notes.ts	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,856 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="3.0" sourcelanguage="en_GB">
-<context>
-<message numerus="no" id="txt_notes_list_due_date">
-    <comment>Due date for To-do note</comment>        
-    <source>%1</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_pri_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P11</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_button_new_todo">
-    <comment>Toolbar button to create new To-do note</comment>        
-    <source>New To-do </source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_toolbar_tiny_4</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_L7</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_formlabel_val_description">
-    <comment>Default texxt value for Description field in a dataform</comment>        
-    <source>Description</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dataform_editor_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P12</extra-loc-viewid>
-    <extra-loc-positionid>formlabel_5_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_formlabel_val_subject">
-    <comment>Default text value for Subject field in a dataform</comment>        
-    <source>Subject</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dataform_editor_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P12</extra-loc-viewid>
-    <extra-loc-positionid>formlabel_4_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_menu_make_it_as_todo_note">
-    <comment>Item specific menu item . This action launchs the To-Do editor to add due date and remainder for the selected note</comment>        
-    <source>Make it as To-do note</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>menu</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_button_find">
-    <comment>toolbar button text in landscape mode . If user taps on this button, Find functionality is enabled in all notes view</comment>        
-    <source>Find</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_toolbar_tiny_4</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_L1</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_subhead_todo">
-    <comment>Sub title in To-do Editor</comment>        
-    <source>To-do</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P8</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_opt_new_note">
-    <comment>Option menu item to create new note</comment>        
-    <source>New note</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P5</extra-loc-viewid>
-    <extra-loc-positionid>opt</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dblist_note_modified_at_time">
-    <comment>Secondary text item to mention modification time for a note</comment>        
-    <source>Modified at %1</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>dblist_14_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_setlabel_priority_val_low">
-    <comment>Priority value in Combo Box used in a dataform</comment>        
-    <source>Low</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dataform_combobox_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P8</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_4_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dblist_val_created_on_1_2">
-    <comment>Secondary text item to mention creation date and time for a task</comment>        
-    <source>Created on %1 %2</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>dblist_1_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_title_alarm_time">
-    <comment>Message dialog header text . Time picker component embedded</comment>        
-    <source>Alarm time</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_pri_heading</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P9</extra-loc-viewid>
-    <extra-loc-positionid>title</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_formlabel_due_date">
-    <comment>Label item in Data form </comment>        
-    <source>Due date</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dataform_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P8</extra-loc-viewid>
-    <extra-loc-positionid>formlabel_1</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_opt_remove_description">
-    <comment>Options menu item to remove description from the To-do editor</comment>        
-    <source>Remove description</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P12</extra-loc-viewid>
-    <extra-loc-positionid>opt</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_title_alarm_date">
-    <comment>Message dialog header text . Date picker component embedded</comment>        
-    <source>Alarm date</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_pri_heading</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P9</extra-loc-viewid>
-    <extra-loc-positionid>title</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_menu_mark_as_not_done">
-    <comment>Item specific menu item to mark a task as not done</comment>        
-    <source>Mark as not done</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>menu</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dpopinfo_note_saved">
-    <comment>Soft notification dialog info text. This dialog is displayed once the note is modified and saved</comment>        
-    <source>Note saved</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes</extra-loc-viewid>
-    <extra-loc-positionid>dpopinfo</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_button_new_note">
-    <comment>toolbar button text in landscape mode . If user taps on this button, Notes editor is launched to add note</comment>        
-    <source>New note</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_toolbar_tiny_4</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_L1</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dblist_note_created_at_time">
-    <comment>Secondary text item to mention creation time for a note</comment>        
-    <source>Created at %1</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>dblist_12_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="yes" id="txt_notes_subhead_ln_notes">
-    <comment>Sub title for All Notes view</comment>        
-    <source>%Ln Notes</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dblist_description">
-    <comment>Primary text label in To-do Viewer</comment>        
-    <source>Description:</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P11</extra-loc-viewid>
-    <extra-loc-positionid>dblist_7</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dblist_subject">
-    <comment>Primary text label in To-do viewer</comment>        
-    <source>Subject:</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_pri_graphic_add</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P11</extra-loc-viewid>
-    <extra-loc-positionid>dblist_5</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_opt_add_description">
-    <comment>Options menu item to add description field in To-do note editor</comment>        
-    <source>Add description</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P8</extra-loc-viewid>
-    <extra-loc-positionid>opt</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_list_note_count">
-    <comment>List item to show the number&lt;Count&gt;  of items (To-Dos, Recent notes, Favourites) - Right side of the list item</comment>        
-    <source>[ %1 ]</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P2</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_button_due_date">
-    <comment>Date push button in Data Form to set due date for a To-do note. This action opens the date picker component</comment>        
-    <source>%1</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dataform_button_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P8</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_setlabel_priority_val_high">
-    <comment>Priority value in Combo Box used in a dataform</comment>        
-    <source>High</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dataform_combobox_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P8</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_4_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dblist_completed_date_val_1">
-    <comment>Completed date value (Secondary text ) in To-do viewer</comment>        
-    <source>%1</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P11</extra-loc-viewid>
-    <extra-loc-positionid>dblist_6_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_opt_discard_changes">
-    <comment>Option menu item to discard the changes done in the notes editor</comment>        
-    <source>Discard changes</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P5</extra-loc-viewid>
-    <extra-loc-positionid>opt</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_short_caption_notes">
-    <comment>Notes application in application library grid view</comment>        
-    <source>Notes</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_grid_applications_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_button_dialog_delete">
-    <comment>Delete - Confirmation dialog softkey button </comment>        
-    <source>Delete</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_softkey_2</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P19</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_opt_mark_as_not_done">
-    <comment>Options menu item to change the completed to-do status to not-completed</comment>        
-    <source>Mark as not done</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P11</extra-loc-viewid>
-    <extra-loc-positionid>opt</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dblist_completed_date">
-    <comment>Primary text label in To-do viewer</comment>        
-    <source>Completed date:</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P11</extra-loc-viewid>
-    <extra-loc-positionid>dblist_6</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_setlabel_priority_val_normal">
-    <comment>Priority value in Combo Box used in a dataform</comment>        
-    <source>Normal</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dataform_combobox_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P8</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_4_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_subhead_plain_notes">
-    <comment>Sub title in Recent notes list view</comment>        
-    <source>Plain notes</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P6</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_button_delete">
-    <comment>Toolbar button item to delete the note</comment>        
-    <source>Delete</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_toolbar_tiny_3</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_L4</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_list_favorites">
-    <comment>Collections name in the list widget (Left Side)</comment>        
-    <source>Favorites</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P2</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_info_delete_note">
-    <comment>Confirmation dialog text for deleting a note</comment>        
-    <source>Delete note?</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_pri5_large_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P19</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_subhead_edit_time">
-    <comment>Creation &amp; Modification time and date will be shown in the groupBox. Custom groupBox label . Text shown on the right side of the widget</comment>        
-    <source>%1 %2</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>txt_notes_subhead_1_2</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P5</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_button_all_notes">
-    <comment>One of the toolbar button text in landscape mode . If user taps on this button, All notes view is displayed</comment>        
-    <source>All notes</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_toolbar_tiny_4</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_L1</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_info_delete_todo_note">
-    <comment>Confirmation dialog text for deleting a To-do note</comment>        
-    <source>Delete To-do note?</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_pri5_large_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P19</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_menu_remove_from_favorites">
-    <comment>Item specific menu item to remove the note from favorites</comment>        
-    <source>Remove from favorites</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>menu</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_button_add_to_calendar">
-    <comment>Toolbar button to launch calendar editor and add content in the subject and description field</comment>        
-    <source>Add to Calendar</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_toolbar_tiny_3</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_L4</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_long_caption_notes">
-    <comment>Notes application in application library list view</comment>        
-    <source>Notes</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_pri_large_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_list_no_notes_available">
-    <comment>Custom layout ID. No parent . If the view is empty, this text should be displayed in the All notes empy list view. Same text is used in landscape as well</comment>        
-    <source>No notes available</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>txt_notes_list_no_notes_available</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_button_send">
-    <comment>Tool bar button used to send the note to other user</comment>        
-    <source>Send</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_toolbar_tiny_3</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_L4</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_list_plain_notes">
-    <comment>Collections name in the list widget (Left Side)</comment>        
-    <source>Plain notes</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P2</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_list_alarm_date">
-    <comment>Alarm time and date for To-do note</comment>        
-    <source>%1 %2</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_pri_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P11</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dblist_note_created_on_date">
-    <comment>Secondary text item to mention creation date for a note</comment>        
-    <source>Created on %1</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>dblist_11_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_title_due_date">
-    <comment>Message dialog header text . Date picker component embedded</comment>        
-    <source>Due date</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_pri_heading</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P9</extra-loc-viewid>
-    <extra-loc-positionid>title</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_list_todos">
-    <comment>Collections name in the list widget (Left Side)</comment>        
-    <source>To-do&apos;s</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P2</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_subhead_note">
-    <comment>Layout ID Parent. Custom GroupBox. Sub title in Notes editor  (Left Side)</comment>        
-    <source>Note</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>txt_notes_subhead_note</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P5</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_info_delete_todo_notes">
-    <comment>Confirmation dialog text for deleting multiple to-do notes</comment>        
-    <source>Delete To-do notes?</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_pri5_large_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P19</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dpopinfo_new_note_saved">
-    <comment>Soft notification dialog info text. This dialog is displayed once the new note is saved</comment>        
-    <source>New note saved</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes</extra-loc-viewid>
-    <extra-loc-positionid>dpopinfo</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_button_alarm_date">
-    <comment>Layout ID Parent. Date  Push Button in Dataform to set alarm date for a To-do note. This action opens the date picker component</comment>        
-    <source>%2</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>txt_notes_button_2</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P8</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_opt_make_it_as_todo_note">
-    <comment>Options menu item to convert a note to To-Do item. This action launchs To-Do editor to add due date and reminder</comment>        
-    <source>Make it as To-do note</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P4</extra-loc-viewid>
-    <extra-loc-positionid>opt</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_opt_remove_from_favorites">
-    <comment>Options menu item to remove the note from favorites item</comment>        
-    <source>Remove from favorites</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P5</extra-loc-viewid>
-    <extra-loc-positionid>opt</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_subhead_new_note">
-    <comment>Layout ID Parent. Custom GroupBox. Sub title in Notes editor (Creating new note) - Left side text</comment>        
-    <source>New note</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>txt_notes_subhead_new_note</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P4</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_subhead_new_todo">
-    <comment>Sub title in New To-do note editor</comment>        
-    <source>New To-do</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P12</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_title_notes">
-    <comment>Title bar text for Notes application+</comment>        
-    <source>Notes</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_titlebar</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>title</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_opt_mark_as_favorite">
-    <comment>Options menu  item to mark the note as favorite item</comment>        
-    <source>Mark as favorite</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P4</extra-loc-viewid>
-    <extra-loc-positionid>opt</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_tsw_caption_notes">
-    <comment>Notes application name  in Task Switcher</comment>        
-    <source>Notes</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>txt_tsw_caption_notes</extra-loc-layout_id>    
-    <extra-loc-viewid>tsw01</extra-loc-viewid>
-    <extra-loc-positionid>caption</extra-loc-positionid>
-    <extra-loc-feature>ts</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_subhead_collections">
-    <comment>Sub title for Collections view</comment>        
-    <source>Collections</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P2</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_formlabel_alarm_date_and_time">
-    <comment>Label item in Data form</comment>        
-    <source>Alarm date and time</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dataform_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P8</extra-loc-viewid>
-    <extra-loc-positionid>formlabel_3</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_button_collections">
-    <comment>toolbar button text in landscape mode . If user taps on this button, Collections view is displayed</comment>        
-    <source>Collections</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_toolbar_tiny_4</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_L1</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_button_edit">
-    <comment>One of 3 buttons in Toolbar . Toolbar button item to edit the To-do note </comment>        
-    <source>Edit</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_toolbar_tiny_3</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P11</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dblist_val_modified_on_1_2">
-    <comment>Secondary text item to mention modified date &amp; time  for a note</comment>        
-    <source>Modified on %1 %2</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>dblist_2_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_button_alarm_time">
-    <comment>Layout ID Parent. Custom Widget . Time Push Button in Dataform to set alarm time for a To-do note. This action opens the time picker component</comment>        
-    <source>%1</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>txt_notes_button_1</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P8</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_info_delete_notes">
-    <comment>Confirmation dialog text for deleting multiple notes</comment>        
-    <source>Delete notes?</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_pri5_large_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P19</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_subhead_favorites">
-    <comment>Sub title in Favorite notes list view</comment>        
-    <source>Favorites</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P3</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dblist_val_due_on_1">
-    <comment>Secondary text item in the list to show due date for a task</comment>        
-    <source>Due on %1</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>dblist_3_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_menu_mark_as_favorite">
-    <comment>Item specific menu item to mark a note as favorite </comment>        
-    <source>Mark as favorite</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>menu</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dblist_val_unnamed">
-    <comment>Secondary text in the list item. If subject is not mentioned for a note, this text is displayed as secondary text in the All notes list view</comment>        
-    <source>Unnamed</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P11</extra-loc-viewid>
-    <extra-loc-positionid>dblist_5_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dblist_val_completed_on_1">
-    <comment>Secondary text item in the list to show completed date for To-do note</comment>        
-    <source>Completed on %1</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>dblist_4_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_opt_mark_as_done">
-    <comment>Options menu item to change the non-completed to-do status to completed</comment>        
-    <source>Mark as done</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P11</extra-loc-viewid>
-    <extra-loc-positionid>opt</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dpopinfo_new_todo_note_saved">
-    <comment>Soft notification dialog info text. This dialog is displayed once the new to-do note is saved</comment>        
-    <source>New To-do note saved</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P10</extra-loc-viewid>
-    <extra-loc-positionid>dpopinfo</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_setlabel_priority">
-    <comment>Label item in Data form</comment>        
-    <source>Priority</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dataform_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P8</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_4</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dpopinfo_todo_note_saved">
-    <comment>Soft notification dialog info text. This dialog is displayed once to-do note is modified and saved</comment>        
-    <source>To-do note saved</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P10</extra-loc-viewid>
-    <extra-loc-positionid>dpopinfo</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="yes" id="txt_notes_subhead_todos_ln_pending">
-    <comment>Sub title in To-do notes list view</comment>        
-    <source>To-do&apos;s (%Ln Pending )</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P7</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_task_switcher_caption_notes">
-    <comment>Notes application name  in Task Switcher</comment>        
-    <source>Notes</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>cell_tport_appsw_pane_t1</extra-loc-layout_id>    
-    <extra-loc-viewid>Task Switcher</extra-loc-viewid>
-    <extra-loc-positionid>caption</extra-loc-positionid>
-    <extra-loc-feature>Ta</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dblist_note_modified_on_date">
-    <comment>Secondary text item to mention modification date for a note</comment>        
-    <source>Modified on %1</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>dblist_13_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dblist_unnamed">
-    <comment>Primary text in all notes list view if the subject is not mentioned for a To-do note</comment>        
-    <source>Unnamed</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_pri_graphic_add</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>dblist_11</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_menu_add_to_calendar">
-    <comment>Item specific menu item. This action launches the event editor and adds the notes content to the subject &amp; description field</comment>        
-    <source>Add to Calendar</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>menu</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dpopinfo_note_moved_to_todos">
-    <comment>If a plain note is marked as To-do note in the list view, the marked item disappears from the current view with a notification dialog </comment>        
-    <source>Note moved to To-do&apos;s</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes</extra-loc-viewid>
-    <extra-loc-positionid>dpopinfo</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_menu_mark_as_done">
-    <comment>Item specific menu item to mark a task as completed</comment>        
-    <source>Mark as done</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>menu</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_formlabel_alarm">
-    <comment>Checkbox label item to enable/disable alarm</comment>        
-    <source>Alarm</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dataform_checkbox_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P8</extra-loc-viewid>
-    <extra-loc-positionid>formlabel_2</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-</context>
-</TS>
--- a/notes/data/xml/notescollectionsview.docml	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/data/xml/notescollectionsview.docml	Thu Jul 22 16:32:51 2010 +0100
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<hbdocument version="0.9">
+<hbdocument version="1.1">
     <object name="allNotesAction" type="HbAction">
-    	<icon iconName="qtg_mono_notes_all" name="icon"/>
+        <icon iconName="qtg_mono_notes_all" name="icon"/>
     </object>
     <object name="collectionsViewAction" type="HbAction">
-    	<icon iconName="qtg_mono_notes_collections" name="icon"/>
+        <icon iconName="qtg_mono_notes_collections" name="icon"/>
     </object>
     <object name="newNoteAction" type="HbAction">
         <icon iconName="qtg_mono_create_event" name="icon"/>
@@ -12,38 +12,38 @@
     <widget name="notesCollectionView" type="HbView">
         <widget name="notesCollectionWidget" role="HbView:widget" type="HbWidget">
             <widget name="subtitleGroupBox" type="HbGroupBox">
-                <string locid="txt_notes_subhead_collections" name="heading" value="Collections"/>
                 <real name="z" value="1"/>
                 <bool name="collapsable" value="FALSE"/>
+                <string locid="txt_notes_subhead_collections" name="heading" value="Collections"/>
             </widget>
             <widget name="listView" type="HbListView">
-                <widget name="listItemPrototype" role="HbListView:prototype" type="HbListViewItem"/>
+                <widget name="listItemPrototype_1" role="HbAbstractView:prototype" type="HbListViewItem"/>
                 <real name="z" value="2"/>
-                
+                <sizehint height="85.52239un" type="PREFERRED" width="45.8209un"/>
             </widget>
             <layout type="anchor">
                 <anchoritem dst="subtitleGroupBox" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
                 <anchoritem dst="subtitleGroupBox" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
                 <anchoritem dst="subtitleGroupBox" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
-                <anchoritem dst="listView" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
-                <anchoritem dst="listView" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="listView" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="listView" dstEdge="TOP" spacing="0un" src="subtitleGroupBox" srcEdge="BOTTOM"/>
+                <anchoritem dst="listView" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
                 <anchoritem dst="listView" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
-                <anchoritem dst="listView" dstEdge="TOP" spacing="var(hb-param-margin-gene-top)" src="subtitleGroupBox" srcEdge="BOTTOM"/>
             </layout>
         </widget>
         <widget name="viewToolbar" role="HbView:toolBar" type="HbToolBar">
             <enums name="orientation" value="Horizontal"/>
-            <ref object="allNotesAction" role="HbToolBar:addAction"/>
-            <ref object="collectionsViewAction" role="HbToolBar:addAction"/>
-            <ref object="newNoteAction" role="HbToolBar:addAction"/>
+            <ref object="allNotesAction" role="HbWidget:addAction"/>
+            <ref object="collectionsViewAction" role="HbWidget:addAction"/>
+            <ref object="newNoteAction" role="HbWidget:addAction"/>
         </widget>
         <widget name="viewMenu" role="HbView:menu" type="HbMenu"/>
         <string locid="txt_notes_title_notes" name="title" value="Notes"/>
     </widget>
-    <metadata activeUIState="portrait" display="NHD portrait" unit="un">
+    <metadata activeUIState="portrait" display="NHD-3.2-inch_portrait" unit="un">
         <uistate name="Common ui state" sections="#common"/>
         <uistate name="portrait" sections="#common"/>
         <uistate name="landscape" sections="#common"/>
-        <dummydata objectName="listView" section="#common" value="0"/>
+        <dummydata objectName="listView" section="#common" value="app_list_template5"/>
     </metadata>
 </hbdocument>
--- a/notes/data/xml/notesfavoriteview.docml	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/data/xml/notesfavoriteview.docml	Thu Jul 22 16:32:51 2010 +0100
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<hbdocument version="0.9">
+<hbdocument version="1.1">
     <object name="allNotesAction" type="HbAction">
-    	<icon iconName="qtg_mono_notes_all" name="icon"/>
+        <icon iconName="qtg_mono_notes_all" name="icon"/>
     </object>
     <object name="displayCollectionsAction" type="HbAction">
-    	<icon iconName="qtg_mono_notes_collections" name="icon"/>
+        <icon iconName="qtg_mono_notes_collections" name="icon"/>
     </object>
     <object name="newNoteAction" type="HbAction">
         <icon iconName="qtg_mono_create_event" name="icon"/>
@@ -15,42 +15,48 @@
     <widget name="notesFavoriteView" type="HbView">
         <widget name="notesFavoriteViewWidget" role="HbView:widget" type="HbWidget">
             <widget name="subtitleGroupBox" type="HbGroupBox">
-                <string locid="txt_notes_subhead_favorites" name="heading" value="Favorites"/>
                 <real name="z" value="1"/>
                 <bool name="collapsable" value="FALSE"/>
+                <string locid="txt_notes_subhead_favorites" name="heading" value="Favorites"/>
             </widget>
             <widget name="favoritesListView" type="HbListView">
-                <widget name="prototype" role="HbListView:prototype" type="HbListViewItem">
-                    <string name="state" value="normal"/>
-                </widget>
+                <widget name="listItemPrototype" role="HbAbstractView:prototype" type="HbListViewItem"/>
                 <real name="z" value="2"/>
                 <sizehint height="47.7612un" type="PREFERRED" width="35.8209un"/>
             </widget>
+            <widget name="emptyListLabel" type="HbLabel">
+                <real name="z" value="1"/>
+				<string locid="txt_notes_list_no_notes_available" name="plainText" value="No notes available"/>                <enums name="textWrapping" value="TextWordWrap"/>
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizehint height="expr(var(hb-param-text-height-primary) )" type="PREFERRED"/>
+            </widget>
             <layout type="anchor">
                 <anchoritem dst="subtitleGroupBox" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
                 <anchoritem dst="subtitleGroupBox" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
                 <anchoritem dst="subtitleGroupBox" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
-                <anchoritem dst="favoritesListView" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
-                <anchoritem dst="favoritesListView" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="" srcEdge="RIGHT"/>
-                <anchoritem dst="favoritesListView" dstEdge="TOP" spacing="var(hb-param-margin-gene-top)" src="subtitleGroupBox" srcEdge="BOTTOM"/>
+                <anchoritem dst="favoritesListView" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="favoritesListView" dstEdge="TOP" spacing="0un" src="subtitleGroupBox" srcEdge="BOTTOM"/>
+                <anchoritem dst="favoritesListView" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
                 <anchoritem dst="favoritesListView" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+                <anchoritem dst="emptyListLabel" dstEdge="LEFT" spacing="expr(var(hb-param-margin-gene-left) )" src="favoritesListView" srcEdge="LEFT"/>
+                <anchoritem dst="emptyListLabel" dstEdge="RIGHT" spacing="expr(-var(hb-param-margin-gene-right) )" src="favoritesListView" srcEdge="RIGHT"/>
+                <anchoritem dst="emptyListLabel" dstEdge="CENTERV" spacing="0un" src="favoritesListView" srcEdge="CENTERV"/>
             </layout>
         </widget>
         <widget name="viewToolbar" role="HbView:toolBar" type="HbToolBar">
             <enums name="orientation" value="Horizontal"/>
-            <ref object="allNotesAction" role="HbToolBar:addAction"/>
-            <ref object="displayCollectionsAction" role="HbToolBar:addAction"/>
-            <ref object="newNoteAction" role="HbToolBar:addAction"/>
+            <ref object="allNotesAction" role="HbWidget:addAction"/>
+            <ref object="displayCollectionsAction" role="HbWidget:addAction"/>
+            <ref object="newNoteAction" role="HbWidget:addAction"/>
         </widget>
-        <widget name="viewMenu" role="HbView:menu" type="HbMenu">
-			<!-- uncomment for multiple delete <ref object="deleteAction" role="HbMenu:addAction"/>  -->
-        </widget>
+        <widget name="viewMenu" role="HbView:menu" type="HbMenu"/>
         <string locid="txt_notes_title_notes" name="title" value="Notes"/>
     </widget>
-    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+    <metadata activeUIState="Common ui state" display="NHD-3.2-inch_portrait" unit="un">
         <uistate name="Common ui state" sections="#common"/>
         <uistate name="portrait" sections="#common"/>
         <uistate name="landscape" sections="#common"/>
-        <dummydata objectName="favoritesListView" section="#common" value="0"/>
+        <dummydata objectName="favoritesListView" section="#common" value="app_list_template5"/>
     </metadata>
 </hbdocument>
--- a/notes/data/xml/notesmainview.docml	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/data/xml/notesmainview.docml	Thu Jul 22 16:32:51 2010 +0100
@@ -1,53 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<hbdocument version="0.9">
+<hbdocument version="1.1">
     <object name="allNotesAction" type="HbAction">
-    	<icon iconName="qtg_mono_notes_all" name="icon"/>
+        <icon iconName="qtg_mono_notes_all" name="icon"/>
     </object>
     <object name="collectionsViewAction" type="HbAction">
-    	<icon iconName="qtg_mono_notes_collections" name="icon"/>
+        <icon iconName="qtg_mono_notes_collections" name="icon"/>
     </object>
     <object name="newNoteAction" type="HbAction">
         <icon iconName="qtg_mono_create_event" name="icon"/>
     </object>
-	    <object name="deleteAction" type="HbAction">
+    <object name="deleteAction" type="HbAction">
         <string locid="txt_common_opt_delete" name="text" value="Delete"/>
     </object>
     <widget name="notesMainView" type="HbView">
         <widget name="notesMainViewWidget" role="HbView:widget" type="HbWidget">
             <widget name="viewHeading" type="HbGroupBox">
-                <string name="heading" value=" "/>
                 <real name="z" value="1"/>
                 <bool name="collapsable" value="FALSE"/>
+                <string name="heading" value=" "/>
             </widget>
             <widget name="listView" type="HbListView">
-                <widget name="prototype" role="HbListView:prototype" type="HbListViewItem"/>
+                <widget name="prototype" role="HbAbstractView:prototype" type="HbListViewItem"/>
                 <real name="z" value="2"/>
                 <sizehint height="47.7612un" type="PREFERRED" width="35.8209un"/>
             </widget>
+            <widget name="emptyListLabel" type="HbLabel">
+                <real name="z" value="1"/>
+				<string locid="txt_notes_list_no_notes_available" name="plainText" value="No notes available"/>                <enums name="textWrapping" value="TextWordWrap"/>
+                <sizehint height="expr(var(hb-param-text-height-primary) )" type="PREFERRED"/>
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+            </widget>
             <layout type="anchor">
                 <anchoritem dst="viewHeading" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
                 <anchoritem dst="viewHeading" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
                 <anchoritem dst="viewHeading" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
-                <anchoritem dst="listView" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
-                <anchoritem dst="listView" dstEdge="TOP" spacing="var(hb-param-margin-gene-top)" src="viewHeading" srcEdge="BOTTOM"/>
-                <anchoritem dst="listView" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="listView" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="listView" dstEdge="TOP" spacing="0un" src="viewHeading" srcEdge="BOTTOM"/>
+                <anchoritem dst="listView" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
                 <anchoritem dst="listView" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+                <anchoritem dst="emptyListLabel" dstEdge="LEFT" spacing="expr(var(hb-param-margin-gene-left) )" src="listView" srcEdge="LEFT"/>
+                <anchoritem dst="emptyListLabel" dstEdge="RIGHT" spacing="expr(-var(hb-param-margin-gene-right) )" src="listView" srcEdge="RIGHT"/>
+                <anchoritem dst="emptyListLabel" dstEdge="CENTERV" spacing="0un" src="listView" srcEdge="CENTERV"/>
             </layout>
         </widget>
         <widget name="viewToolbar" role="HbView:toolBar" type="HbToolBar">
-			<enums name="orientation" value="Horizontal"/>
-            <ref object="allNotesAction" role="HbToolBar:addAction"/>
-            <ref object="collectionsViewAction" role="HbToolBar:addAction"/>
-            <ref object="newNoteAction" role="HbToolBar:addAction"/>
+            <enums name="orientation" value="Horizontal"/>
+            <ref object="allNotesAction" role="HbWidget:addAction"/>
+            <ref object="collectionsViewAction" role="HbWidget:addAction"/>
+            <ref object="newNoteAction" role="HbWidget:addAction"/>
         </widget>
-        <widget name="viewMenu" role="HbView:menu" type="HbMenu">
-			<!-- uncomment for multiple delete <ref object="deleteAction" role="HbMenu:addAction"/>  -->
-        </widget>
+        <widget name="viewMenu" role="HbView:menu" type="HbMenu"/>
         <string locid="txt_notes_title_notes" name="title" value="Notes"/>
     </widget>
-    <metadata activeUIState="portrait" display="QHD portrait" unit="un">
+    <metadata activeUIState="portrait" display="NHD-3.2-inch_portrait" unit="un">
         <uistate name="Common ui state" sections="#common"/>
         <uistate name="portrait" sections="#common"/>
         <uistate name="landscape" sections="#common"/>
+        <dummydata objectName="listView" section="#common" value="app_list_template5"/>
     </metadata>
 </hbdocument>
--- a/notes/data/xml/notesnoteview.docml	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/data/xml/notesnoteview.docml	Thu Jul 22 16:32:51 2010 +0100
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<hbdocument version="0.9">
+<hbdocument version="1.1">
     <object name="allNotesAction" type="HbAction">
-    	<icon iconName="qtg_mono_notes_all" name="icon"/>
+        <icon iconName="qtg_mono_notes_all" name="icon"/>
     </object>
     <object name="displayCollectionsAction" type="HbAction">
-    	<icon iconName="qtg_mono_notes_collections" name="icon"/>
+        <icon iconName="qtg_mono_notes_collections" name="icon"/>
     </object>
     <object name="newNoteAction" type="HbAction">
         <icon iconName="qtg_mono_create_event" name="icon"/>
@@ -15,42 +15,48 @@
     <widget name="notesNoteView" type="HbView">
         <widget name="notesNoteViewWidget" role="HbView:widget" type="HbWidget">
             <widget name="subtitleGroupBox" type="HbGroupBox">
-                <string locid="txt_notes_list_plain_notes" name="heading" value="Recent notes"/>
                 <real name="z" value="1"/>
                 <bool name="collapsable" value="FALSE"/>
+                <string locid="txt_notes_list_plain_notes" name="heading" value="Recent notes"/>
             </widget>
             <widget name="noteListView" type="HbListView">
-                <widget name="prototype" role="HbListView:prototype" type="HbListViewItem">
-                    <string name="state" value="normal"/>
-                </widget>
+                <widget name="listItemPrototype" role="HbAbstractView:prototype" type="HbListViewItem"/>
                 <real name="z" value="2"/>
                 <sizehint height="47.7612un" type="PREFERRED" width="35.8209un"/>
             </widget>
+            <widget name="emptyListLabel" type="HbLabel">
+                <real name="z" value="1"/>
+				<string locid="txt_notes_list_no_notes_available" name="plainText" value="No notes available"/>                <enums name="textWrapping" value="TextWordWrap"/>
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizehint height="expr(var(hb-param-text-height-primary) )" type="PREFERRED"/>
+            </widget>
             <layout type="anchor">
                 <anchoritem dst="subtitleGroupBox" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
                 <anchoritem dst="subtitleGroupBox" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
                 <anchoritem dst="subtitleGroupBox" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
-                <anchoritem dst="noteListView" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
-                <anchoritem dst="noteListView" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="" srcEdge="RIGHT"/>
-                <anchoritem dst="noteListView" dstEdge="TOP" spacing="var(hb-param-margin-gene-top)" src="subtitleGroupBox" srcEdge="BOTTOM"/>
+                <anchoritem dst="noteListView" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="noteListView" dstEdge="TOP" spacing="0un" src="subtitleGroupBox" srcEdge="BOTTOM"/>
+                <anchoritem dst="noteListView" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
                 <anchoritem dst="noteListView" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+                <anchoritem dst="emptyListLabel" dstEdge="LEFT" spacing="expr(var(hb-param-margin-gene-left) )" src="noteListView" srcEdge="LEFT"/>
+                <anchoritem dst="emptyListLabel" dstEdge="RIGHT" spacing="expr(-var(hb-param-margin-gene-right) )" src="noteListView" srcEdge="RIGHT"/>
+                <anchoritem dst="emptyListLabel" dstEdge="CENTERV" spacing="0un" src="noteListView" srcEdge="CENTERV"/>
             </layout>
         </widget>
         <widget name="viewToolbar" role="HbView:toolBar" type="HbToolBar">
             <enums name="orientation" value="Horizontal"/>
-            <ref object="allNotesAction" role="HbToolBar:addAction"/>
-            <ref object="displayCollectionsAction" role="HbToolBar:addAction"/>
-            <ref object="newNoteAction" role="HbToolBar:addAction"/>
+            <ref object="allNotesAction" role="HbWidget:addAction"/>
+            <ref object="displayCollectionsAction" role="HbWidget:addAction"/>
+            <ref object="newNoteAction" role="HbWidget:addAction"/>
         </widget>
-        <widget name="viewMenu" role="HbView:menu" type="HbMenu">
-			<!-- uncomment for multiple delete <ref object="deleteAction" role="HbMenu:addAction"/>  -->
-        </widget>
+        <widget name="viewMenu" role="HbView:menu" type="HbMenu"/>
         <string locid="txt_notes_title_notes" name="title" value="Notes"/>
     </widget>
-    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+    <metadata activeUIState="Common ui state" display="NHD-3.2-inch_portrait" unit="un">
         <uistate name="Common ui state" sections="#common"/>
         <uistate name="portrait" sections="#common"/>
         <uistate name="landscape" sections="#common"/>
-        <dummydata objectName="noteListView" section="#common" value="0"/>
+        <dummydata objectName="noteListView" section="#common" value="app_list_template5"/>
     </metadata>
 </hbdocument>
--- a/notes/data/xml/notestodoview.docml	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/data/xml/notestodoview.docml	Thu Jul 22 16:32:51 2010 +0100
@@ -1,56 +1,62 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<hbdocument version="0.9">
+<hbdocument version="1.1">
     <object name="allNotesAction" type="HbAction">
-    	<icon iconName="qtg_mono_notes_all" name="icon"/>
+        <icon iconName="qtg_mono_notes_all" name="icon"/>
     </object>
     <object name="displayCollectionsAction" type="HbAction">
-    	<icon iconName="qtg_mono_notes_collections" name="icon"/>
+        <icon iconName="qtg_mono_notes_collections" name="icon"/>
     </object>
     <object name="newTodoAction" type="HbAction">
         <icon iconName="qtg_mono_create_event" name="icon"/>
-    </object>  
+    </object>
     <object name="deleteAction" type="HbAction">
         <string locid="txt_common_opt_delete" name="text" value="Delete"/>
     </object>
     <widget name="notesTodoView" type="HbView">
         <widget name="notesTodoViewWidget" role="HbView:widget" type="HbWidget">
             <widget name="subtitleGroupBox" type="HbGroupBox">
-                <string name="heading" value=" "/>
                 <real name="z" value="1"/>
                 <bool name="collapsable" value="FALSE"/>
+                <string name="heading" value=" "/>
             </widget>
             <widget name="todoListView" type="HbListView">
-                <widget name="prototype" role="HbListView:prototype" type="HbListViewItem">
-                    <string name="state" value="normal"/>
-                </widget>
+                <widget name="listItemPrototype" role="HbAbstractView:prototype" type="HbListViewItem"/>
                 <real name="z" value="2"/>
                 <sizehint height="47.7612un" type="PREFERRED" width="35.8209un"/>
             </widget>
+            <widget name="emptyListLabel" type="HbLabel">
+                <real name="z" value="1"/>
+				<string locid="txt_notes_list_no_notes_available" name="plainText" value="No notes available"/>                <enums name="textWrapping" value="TextWordWrap"/>
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <sizehint height="expr(var(hb-param-text-height-primary) )" type="PREFERRED"/>
+            </widget>
             <layout type="anchor">
                 <anchoritem dst="subtitleGroupBox" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
                 <anchoritem dst="subtitleGroupBox" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
                 <anchoritem dst="subtitleGroupBox" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
-                <anchoritem dst="todoListView" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
-                <anchoritem dst="todoListView" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="" srcEdge="RIGHT"/>
-                <anchoritem dst="todoListView" dstEdge="TOP" spacing="var(hb-param-margin-gene-top)" src="subtitleGroupBox" srcEdge="BOTTOM"/>
+                <anchoritem dst="todoListView" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="todoListView" dstEdge="TOP" spacing="0un" src="subtitleGroupBox" srcEdge="BOTTOM"/>
+                <anchoritem dst="todoListView" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
                 <anchoritem dst="todoListView" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+                <anchoritem dst="emptyListLabel" dstEdge="LEFT" spacing="expr(var(hb-param-margin-gene-left) )" src="todoListView" srcEdge="LEFT"/>
+                <anchoritem dst="emptyListLabel" dstEdge="RIGHT" spacing="expr(-var(hb-param-margin-gene-right) )" src="todoListView" srcEdge="RIGHT"/>
+                <anchoritem dst="emptyListLabel" dstEdge="CENTERV" spacing="0un" src="todoListView" srcEdge="CENTERV"/>
             </layout>
         </widget>
         <widget name="viewToolbar" role="HbView:toolBar" type="HbToolBar">
             <enums name="orientation" value="Horizontal"/>
-            <ref object="allNotesAction" role="HbToolBar:addAction"/>
-            <ref object="displayCollectionsAction" role="HbToolBar:addAction"/>
-            <ref object="newTodoAction" role="HbToolBar:addAction"/>
+            <ref object="allNotesAction" role="HbWidget:addAction"/>
+            <ref object="displayCollectionsAction" role="HbWidget:addAction"/>
+            <ref object="newTodoAction" role="HbWidget:addAction"/>
         </widget>
-        <widget name="viewMenu" role="HbView:menu" type="HbMenu">
-			<!-- uncomment for multiple delete <ref object="deleteAction" role="HbMenu:addAction"/>  -->
-        </widget>
+        <widget name="viewMenu" role="HbView:menu" type="HbMenu"/>
         <string locid="txt_notes_title_notes" name="title" value="Notes"/>
     </widget>
-    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+    <metadata activeUIState="Common ui state" display="NHD-3.2-inch_portrait" unit="un">
         <uistate name="Common ui state" sections="#common"/>
         <uistate name="portrait" sections="#common"/>
         <uistate name="landscape" sections="#common"/>
-        <dummydata objectName="todoListView" section="#common" value="0"/>
+        <dummydata objectName="todoListView" section="#common" value="app_list_template5"/>
     </metadata>
 </hbdocument>
--- a/notes/notes.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/notes.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -21,7 +21,9 @@
 symbian: {
 	BLD_INF_RULES.prj_exports += \
 	"./rom/notes.iby		CORE_APP_LAYER_IBY_EXPORT_PATH(notes.iby)" \
-	"./rom/notesresources.iby           LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(notesresources.iby)"
+	"./rom/notesresources.iby           LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(notesresources.iby)" \
+	# stubsis is added to provide IAD
+	"./stubsis/notes_stub.sis             /epoc32/data/z/system/install/notes_stub.sis"
 }
 
 # End of file	--Don't remove this.
--- a/notes/notesui/bwins/notesappcontrolleru.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-EXPORTS
-	??1NotesAppController@@UAE@XZ @ 1 NONAME ; NotesAppController::~NotesAppController(void)
-	??_ENotesAppController@@UAE@I@Z @ 2 NONAME ; NotesAppController::~NotesAppController(unsigned int)
-	??0NotesAppController@@QAE@PAVQObject@@@Z @ 3 NONAME ; NotesAppController::NotesAppController(class QObject *)
-
--- a/notes/notesui/bwins/noteseditoru.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-EXPORTS
-	?edit@NotesEditor@@QAEXVAgendaEntry@@@Z @ 1 NONAME ; void NotesEditor::edit(class AgendaEntry)
-	?tr@NotesEditor@@SA?AVQString@@PBD0H@Z @ 2 NONAME ; class QString NotesEditor::tr(char const *, char const *, int)
-	?edit@NotesEditor@@QAEXK@Z @ 3 NONAME ; void NotesEditor::edit(unsigned long)
-	?edit@NotesEditor@@QAEXABVQFile@@@Z @ 4 NONAME ; void NotesEditor::edit(class QFile const &)
-	?d_func@NotesEditor@@ABEPBVNotesEditorPrivate@@XZ @ 5 NONAME ; class NotesEditorPrivate const * NotesEditor::d_func(void) const
-	?qt_metacast@NotesEditor@@UAEPAXPBD@Z @ 6 NONAME ; void * NotesEditor::qt_metacast(char const *)
-	?trUtf8@NotesEditor@@SA?AVQString@@PBD0H@Z @ 7 NONAME ; class QString NotesEditor::trUtf8(char const *, char const *, int)
-	??_ENotesEditor@@UAE@I@Z @ 8 NONAME ; NotesEditor::~NotesEditor(unsigned int)
-	?edit@NotesEditor@@QAEXABVQString@@@Z @ 9 NONAME ; void NotesEditor::edit(class QString const &)
-	?qt_metacall@NotesEditor@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 10 NONAME ; int NotesEditor::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?create@NotesEditor@@QAEXW4CreateType@1@@Z @ 11 NONAME ; void NotesEditor::create(enum NotesEditor::CreateType)
-	?d_func@NotesEditor@@AAEPAVNotesEditorPrivate@@XZ @ 12 NONAME ; class NotesEditorPrivate * NotesEditor::d_func(void)
-	??1NotesEditor@@UAE@XZ @ 13 NONAME ; NotesEditor::~NotesEditor(void)
-	??0NotesEditor@@QAE@PAVQObject@@@Z @ 14 NONAME ; NotesEditor::NotesEditor(class QObject *)
-	?staticMetaObject@NotesEditor@@2UQMetaObject@@B @ 15 NONAME ; struct QMetaObject const NotesEditor::staticMetaObject
-	??0NotesEditor@@QAE@PAVAgendaUtil@@PAVQObject@@@Z @ 16 NONAME ; NotesEditor::NotesEditor(class AgendaUtil *, class QObject *)
-	?editingCompleted@NotesEditor@@IAEX_N@Z @ 17 NONAME ; void NotesEditor::editingCompleted(bool)
-	?metaObject@NotesEditor@@UBEPBUQMetaObject@@XZ @ 18 NONAME ; struct QMetaObject const * NotesEditor::metaObject(void) const
-	?tr@NotesEditor@@SA?AVQString@@PBD0@Z @ 19 NONAME ; class QString NotesEditor::tr(char const *, char const *)
-	?trUtf8@NotesEditor@@SA?AVQString@@PBD0@Z @ 20 NONAME ; class QString NotesEditor::trUtf8(char const *, char const *)
-	?getStaticMetaObject@NotesEditor@@SAABUQMetaObject@@XZ @ 21 NONAME ; struct QMetaObject const & NotesEditor::getStaticMetaObject(void)
-	?close@NotesEditor@@QAEKW4CloseType@1@@Z @ 22 NONAME ; unsigned long NotesEditor::close(enum NotesEditor::CloseType)
-
--- a/notes/notesui/bwins/notesmodelhandleru.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-EXPORTS
-	?agendaInterface@NotesModelHandler@@QAEPAVAgendaUtil@@XZ @ 1 NONAME ; class AgendaUtil * NotesModelHandler::agendaInterface(void)
-	??_ENotesModelHandler@@UAE@I@Z @ 2 NONAME ; NotesModelHandler::~NotesModelHandler(unsigned int)
-	??1NotesModelHandler@@UAE@XZ @ 3 NONAME ; NotesModelHandler::~NotesModelHandler(void)
-	??0NotesModelHandler@@QAE@PAVQObject@@@Z @ 4 NONAME ; NotesModelHandler::NotesModelHandler(class QObject *)
-	?notesModel@NotesModelHandler@@QAEPAVNotesModel@@XZ @ 5 NONAME ; class NotesModel * NotesModelHandler::notesModel(void)
-
--- a/notes/notesui/bwins/notesmodelu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-EXPORTS
-	?sourceModel@NotesModel@@QAEPAVQAbstractItemModel@@XZ @ 1 NONAME ; class QAbstractItemModel * NotesModel::sourceModel(void)
-	?filterAcceptsRow@NotesSortFilterProxyModel@@MBE_NHABVQModelIndex@@@Z @ 2 NONAME ; bool NotesSortFilterProxyModel::filterAcceptsRow(int, class QModelIndex const &) const
-	?modifyEntryInModel@NotesModel@@AAEXKH@Z @ 3 NONAME ; void NotesModel::modifyEntryInModel(unsigned long, int)
-	?getStaticMetaObject@NotesSortFilterProxyModel@@SAABUQMetaObject@@XZ @ 4 NONAME ; struct QMetaObject const & NotesSortFilterProxyModel::getStaticMetaObject(void)
-	?appendCompTodosToModel@NotesModel@@AAEXAAV?$QList@VAgendaEntry@@@@@Z @ 5 NONAME ; void NotesModel::appendCompTodosToModel(class QList<class AgendaEntry> &)
-	?tr@NotesSortFilterProxyModel@@SA?AVQString@@PBD0H@Z @ 6 NONAME ; class QString NotesSortFilterProxyModel::tr(char const *, char const *, int)
-	?rowAdded@NotesModel@@IAEXVQModelIndex@@@Z @ 7 NONAME ; void NotesModel::rowAdded(class QModelIndex)
-	?qt_metacast@NotesModel@@UAEPAXPBD@Z @ 8 NONAME ; void * NotesModel::qt_metacast(char const *)
-	?trUtf8@NotesSortFilterProxyModel@@SA?AVQString@@PBD0@Z @ 9 NONAME ; class QString NotesSortFilterProxyModel::trUtf8(char const *, char const *)
-	?lessThan@NotesSortFilterProxyModel@@MBE_NABVQModelIndex@@0@Z @ 10 NONAME ; bool NotesSortFilterProxyModel::lessThan(class QModelIndex const &, class QModelIndex const &) const
-	?metaObject@NotesSortFilterProxyModel@@UBEPBUQMetaObject@@XZ @ 11 NONAME ; struct QMetaObject const * NotesSortFilterProxyModel::metaObject(void) const
-	?trUtf8@NotesSortFilterProxyModel@@SA?AVQString@@PBD0H@Z @ 12 NONAME ; class QString NotesSortFilterProxyModel::trUtf8(char const *, char const *, int)
-	?metaObject@NotesModel@@UBEPBUQMetaObject@@XZ @ 13 NONAME ; struct QMetaObject const * NotesModel::metaObject(void) const
-	?tr@NotesModel@@SA?AVQString@@PBD0H@Z @ 14 NONAME ; class QString NotesModel::tr(char const *, char const *, int)
-	?staticMetaObject@NotesModel@@2UQMetaObject@@B @ 15 NONAME ; struct QMetaObject const NotesModel::staticMetaObject
-	?staticMetaObject@NotesSortFilterProxyModel@@2UQMetaObject@@B @ 16 NONAME ; struct QMetaObject const NotesSortFilterProxyModel::staticMetaObject
-	??0NotesModel@@QAE@PAVAgendaUtil@@PAVQObject@@@Z @ 17 NONAME ; NotesModel::NotesModel(class AgendaUtil *, class QObject *)
-	??_ENotesSortFilterProxyModel@@UAE@I@Z @ 18 NONAME ; NotesSortFilterProxyModel::~NotesSortFilterProxyModel(unsigned int)
-	??1NotesSortFilterProxyModel@@UAE@XZ @ 19 NONAME ; NotesSortFilterProxyModel::~NotesSortFilterProxyModel(void)
-	?qt_metacall@NotesSortFilterProxyModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 20 NONAME ; int NotesSortFilterProxyModel::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?tr@NotesModel@@SA?AVQString@@PBD0@Z @ 21 NONAME ; class QString NotesModel::tr(char const *, char const *)
-	?getStaticMetaObject@NotesModel@@SAABUQMetaObject@@XZ @ 22 NONAME ; struct QMetaObject const & NotesModel::getStaticMetaObject(void)
-	?tr@NotesSortFilterProxyModel@@SA?AVQString@@PBD0@Z @ 23 NONAME ; class QString NotesSortFilterProxyModel::tr(char const *, char const *)
-	?addEntryToModel@NotesModel@@AAEXK@Z @ 24 NONAME ; void NotesModel::addEntryToModel(unsigned long)
-	??1NotesModel@@UAE@XZ @ 25 NONAME ; NotesModel::~NotesModel(void)
-	?removeEntryFromModel@NotesModel@@AAEXK@Z @ 26 NONAME ; void NotesModel::removeEntryFromModel(unsigned long)
-	?qt_metacast@NotesSortFilterProxyModel@@UAEPAXPBD@Z @ 27 NONAME ; void * NotesSortFilterProxyModel::qt_metacast(char const *)
-	?appendInCompTodosToModel@NotesModel@@AAEXAAV?$QList@VAgendaEntry@@@@@Z @ 28 NONAME ; void NotesModel::appendInCompTodosToModel(class QList<class AgendaEntry> &)
-	?insertNoteToModel@NotesModel@@AAE_NAAVQModelIndex@@K@Z @ 29 NONAME ; bool NotesModel::insertNoteToModel(class QModelIndex &, unsigned long)
-	?qt_metacall@NotesModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 30 NONAME ; int NotesModel::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?populateSourceModel@NotesModel@@AAEXV?$QList@K@@@Z @ 31 NONAME ; void NotesModel::populateSourceModel(class QList<unsigned long>)
-	?appendNotesToModel@NotesModel@@AAEXAAV?$QList@VAgendaEntry@@@@@Z @ 32 NONAME ; void NotesModel::appendNotesToModel(class QList<class AgendaEntry> &)
-	?updateSourceModel@NotesModel@@AAEXK@Z @ 33 NONAME ; void NotesModel::updateSourceModel(unsigned long)
-	??_ENotesModel@@UAE@I@Z @ 34 NONAME ; NotesModel::~NotesModel(unsigned int)
-	?trUtf8@NotesModel@@SA?AVQString@@PBD0H@Z @ 35 NONAME ; class QString NotesModel::trUtf8(char const *, char const *, int)
-	?insertInCompTodoToModel@NotesModel@@AAE_NAAVQModelIndex@@K@Z @ 36 NONAME ; bool NotesModel::insertInCompTodoToModel(class QModelIndex &, unsigned long)
-	?trUtf8@NotesModel@@SA?AVQString@@PBD0@Z @ 37 NONAME ; class QString NotesModel::trUtf8(char const *, char const *)
-	?insertCompTodoToModel@NotesModel@@AAE_NAAVQModelIndex@@K@Z @ 38 NONAME ; bool NotesModel::insertCompTodoToModel(class QModelIndex &, unsigned long)
-	??0NotesSortFilterProxyModel@@QAE@AAVAgendaUtil@@PAVQObject@@@Z @ 39 NONAME ; NotesSortFilterProxyModel::NotesSortFilterProxyModel(class AgendaUtil &, class QObject *)
-	?populateSourceModel@NotesModel@@AAEXXZ @ 40 NONAME ; void NotesModel::populateSourceModel(void)
-	?dateFormatString@NotesModel@@AAE?AVQString@@XZ @ 41 NONAME ; class QString NotesModel::dateFormatString(void)
-	?timeFormatString@NotesModel@@AAE?AVQString@@XZ @ 42 NONAME ; class QString NotesModel::timeFormatString(void)
-	?handleInstanceViewCreationCompleted@NotesModel@@AAEXH@Z @ 43 NONAME ; void NotesModel::handleInstanceViewCreationCompleted(int)
-
--- a/notes/notesui/bwins/notesviewmanageru.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-EXPORTS
-	??1NotesViewManager@@UAE@XZ @ 1 NONAME ; NotesViewManager::~NotesViewManager(void)
-	?switchToView@NotesViewManager@@QAEXW4NotesViewIds@NotesNamespace@@@Z @ 2 NONAME ; void NotesViewManager::switchToView(enum NotesNamespace::NotesViewIds)
-	??0NotesViewManager@@QAE@AAVNotesAppControllerIf@@PAVQObject@@@Z @ 3 NONAME ; NotesViewManager::NotesViewManager(class NotesAppControllerIf &, class QObject *)
-
--- a/notes/notesui/bwins/notesviewsu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-EXPORTS
-	??1NotesCollectionView@@UAE@XZ @ 1 NONAME ; NotesCollectionView::~NotesCollectionView(void)
-	?setupView@NotesCollectionView@@QAEXAAVNotesAppControllerIf@@PAVNotesDocLoader@@@Z @ 2 NONAME ; void NotesCollectionView::setupView(class NotesAppControllerIf &, class NotesDocLoader *)
-	??1NotesMainView@@UAE@XZ @ 3 NONAME ; NotesMainView::~NotesMainView(void)
-	??0NotesFavoriteView@@QAE@PAVQGraphicsWidget@@@Z @ 4 NONAME ; NotesFavoriteView::NotesFavoriteView(class QGraphicsWidget *)
-	??1NotesFavoriteView@@UAE@XZ @ 5 NONAME ; NotesFavoriteView::~NotesFavoriteView(void)
-	??0NotesNoteView@@QAE@PAVQGraphicsWidget@@@Z @ 6 NONAME ; NotesNoteView::NotesNoteView(class QGraphicsWidget *)
-	?setupView@NotesMainView@@QAEXAAVNotesAppControllerIf@@PAVNotesDocLoader@@@Z @ 7 NONAME ; void NotesMainView::setupView(class NotesAppControllerIf &, class NotesDocLoader *)
-	??0NotesTodoView@@QAE@PAVQGraphicsWidget@@@Z @ 8 NONAME ; NotesTodoView::NotesTodoView(class QGraphicsWidget *)
-	??0NotesMainView@@QAE@PAVQGraphicsWidget@@@Z @ 9 NONAME ; NotesMainView::NotesMainView(class QGraphicsWidget *)
-	??1NotesNoteView@@UAE@XZ @ 10 NONAME ; NotesNoteView::~NotesNoteView(void)
-	?setupAfterViewReady@NotesMainView@@QAEXXZ @ 11 NONAME ; void NotesMainView::setupAfterViewReady(void)
-	?setupView@NotesNoteView@@QAEXAAVNotesAppControllerIf@@PAVNotesDocLoader@@@Z @ 12 NONAME ; void NotesNoteView::setupView(class NotesAppControllerIf &, class NotesDocLoader *)
-	??1NotesTodoView@@UAE@XZ @ 13 NONAME ; NotesTodoView::~NotesTodoView(void)
-	?setupView@NotesFavoriteView@@QAEXAAVNotesAppControllerIf@@PAVNotesDocLoader@@@Z @ 14 NONAME ; void NotesFavoriteView::setupView(class NotesAppControllerIf &, class NotesDocLoader *)
-	?setupView@NotesTodoView@@QAEXAAVNotesAppControllerIf@@PAVNotesDocLoader@@@Z @ 15 NONAME ; void NotesTodoView::setupView(class NotesAppControllerIf &, class NotesDocLoader *)
-	??0NotesCollectionView@@QAE@PAVQGraphicsWidget@@@Z @ 16 NONAME ; NotesCollectionView::NotesCollectionView(class QGraphicsWidget *)
-	?updateTitle@NotesMainView@@QAEXXZ @ 17 NONAME ; void NotesMainView::updateTitle(void)
-	?populateListView@NotesCollectionView@@QAEXXZ @ 18 NONAME ; void NotesCollectionView::populateListView(void)
-	?updateTitle@NotesTodoView@@QAEXXZ @ 19 NONAME ; void NotesTodoView::updateTitle(void)
-
--- a/notes/notesui/eabi/notesappcontrolleru.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-EXPORTS
-	_ZN18NotesAppControllerC1EP7QObject @ 1 NONAME
-	_ZN18NotesAppControllerC2EP7QObject @ 2 NONAME
-	_ZN18NotesAppControllerD0Ev @ 3 NONAME
-	_ZN18NotesAppControllerD1Ev @ 4 NONAME
-	_ZN18NotesAppControllerD2Ev @ 5 NONAME
-	_ZTI18NotesAppController @ 6 NONAME
-	_ZTV18NotesAppController @ 7 NONAME
-
--- a/notes/notesui/eabi/noteseditoru.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-EXPORTS
-	_ZN11NotesEditor11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME
-	_ZN11NotesEditor11qt_metacastEPKc @ 2 NONAME
-	_ZN11NotesEditor16editingCompletedEb @ 3 NONAME
-	_ZN11NotesEditor16staticMetaObjectE @ 4 NONAME DATA 16
-	_ZN11NotesEditor19getStaticMetaObjectEv @ 5 NONAME
-	_ZN11NotesEditor4editE11AgendaEntry @ 6 NONAME
-	_ZN11NotesEditor4editERK5QFile @ 7 NONAME
-	_ZN11NotesEditor4editERK7QString @ 8 NONAME
-	_ZN11NotesEditor4editEm @ 9 NONAME
-	_ZN11NotesEditor6createENS_10CreateTypeE @ 10 NONAME
-	_ZN11NotesEditorC1EP10AgendaUtilP7QObject @ 11 NONAME
-	_ZN11NotesEditorC1EP7QObject @ 12 NONAME
-	_ZN11NotesEditorC2EP10AgendaUtilP7QObject @ 13 NONAME
-	_ZN11NotesEditorC2EP7QObject @ 14 NONAME
-	_ZN11NotesEditorD0Ev @ 15 NONAME
-	_ZN11NotesEditorD1Ev @ 16 NONAME
-	_ZN11NotesEditorD2Ev @ 17 NONAME
-	_ZNK11NotesEditor10metaObjectEv @ 18 NONAME
-	_ZTI11NotesEditor @ 19 NONAME
-	_ZTV11NotesEditor @ 20 NONAME
-	_ZN11NotesEditor5closeENS_9CloseTypeE @ 21 NONAME
-
--- a/notes/notesui/eabi/notesmodelhandleru.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-EXPORTS
-	_ZN17NotesModelHandler10notesModelEv @ 1 NONAME
-	_ZN17NotesModelHandler15agendaInterfaceEv @ 2 NONAME
-	_ZN17NotesModelHandlerC1EP7QObject @ 3 NONAME
-	_ZN17NotesModelHandlerC2EP7QObject @ 4 NONAME
-	_ZN17NotesModelHandlerD0Ev @ 5 NONAME
-	_ZN17NotesModelHandlerD1Ev @ 6 NONAME
-	_ZN17NotesModelHandlerD2Ev @ 7 NONAME
-	_ZTI17NotesModelHandler @ 8 NONAME
-	_ZTV17NotesModelHandler @ 9 NONAME
-
--- a/notes/notesui/eabi/notesmodelu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-EXPORTS
-	_ZN10NotesModel11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME
-	_ZN10NotesModel11qt_metacastEPKc @ 2 NONAME
-	_ZN10NotesModel11sourceModelEv @ 3 NONAME
-	_ZN10NotesModel15addEntryToModelEm @ 4 NONAME
-	_ZN10NotesModel16staticMetaObjectE @ 5 NONAME DATA 16
-	_ZN10NotesModel17insertNoteToModelER11QModelIndexm @ 6 NONAME
-	_ZN10NotesModel17updateSourceModelEm @ 7 NONAME
-	_ZN10NotesModel18appendNotesToModelER5QListI11AgendaEntryE @ 8 NONAME
-	_ZN10NotesModel18modifyEntryInModelEmi @ 9 NONAME
-	_ZN10NotesModel19getStaticMetaObjectEv @ 10 NONAME
-	_ZN10NotesModel19populateSourceModelE5QListImE @ 11 NONAME
-	_ZN10NotesModel19populateSourceModelEv @ 12 NONAME
-	_ZN10NotesModel20removeEntryFromModelEm @ 13 NONAME
-	_ZN10NotesModel21insertCompTodoToModelER11QModelIndexm @ 14 NONAME
-	_ZN10NotesModel22appendCompTodosToModelER5QListI11AgendaEntryE @ 15 NONAME
-	_ZN10NotesModel23insertInCompTodoToModelER11QModelIndexm @ 16 NONAME
-	_ZN10NotesModel24appendInCompTodosToModelER5QListI11AgendaEntryE @ 17 NONAME
-	_ZN10NotesModel8rowAddedE11QModelIndex @ 18 NONAME
-	_ZN10NotesModelC1EP10AgendaUtilP7QObject @ 19 NONAME
-	_ZN10NotesModelC2EP10AgendaUtilP7QObject @ 20 NONAME
-	_ZN10NotesModelD0Ev @ 21 NONAME
-	_ZN10NotesModelD1Ev @ 22 NONAME
-	_ZN10NotesModelD2Ev @ 23 NONAME
-	_ZN25NotesSortFilterProxyModel11qt_metacallEN11QMetaObject4CallEiPPv @ 24 NONAME
-	_ZN25NotesSortFilterProxyModel11qt_metacastEPKc @ 25 NONAME
-	_ZN25NotesSortFilterProxyModel16staticMetaObjectE @ 26 NONAME DATA 16
-	_ZN25NotesSortFilterProxyModel19getStaticMetaObjectEv @ 27 NONAME
-	_ZN25NotesSortFilterProxyModelC1ER10AgendaUtilP7QObject @ 28 NONAME
-	_ZN25NotesSortFilterProxyModelC2ER10AgendaUtilP7QObject @ 29 NONAME
-	_ZN25NotesSortFilterProxyModelD0Ev @ 30 NONAME
-	_ZN25NotesSortFilterProxyModelD1Ev @ 31 NONAME
-	_ZN25NotesSortFilterProxyModelD2Ev @ 32 NONAME
-	_ZNK10NotesModel10metaObjectEv @ 33 NONAME
-	_ZNK25NotesSortFilterProxyModel10metaObjectEv @ 34 NONAME
-	_ZNK25NotesSortFilterProxyModel16filterAcceptsRowEiRK11QModelIndex @ 35 NONAME
-	_ZNK25NotesSortFilterProxyModel8lessThanERK11QModelIndexS2_ @ 36 NONAME
-	_ZTI10NotesModel @ 37 NONAME
-	_ZTI25NotesSortFilterProxyModel @ 38 NONAME
-	_ZTV10NotesModel @ 39 NONAME
-	_ZTV25NotesSortFilterProxyModel @ 40 NONAME
-	_ZN10NotesModel16dateFormatStringEv @ 41 NONAME
-	_ZN10NotesModel16timeFormatStringEv @ 42 NONAME
-	_ZN10NotesModel35handleInstanceViewCreationCompletedEi @ 43 NONAME
-
--- a/notes/notesui/eabi/notesviewmanageru.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-EXPORTS
-	_ZN16NotesViewManager12switchToViewEN14NotesNamespace12NotesViewIdsE @ 1 NONAME
-	_ZN16NotesViewManagerC1ER20NotesAppControllerIfP7QObject @ 2 NONAME
-	_ZN16NotesViewManagerC2ER20NotesAppControllerIfP7QObject @ 3 NONAME
-	_ZN16NotesViewManagerD0Ev @ 4 NONAME
-	_ZN16NotesViewManagerD1Ev @ 5 NONAME
-	_ZN16NotesViewManagerD2Ev @ 6 NONAME
-
--- a/notes/notesui/eabi/notesviewsu.def	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-EXPORTS
-	_ZN13NotesMainView19setupAfterViewReadyEv @ 1 NONAME
-	_ZN13NotesMainView9setupViewER20NotesAppControllerIfP14NotesDocLoader @ 2 NONAME
-	_ZN13NotesMainViewC1EP15QGraphicsWidget @ 3 NONAME
-	_ZN13NotesMainViewC2EP15QGraphicsWidget @ 4 NONAME
-	_ZN13NotesMainViewD0Ev @ 5 NONAME
-	_ZN13NotesMainViewD1Ev @ 6 NONAME
-	_ZN13NotesMainViewD2Ev @ 7 NONAME
-	_ZN13NotesNoteView9setupViewER20NotesAppControllerIfP14NotesDocLoader @ 8 NONAME
-	_ZN13NotesNoteViewC1EP15QGraphicsWidget @ 9 NONAME
-	_ZN13NotesNoteViewC2EP15QGraphicsWidget @ 10 NONAME
-	_ZN13NotesNoteViewD0Ev @ 11 NONAME
-	_ZN13NotesNoteViewD1Ev @ 12 NONAME
-	_ZN13NotesNoteViewD2Ev @ 13 NONAME
-	_ZN13NotesTodoView9setupViewER20NotesAppControllerIfP14NotesDocLoader @ 14 NONAME
-	_ZN13NotesTodoViewC1EP15QGraphicsWidget @ 15 NONAME
-	_ZN13NotesTodoViewC2EP15QGraphicsWidget @ 16 NONAME
-	_ZN13NotesTodoViewD0Ev @ 17 NONAME
-	_ZN13NotesTodoViewD1Ev @ 18 NONAME
-	_ZN13NotesTodoViewD2Ev @ 19 NONAME
-	_ZN17NotesFavoriteView9setupViewER20NotesAppControllerIfP14NotesDocLoader @ 20 NONAME
-	_ZN17NotesFavoriteViewC1EP15QGraphicsWidget @ 21 NONAME
-	_ZN17NotesFavoriteViewC2EP15QGraphicsWidget @ 22 NONAME
-	_ZN17NotesFavoriteViewD0Ev @ 23 NONAME
-	_ZN17NotesFavoriteViewD1Ev @ 24 NONAME
-	_ZN17NotesFavoriteViewD2Ev @ 25 NONAME
-	_ZN19NotesCollectionView9setupViewER20NotesAppControllerIfP14NotesDocLoader @ 26 NONAME
-	_ZN19NotesCollectionViewC1EP15QGraphicsWidget @ 27 NONAME
-	_ZN19NotesCollectionViewC2EP15QGraphicsWidget @ 28 NONAME
-	_ZN19NotesCollectionViewD0Ev @ 29 NONAME
-	_ZN19NotesCollectionViewD1Ev @ 30 NONAME
-	_ZN19NotesCollectionViewD2Ev @ 31 NONAME
-	_ZThn16_N13NotesMainViewD0Ev @ 32 NONAME
-	_ZThn16_N13NotesMainViewD1Ev @ 33 NONAME
-	_ZThn16_N13NotesNoteViewD0Ev @ 34 NONAME
-	_ZThn16_N13NotesNoteViewD1Ev @ 35 NONAME
-	_ZThn16_N13NotesTodoViewD0Ev @ 36 NONAME
-	_ZThn16_N13NotesTodoViewD1Ev @ 37 NONAME
-	_ZThn16_N17NotesFavoriteViewD0Ev @ 38 NONAME
-	_ZThn16_N17NotesFavoriteViewD1Ev @ 39 NONAME
-	_ZThn16_N19NotesCollectionViewD0Ev @ 40 NONAME
-	_ZThn16_N19NotesCollectionViewD1Ev @ 41 NONAME
-	_ZThn8_N13NotesMainViewD0Ev @ 42 NONAME
-	_ZThn8_N13NotesMainViewD1Ev @ 43 NONAME
-	_ZThn8_N13NotesNoteViewD0Ev @ 44 NONAME
-	_ZThn8_N13NotesNoteViewD1Ev @ 45 NONAME
-	_ZThn8_N13NotesTodoViewD0Ev @ 46 NONAME
-	_ZThn8_N13NotesTodoViewD1Ev @ 47 NONAME
-	_ZThn8_N17NotesFavoriteViewD0Ev @ 48 NONAME
-	_ZThn8_N17NotesFavoriteViewD1Ev @ 49 NONAME
-	_ZThn8_N19NotesCollectionViewD0Ev @ 50 NONAME
-	_ZThn8_N19NotesCollectionViewD1Ev @ 51 NONAME
-	_ZN13NotesMainView11updateTitleEv @ 52 NONAME
-	_ZN13NotesTodoView11updateTitleEv @ 53 NONAME
-	_ZN19NotesCollectionView16populateListViewEv @ 54 NONAME
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/notesui/notesappcontroller/bwins/notesappcontrolleru.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,5 @@
+EXPORTS
+	??1NotesAppController@@UAE@XZ @ 1 NONAME ; NotesAppController::~NotesAppController(void)
+	??_ENotesAppController@@UAE@I@Z @ 2 NONAME ; NotesAppController::~NotesAppController(unsigned int)
+	??0NotesAppController@@QAE@PAVQObject@@@Z @ 3 NONAME ; NotesAppController::NotesAppController(class QObject *)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/notesui/notesappcontroller/eabi/notesappcontrolleru.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,9 @@
+EXPORTS
+	_ZN18NotesAppControllerC1EP7QObject @ 1 NONAME
+	_ZN18NotesAppControllerC2EP7QObject @ 2 NONAME
+	_ZN18NotesAppControllerD0Ev @ 3 NONAME
+	_ZN18NotesAppControllerD1Ev @ 4 NONAME
+	_ZN18NotesAppControllerD2Ev @ 5 NONAME
+	_ZTI18NotesAppController @ 6 NONAME
+	_ZTV18NotesAppController @ 7 NONAME
+
--- a/notes/notesui/notesappcontroller/src/notesappcontroller.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/notesui/notesappcontroller/src/notesappcontroller.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -38,7 +38,7 @@
  mIfImpl(0)
 {
 	// Construct the interface implementation.
-	mIfImpl = new NotesAppControllerIfImpl(this, this);
+	mIfImpl = new NotesAppControllerIfImpl(this);
 
 	// Construct the model handler.
 	mNotesModelHandler = new NotesModelHandler(this);
--- a/notes/notesui/notesappcontroller/src/notesappcontrollerifimpl.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/notesui/notesappcontroller/src/notesappcontrollerifimpl.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -38,7 +38,7 @@
  */
 NotesAppControllerIfImpl::NotesAppControllerIfImpl(
 		NotesAppController *controller, QObject *parent)
-:QObject(parent),
+:QObject(controller),
  mAppController(controller)
 {
 	// Nothing yet.
--- a/notes/notesui/notesapplication/notesapplication.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/notesui/notesapplication/notesapplication.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -47,6 +47,8 @@
 
 	notes.path = /sys/bin
 	DEPLOYMENT += notes
+	
+	SKINICON = qtg_large_notes
 }
 
 SOURCES += main.cpp
Binary file notes/notesui/notesapplication/rndcert.der has changed
--- a/notes/notesui/notesapplication/rndcert.key	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIICXQIBAAKBgQC/TDP7KKIaf5+uW4OD2iVZuUMC2a+SeQTjf6srlKcOm+CpPNXn
-uLNm/8fdEnyOIuRXPRKmqhs1n0JkxEGHynELWMTuKXbQx9SRAGUXzyneGn+IJNnO
-vOKHWgKCouX2hfI8rtkdqJpqmO460gGsMgw+lsbeyWyW9lnfLxq+ZC7sqQIDAQAB
-AoGBALmUWZE8GBaQ3P4u9WUCSd3DJkkrmXIFSULSZeH/chlwCwDjbbhArHothVzo
-REE3hEFFlERvHbplZ+mNouzy7boduvgUzbksGrbGMLJ2qO1GzWWVwV+GzOWKd3ss
-/98Gwoy5R8pjnkqUE2wP1iJFw0FjvUTKcYv/z6t3LLJ0CsoBAkEA+c7ixvsviQ3J
-s0INytCKU2bf8fqFQJi1VI82ukxNsujGTQ9upVSjuvqPvWyDvvTdrUBHqO+3qPut
-sEh01Q8aiQJBAMQKDJPVRu4ud3mwUfEavzL5EjqwG1k9VCNGYsT4FwtrHcxu1oP/
-pk6M3rIZukqomoEEnHWPMwhrK3fhBqi0OSECQQDr40VXege4FnH5OI2Hj4afHMyp
-VdQQXGMWFyopnzXblFz0lXb43cTCIiorR9XcMqNFHybLypkWE5o+lRzlt55pAkBQ
-P/zeF5Sts//cpL0mgdh7OVKpC6ZmZaCnwAx2rUhhuDu+kDDoYCLoTOps5fNI1LRK
-1GRoC3LMo3Jr5IYhUYWBAkBpCpN6k4JU/mszq98EojHerQNxk8sPqvQKUzTutohT
-1gLX9yepGayB/TtT2EEJDkWOlnTy/dvN6W3vzbJYz97x
------END RSA PRIVATE KEY-----
--- a/notes/notesui/notesapplication/src/main.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/notesui/notesapplication/src/main.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -17,10 +17,9 @@
 
 // System includes
 #include <QScopedPointer>
-#include <QTranslator>
 #include <hbapplication.h>
 #include <hbmainwindow.h>
-
+#include <hbtranslator.h>
 // User includes
 #include "notesappcontroller.h"
 
@@ -42,9 +41,8 @@
 	window.setViewportUpdateMode(QGraphicsView::MinimalViewportUpdate);
 
 	// Load the translation file.
-	QTranslator notesViewsTranslator;
-	notesViewsTranslator.load("notes",":/translations");
-	app.installTranslator(&notesViewsTranslator);
+	HbTranslator notesViewsTranslator("notes");
+	notesViewsTranslator.loadCommon();
 
 	// Construct the application controller.
 	QScopedPointer<NotesAppController> controller(new NotesAppController);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/notesui/noteseditor/bwins/noteseditoru.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,24 @@
+EXPORTS
+	?edit@NotesEditor@@QAEXVAgendaEntry@@@Z @ 1 NONAME ; void NotesEditor::edit(class AgendaEntry)
+	?tr@NotesEditor@@SA?AVQString@@PBD0H@Z @ 2 NONAME ; class QString NotesEditor::tr(char const *, char const *, int)
+	?edit@NotesEditor@@QAEXK@Z @ 3 NONAME ; void NotesEditor::edit(unsigned long)
+	?edit@NotesEditor@@QAEXABVQFile@@@Z @ 4 NONAME ; void NotesEditor::edit(class QFile const &)
+	?d_func@NotesEditor@@ABEPBVNotesEditorPrivate@@XZ @ 5 NONAME ; class NotesEditorPrivate const * NotesEditor::d_func(void) const
+	?qt_metacast@NotesEditor@@UAEPAXPBD@Z @ 6 NONAME ; void * NotesEditor::qt_metacast(char const *)
+	?trUtf8@NotesEditor@@SA?AVQString@@PBD0H@Z @ 7 NONAME ; class QString NotesEditor::trUtf8(char const *, char const *, int)
+	??_ENotesEditor@@UAE@I@Z @ 8 NONAME ; NotesEditor::~NotesEditor(unsigned int)
+	?edit@NotesEditor@@QAEXABVQString@@@Z @ 9 NONAME ; void NotesEditor::edit(class QString const &)
+	?qt_metacall@NotesEditor@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 10 NONAME ; int NotesEditor::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?create@NotesEditor@@QAEXW4CreateType@1@@Z @ 11 NONAME ; void NotesEditor::create(enum NotesEditor::CreateType)
+	?d_func@NotesEditor@@AAEPAVNotesEditorPrivate@@XZ @ 12 NONAME ; class NotesEditorPrivate * NotesEditor::d_func(void)
+	??1NotesEditor@@UAE@XZ @ 13 NONAME ; NotesEditor::~NotesEditor(void)
+	??0NotesEditor@@QAE@PAVQObject@@@Z @ 14 NONAME ; NotesEditor::NotesEditor(class QObject *)
+	?staticMetaObject@NotesEditor@@2UQMetaObject@@B @ 15 NONAME ; struct QMetaObject const NotesEditor::staticMetaObject
+	??0NotesEditor@@QAE@PAVAgendaUtil@@PAVQObject@@@Z @ 16 NONAME ; NotesEditor::NotesEditor(class AgendaUtil *, class QObject *)
+	?close@NotesEditor@@QAEKW4CloseType@1@@Z @ 17 NONAME ; unsigned long NotesEditor::close(enum NotesEditor::CloseType)
+	?editingCompleted@NotesEditor@@IAEX_N@Z @ 18 NONAME ; void NotesEditor::editingCompleted(bool)
+	?metaObject@NotesEditor@@UBEPBUQMetaObject@@XZ @ 19 NONAME ; struct QMetaObject const * NotesEditor::metaObject(void) const
+	?tr@NotesEditor@@SA?AVQString@@PBD0@Z @ 20 NONAME ; class QString NotesEditor::tr(char const *, char const *)
+	?trUtf8@NotesEditor@@SA?AVQString@@PBD0@Z @ 21 NONAME ; class QString NotesEditor::trUtf8(char const *, char const *)
+	?getStaticMetaObject@NotesEditor@@SAABUQMetaObject@@XZ @ 22 NONAME ; struct QMetaObject const & NotesEditor::getStaticMetaObject(void)
+
--- a/notes/notesui/noteseditor/data/noteseditor.qrc	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/notesui/noteseditor/data/noteseditor.qrc	Thu Jul 22 16:32:51 2010 +0100
@@ -1,1 +1,1 @@
-<!DOCTYPE RCC><RCC version="1.0">	<qresource prefix="/translations">		<file alias="notes">translations/notes.qm</file>	</qresource>	<qresource prefix="/docml">		<file alias="notesnoteeditor.docml">xml/notesnoteeditor.docml</file>		<file alias="todoeditor.docml">xml/todoeditor.docml</file>	</qresource></RCC>
\ No newline at end of file
+<!DOCTYPE RCC><RCC version="1.0">	<qresource prefix="/docml">		<file alias="notesnoteeditor.docml">xml/notesnoteeditor.docml</file>		<file alias="todoeditor.docml">xml/todoeditor.docml</file>	</qresource></RCC>
\ No newline at end of file
Binary file notes/notesui/noteseditor/data/translations/notes.qm has changed
--- a/notes/notesui/noteseditor/data/translations/notes.ts	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,856 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="3.0" sourcelanguage="en_GB">
-<context>
-<message numerus="no" id="txt_notes_list_due_date">
-    <comment>Due date for To-do note</comment>        
-    <source>%1</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_pri_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P11</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_button_new_todo">
-    <comment>Toolbar button to create new To-do note</comment>        
-    <source>New To-do </source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_toolbar_tiny_4</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_L7</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_formlabel_val_description">
-    <comment>Default texxt value for Description field in a dataform</comment>        
-    <source>Description</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dataform_editor_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P12</extra-loc-viewid>
-    <extra-loc-positionid>formlabel_5_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_formlabel_val_subject">
-    <comment>Default text value for Subject field in a dataform</comment>        
-    <source>Subject</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dataform_editor_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P12</extra-loc-viewid>
-    <extra-loc-positionid>formlabel_4_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_menu_make_it_as_todo_note">
-    <comment>Item specific menu item . This action launchs the To-Do editor to add due date and remainder for the selected note</comment>        
-    <source>Make it as To-do note</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>menu</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_button_find">
-    <comment>toolbar button text in landscape mode . If user taps on this button, Find functionality is enabled in all notes view</comment>        
-    <source>Find</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_toolbar_tiny_4</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_L1</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_subhead_todo">
-    <comment>Sub title in To-do Editor</comment>        
-    <source>To-do</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P8</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_opt_new_note">
-    <comment>Option menu item to create new note</comment>        
-    <source>New note</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P5</extra-loc-viewid>
-    <extra-loc-positionid>opt</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dblist_note_modified_at_time">
-    <comment>Secondary text item to mention modification time for a note</comment>        
-    <source>Modified at %1</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>dblist_14_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_setlabel_priority_val_low">
-    <comment>Priority value in Combo Box used in a dataform</comment>        
-    <source>Low</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dataform_combobox_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P8</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_4_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dblist_val_created_on_1_2">
-    <comment>Secondary text item to mention creation date and time for a task</comment>        
-    <source>Created on %1 %2</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>dblist_1_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_title_alarm_time">
-    <comment>Message dialog header text . Time picker component embedded</comment>        
-    <source>Alarm time</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_pri_heading</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P9</extra-loc-viewid>
-    <extra-loc-positionid>title</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_formlabel_due_date">
-    <comment>Label item in Data form </comment>        
-    <source>Due date</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dataform_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P8</extra-loc-viewid>
-    <extra-loc-positionid>formlabel_1</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_opt_remove_description">
-    <comment>Options menu item to remove description from the To-do editor</comment>        
-    <source>Remove description</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P12</extra-loc-viewid>
-    <extra-loc-positionid>opt</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_title_alarm_date">
-    <comment>Message dialog header text . Date picker component embedded</comment>        
-    <source>Alarm date</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_pri_heading</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P9</extra-loc-viewid>
-    <extra-loc-positionid>title</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_menu_mark_as_not_done">
-    <comment>Item specific menu item to mark a task as not done</comment>        
-    <source>Mark as not done</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>menu</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dpopinfo_note_saved">
-    <comment>Soft notification dialog info text. This dialog is displayed once the note is modified and saved</comment>        
-    <source>Note saved</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes</extra-loc-viewid>
-    <extra-loc-positionid>dpopinfo</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_button_new_note">
-    <comment>toolbar button text in landscape mode . If user taps on this button, Notes editor is launched to add note</comment>        
-    <source>New note</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_toolbar_tiny_4</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_L1</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dblist_note_created_at_time">
-    <comment>Secondary text item to mention creation time for a note</comment>        
-    <source>Created at %1</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>dblist_12_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="yes" id="txt_notes_subhead_ln_notes">
-    <comment>Sub title for All Notes view</comment>        
-    <source>%Ln Notes</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dblist_description">
-    <comment>Primary text label in To-do Viewer</comment>        
-    <source>Description:</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P11</extra-loc-viewid>
-    <extra-loc-positionid>dblist_7</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dblist_subject">
-    <comment>Primary text label in To-do viewer</comment>        
-    <source>Subject:</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_pri_graphic_add</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P11</extra-loc-viewid>
-    <extra-loc-positionid>dblist_5</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_opt_add_description">
-    <comment>Options menu item to add description field in To-do note editor</comment>        
-    <source>Add description</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P8</extra-loc-viewid>
-    <extra-loc-positionid>opt</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_list_note_count">
-    <comment>List item to show the number&lt;Count&gt;  of items (To-Dos, Recent notes, Favourites) - Right side of the list item</comment>        
-    <source>[ %1 ]</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P2</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_button_due_date">
-    <comment>Date push button in Data Form to set due date for a To-do note. This action opens the date picker component</comment>        
-    <source>%1</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dataform_button_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P8</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_setlabel_priority_val_high">
-    <comment>Priority value in Combo Box used in a dataform</comment>        
-    <source>High</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dataform_combobox_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P8</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_4_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dblist_completed_date_val_1">
-    <comment>Completed date value (Secondary text ) in To-do viewer</comment>        
-    <source>%1</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P11</extra-loc-viewid>
-    <extra-loc-positionid>dblist_6_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_opt_discard_changes">
-    <comment>Option menu item to discard the changes done in the notes editor</comment>        
-    <source>Discard changes</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P5</extra-loc-viewid>
-    <extra-loc-positionid>opt</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_short_caption_notes">
-    <comment>Notes application in application library grid view</comment>        
-    <source>Notes</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_grid_applications_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_button_dialog_delete">
-    <comment>Delete - Confirmation dialog softkey button </comment>        
-    <source>Delete</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_softkey_2</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P19</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_opt_mark_as_not_done">
-    <comment>Options menu item to change the completed to-do status to not-completed</comment>        
-    <source>Mark as not done</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P11</extra-loc-viewid>
-    <extra-loc-positionid>opt</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dblist_completed_date">
-    <comment>Primary text label in To-do viewer</comment>        
-    <source>Completed date:</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P11</extra-loc-viewid>
-    <extra-loc-positionid>dblist_6</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_setlabel_priority_val_normal">
-    <comment>Priority value in Combo Box used in a dataform</comment>        
-    <source>Normal</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dataform_combobox_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P8</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_4_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_subhead_plain_notes">
-    <comment>Sub title in Recent notes list view</comment>        
-    <source>Plain notes</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P6</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_button_delete">
-    <comment>Toolbar button item to delete the note</comment>        
-    <source>Delete</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_toolbar_tiny_3</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_L4</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_list_favorites">
-    <comment>Collections name in the list widget (Left Side)</comment>        
-    <source>Favorites</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P2</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_info_delete_note">
-    <comment>Confirmation dialog text for deleting a note</comment>        
-    <source>Delete note?</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_pri5_large_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P19</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_subhead_edit_time">
-    <comment>Creation &amp; Modification time and date will be shown in the groupBox. Custom groupBox label . Text shown on the right side of the widget</comment>        
-    <source>%1 %2</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>txt_notes_subhead_1_2</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P5</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_button_all_notes">
-    <comment>One of the toolbar button text in landscape mode . If user taps on this button, All notes view is displayed</comment>        
-    <source>All notes</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_toolbar_tiny_4</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_L1</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_info_delete_todo_note">
-    <comment>Confirmation dialog text for deleting a To-do note</comment>        
-    <source>Delete To-do note?</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_pri5_large_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P19</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_menu_remove_from_favorites">
-    <comment>Item specific menu item to remove the note from favorites</comment>        
-    <source>Remove from favorites</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>menu</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_button_add_to_calendar">
-    <comment>Toolbar button to launch calendar editor and add content in the subject and description field</comment>        
-    <source>Add to Calendar</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_toolbar_tiny_3</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_L4</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_long_caption_notes">
-    <comment>Notes application in application library list view</comment>        
-    <source>Notes</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_pri_large_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_list_no_notes_available">
-    <comment>Custom layout ID. No parent . If the view is empty, this text should be displayed in the All notes empy list view. Same text is used in landscape as well</comment>        
-    <source>No notes available</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>txt_notes_list_no_notes_available</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_button_send">
-    <comment>Tool bar button used to send the note to other user</comment>        
-    <source>Send</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_toolbar_tiny_3</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_L4</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_list_plain_notes">
-    <comment>Collections name in the list widget (Left Side)</comment>        
-    <source>Plain notes</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P2</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_list_alarm_date">
-    <comment>Alarm time and date for To-do note</comment>        
-    <source>%1 %2</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_pri_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P11</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dblist_note_created_on_date">
-    <comment>Secondary text item to mention creation date for a note</comment>        
-    <source>Created on %1</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>dblist_11_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_title_due_date">
-    <comment>Message dialog header text . Date picker component embedded</comment>        
-    <source>Due date</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_pri_heading</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P9</extra-loc-viewid>
-    <extra-loc-positionid>title</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_list_todos">
-    <comment>Collections name in the list widget (Left Side)</comment>        
-    <source>To-do&apos;s</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P2</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_subhead_note">
-    <comment>Layout ID Parent. Custom GroupBox. Sub title in Notes editor  (Left Side)</comment>        
-    <source>Note</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>txt_notes_subhead_note</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P5</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_info_delete_todo_notes">
-    <comment>Confirmation dialog text for deleting multiple to-do notes</comment>        
-    <source>Delete To-do notes?</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_pri5_large_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P19</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dpopinfo_new_note_saved">
-    <comment>Soft notification dialog info text. This dialog is displayed once the new note is saved</comment>        
-    <source>New note saved</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes</extra-loc-viewid>
-    <extra-loc-positionid>dpopinfo</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_button_alarm_date">
-    <comment>Layout ID Parent. Date  Push Button in Dataform to set alarm date for a To-do note. This action opens the date picker component</comment>        
-    <source>%2</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>txt_notes_button_2</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P8</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_opt_make_it_as_todo_note">
-    <comment>Options menu item to convert a note to To-Do item. This action launchs To-Do editor to add due date and reminder</comment>        
-    <source>Make it as To-do note</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P4</extra-loc-viewid>
-    <extra-loc-positionid>opt</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_opt_remove_from_favorites">
-    <comment>Options menu item to remove the note from favorites item</comment>        
-    <source>Remove from favorites</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P5</extra-loc-viewid>
-    <extra-loc-positionid>opt</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_subhead_new_note">
-    <comment>Layout ID Parent. Custom GroupBox. Sub title in Notes editor (Creating new note) - Left side text</comment>        
-    <source>New note</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>txt_notes_subhead_new_note</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P4</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_subhead_new_todo">
-    <comment>Sub title in New To-do note editor</comment>        
-    <source>New To-do</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P12</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_title_notes">
-    <comment>Title bar text for Notes application+</comment>        
-    <source>Notes</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_titlebar</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>title</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_opt_mark_as_favorite">
-    <comment>Options menu  item to mark the note as favorite item</comment>        
-    <source>Mark as favorite</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P4</extra-loc-viewid>
-    <extra-loc-positionid>opt</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_tsw_caption_notes">
-    <comment>Notes application name  in Task Switcher</comment>        
-    <source>Notes</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>txt_tsw_caption_notes</extra-loc-layout_id>    
-    <extra-loc-viewid>tsw01</extra-loc-viewid>
-    <extra-loc-positionid>caption</extra-loc-positionid>
-    <extra-loc-feature>ts</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_subhead_collections">
-    <comment>Sub title for Collections view</comment>        
-    <source>Collections</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P2</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_formlabel_alarm_date_and_time">
-    <comment>Label item in Data form</comment>        
-    <source>Alarm date and time</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dataform_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P8</extra-loc-viewid>
-    <extra-loc-positionid>formlabel_3</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_button_collections">
-    <comment>toolbar button text in landscape mode . If user taps on this button, Collections view is displayed</comment>        
-    <source>Collections</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_toolbar_tiny_4</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_L1</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_button_edit">
-    <comment>One of 3 buttons in Toolbar . Toolbar button item to edit the To-do note </comment>        
-    <source>Edit</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_toolbar_tiny_3</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P11</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dblist_val_modified_on_1_2">
-    <comment>Secondary text item to mention modified date &amp; time  for a note</comment>        
-    <source>Modified on %1 %2</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>dblist_2_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_button_alarm_time">
-    <comment>Layout ID Parent. Custom Widget . Time Push Button in Dataform to set alarm time for a To-do note. This action opens the time picker component</comment>        
-    <source>%1</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>txt_notes_button_1</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P8</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_info_delete_notes">
-    <comment>Confirmation dialog text for deleting multiple notes</comment>        
-    <source>Delete notes?</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_pri5_large_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P19</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_subhead_favorites">
-    <comment>Sub title in Favorite notes list view</comment>        
-    <source>Favorites</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P3</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dblist_val_due_on_1">
-    <comment>Secondary text item in the list to show due date for a task</comment>        
-    <source>Due on %1</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>dblist_3_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_menu_mark_as_favorite">
-    <comment>Item specific menu item to mark a note as favorite </comment>        
-    <source>Mark as favorite</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>menu</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dblist_val_unnamed">
-    <comment>Secondary text in the list item. If subject is not mentioned for a note, this text is displayed as secondary text in the All notes list view</comment>        
-    <source>Unnamed</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P11</extra-loc-viewid>
-    <extra-loc-positionid>dblist_5_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dblist_val_completed_on_1">
-    <comment>Secondary text item in the list to show completed date for To-do note</comment>        
-    <source>Completed on %1</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>dblist_4_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_opt_mark_as_done">
-    <comment>Options menu item to change the non-completed to-do status to completed</comment>        
-    <source>Mark as done</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P11</extra-loc-viewid>
-    <extra-loc-positionid>opt</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dpopinfo_new_todo_note_saved">
-    <comment>Soft notification dialog info text. This dialog is displayed once the new to-do note is saved</comment>        
-    <source>New To-do note saved</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P10</extra-loc-viewid>
-    <extra-loc-positionid>dpopinfo</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_setlabel_priority">
-    <comment>Label item in Data form</comment>        
-    <source>Priority</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dataform_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P8</extra-loc-viewid>
-    <extra-loc-positionid>setlabel_4</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dpopinfo_todo_note_saved">
-    <comment>Soft notification dialog info text. This dialog is displayed once to-do note is modified and saved</comment>        
-    <source>To-do note saved</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P10</extra-loc-viewid>
-    <extra-loc-positionid>dpopinfo</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="yes" id="txt_notes_subhead_todos_ln_pending">
-    <comment>Sub title in To-do notes list view</comment>        
-    <source>To-do&apos;s (%Ln Pending )</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P7</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_task_switcher_caption_notes">
-    <comment>Notes application name  in Task Switcher</comment>        
-    <source>Notes</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>cell_tport_appsw_pane_t1</extra-loc-layout_id>    
-    <extra-loc-viewid>Task Switcher</extra-loc-viewid>
-    <extra-loc-positionid>caption</extra-loc-positionid>
-    <extra-loc-feature>Ta</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dblist_note_modified_on_date">
-    <comment>Secondary text item to mention modification date for a note</comment>        
-    <source>Modified on %1</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>dblist_13_val</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dblist_unnamed">
-    <comment>Primary text in all notes list view if the subject is not mentioned for a To-do note</comment>        
-    <source>Unnamed</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_pri_graphic_add</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>dblist_11</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_menu_add_to_calendar">
-    <comment>Item specific menu item. This action launches the event editor and adds the notes content to the subject &amp; description field</comment>        
-    <source>Add to Calendar</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>menu</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_dpopinfo_note_moved_to_todos">
-    <comment>If a plain note is marked as To-do note in the list view, the marked item disappears from the current view with a notification dialog </comment>        
-    <source>Note moved to To-do&apos;s</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_notifdialog_pri2</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes</extra-loc-viewid>
-    <extra-loc-positionid>dpopinfo</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_menu_mark_as_done">
-    <comment>Item specific menu item to mark a task as completed</comment>        
-    <source>Mark as done</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P1</extra-loc-viewid>
-    <extra-loc-positionid>menu</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_notes_formlabel_alarm">
-    <comment>Checkbox label item to enable/disable alarm</comment>        
-    <source>Alarm</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dataform_checkbox_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Notes_P8</extra-loc-viewid>
-    <extra-loc-positionid>formlabel_2</extra-loc-positionid>
-    <extra-loc-feature>No</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-</context>
-</TS>
--- a/notes/notesui/noteseditor/data/xml/notesnoteeditor.docml	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/notesui/noteseditor/data/xml/notesnoteeditor.docml	Thu Jul 22 16:32:51 2010 +0100
@@ -21,7 +21,7 @@
     <widget name="notesEditorView" type="HbView">
         <widget name="noteEditorWidget" role="HbView:widget" type="HbWidget">
             <widget name="notesEditorSubHeading" type="HbGroupBox">
-	        <string name="titleText" value=" "/>
+	        <string name="heading" value=" "/>
     	        <bool name="collapsable" value="FALSE"/>
             </widget>
             <widget name="editorHeading" type="HbLabel">
@@ -52,8 +52,8 @@
             </layout>
         </widget>
         <widget name="viewMenu" role="HbView:menu" type="HbMenu">
+            <ref object="makeFavoriteAction" role="HbMenu:addAction"/>
             <ref object="makeAsTodoAction" role="HbMenu:addAction"/>
-            <ref object="makeFavoriteAction" role="HbMenu:addAction"/>
         </widget>
         <widget name="viewToolbar" role="HbView:toolBar" type="HbToolBar">
             <enums name="orientation" value="Horizontal"/>
--- a/notes/notesui/noteseditor/data/xml/todoeditor.docml	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/notesui/noteseditor/data/xml/todoeditor.docml	Thu Jul 22 16:32:51 2010 +0100
@@ -3,7 +3,7 @@
     <widget name="todoEditorview" type="HbView">
         <widget name="todoEditorwidget" role="HbView:widget" type="HbWidget">
             <widget name="subHeading" type="HbGroupBox">
-                <string locid="txt_notes_subhead_new_todo" name="titleText" value="New To-do"/>
+                <string locid="txt_notes_subhead_new_todo" name="heading" value="New To-do"/>
                 <bool name="collapsable" value="FALSE"/>
             </widget>
             <widget name="todoEditorDataForm" type="HbDataForm">
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/notesui/noteseditor/eabi/noteseditoru.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,23 @@
+EXPORTS
+	_ZN11NotesEditor11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME
+	_ZN11NotesEditor11qt_metacastEPKc @ 2 NONAME
+	_ZN11NotesEditor16editingCompletedEb @ 3 NONAME
+	_ZN11NotesEditor16staticMetaObjectE @ 4 NONAME DATA 16
+	_ZN11NotesEditor19getStaticMetaObjectEv @ 5 NONAME
+	_ZN11NotesEditor4editE11AgendaEntry @ 6 NONAME
+	_ZN11NotesEditor4editERK5QFile @ 7 NONAME
+	_ZN11NotesEditor4editERK7QString @ 8 NONAME
+	_ZN11NotesEditor4editEm @ 9 NONAME
+	_ZN11NotesEditor5closeENS_9CloseTypeE @ 10 NONAME
+	_ZN11NotesEditor6createENS_10CreateTypeE @ 11 NONAME
+	_ZN11NotesEditorC1EP10AgendaUtilP7QObject @ 12 NONAME
+	_ZN11NotesEditorC1EP7QObject @ 13 NONAME
+	_ZN11NotesEditorC2EP10AgendaUtilP7QObject @ 14 NONAME
+	_ZN11NotesEditorC2EP7QObject @ 15 NONAME
+	_ZN11NotesEditorD0Ev @ 16 NONAME
+	_ZN11NotesEditorD1Ev @ 17 NONAME
+	_ZN11NotesEditorD2Ev @ 18 NONAME
+	_ZNK11NotesEditor10metaObjectEv @ 19 NONAME
+	_ZTI11NotesEditor @ 20 NONAME
+	_ZTV11NotesEditor @ 21 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/notesui/noteseditor/inc/noteseditor.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,75 @@
+/*
+* 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 header file for NotesEditor class.
+*
+*/
+
+#ifndef NOTESEDITOR_H
+#define NOTESEDITOR_H
+
+// System includes
+#include <QObject>
+#include <qglobal.h>
+
+// User includes
+#include "noteseditordefines.h"
+
+// Forward declarations
+class QFile;
+class QString;
+class AgendaUtil;
+class AgendaEntry;
+class NotesEditorPrivate;
+
+class NOTESEDITOR_EXPORT NotesEditor : public QObject
+{
+	Q_OBJECT
+
+public:
+	enum CreateType{
+		CreateNote = 0,
+		CreateTodo,
+		CreateTypeUnKnown = -1
+	};
+	enum CloseType{
+		CloseWithSave = 0,
+		CloseWithoutSave,
+		CloseTypeUnKnown = -1
+	};
+
+	explicit NotesEditor(QObject *parent = 0);
+	explicit NotesEditor(AgendaUtil *agendaUtil, QObject *parent = 0);
+	virtual ~NotesEditor();
+
+public:
+	void edit(const QString &string);
+	void edit(const QFile &handle);
+	void edit(AgendaEntry entry);
+	void edit(ulong id);
+	void create(CreateType type);
+	ulong close(CloseType type);
+
+signals:
+	void editingCompleted(bool status = true);
+
+private:
+	NotesEditorPrivate *d_ptr;
+	Q_DECLARE_PRIVATE_D(d_ptr, NotesEditor)
+	Q_DISABLE_COPY(NotesEditor)
+};
+
+#endif // NOTESEDITOR_H
+
+// End of file	--Don't remove this.
--- a/notes/notesui/noteseditor/inc/noteseditor_p.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/notesui/noteseditor/inc/noteseditor_p.h	Thu Jul 22 16:32:51 2010 +0100
@@ -31,7 +31,7 @@
 // Forward declarations
 class QFile;
 class QString;
-class QTranslator;
+class HbTranslator;
 class HbView;
 class AgendaUtil;
 class NotesEditor;
@@ -85,7 +85,7 @@
 	bool mOwnsAgendaUtil;
 	bool mSaveEntry;
 
-	QPointer<QTranslator> mTranslator;
+	HbTranslator *mTranslator;
 
 	ulong mNoteId;
 private:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/notesui/noteseditor/inc/noteseditordefines.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,33 @@
+/*
+* 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:
+* This is the common definition file for the notes editor.
+*
+*/
+
+#ifndef NOTESEDITORDEFINES_H
+#define NOTESEDITORDEFINES_H
+
+// System includes
+#include <qglobal.h>
+
+#ifdef NOTESEDITOR_LIB
+#	define NOTESEDITOR_EXPORT Q_DECL_EXPORT
+#else
+#	define NOTESEDITOR_EXPORT Q_DECL_IMPORT
+#endif
+
+#endif // NOTESEDITORDEFINES_H
+
+// End of file	--Don't remove this.
--- a/notes/notesui/noteseditor/noteseditor.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/notesui/noteseditor/noteseditor.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -42,6 +42,10 @@
 	
 	LIBS += -lagendainterface \
 			-lcaleneditor
+	
+	BLD_INF_RULES.prj_exports += \
+		"./inc/noteseditor.h  |../../inc/noteseditor.h" \
+		"./inc/noteseditordefines.h  |../../inc/noteseditordefines.h
 }
 
 SOURCES += \
@@ -53,8 +57,8 @@
 		notestodoeditorcustomitem.cpp
 
 HEADERS += \
-		../../../inc/noteseditor.h \
-		../../../inc/noteseditordefines.h \
+		noteseditor.h \
+		noteseditordefines.h \
 		noteseditor_p.h \
 		noteseditordocloader.h \
 		noteseditorcommon.h \
@@ -64,5 +68,7 @@
 
 RESOURCES += \
 		noteseditor.qrc
+# TODO :need to use noteseditor.ts once it is released to platform		
+TRANSLATIONS += notes.ts		
 
 # End of file	--Don't remove this.
--- a/notes/notesui/noteseditor/src/noteseditor.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/notesui/noteseditor/src/noteseditor.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -44,7 +44,7 @@
 	\param parent QObject pointer.
  */
 NotesEditor::NotesEditor(QObject *parent)
-:QObject(parent),d_ptr(new NotesEditorPrivate(0, parent))
+:QObject(parent),d_ptr(new NotesEditorPrivate(0, this))
 {
 	// Nothing yet.
 }
@@ -57,7 +57,7 @@
 	\param parent QObject pointer.
  */
 NotesEditor::NotesEditor(AgendaUtil *agendaUtil, QObject *parent)
-:QObject(parent), d_ptr(new NotesEditorPrivate(agendaUtil, parent))
+:QObject(parent), d_ptr(new NotesEditorPrivate(agendaUtil, this))
 {
 	// Nothing yet.
 }
--- a/notes/notesui/noteseditor/src/noteseditor_p.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/notesui/noteseditor/src/noteseditor_p.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -18,13 +18,12 @@
 
 // System includes
 #include <QDateTime>
-#include <QTranslator>
-#include <HbApplication>
 #include <HbInstance>
 #include <HbMainWindow>
 #include <HbView>
 #include <HbNotificationDialog>
 #include <HbExtendedLocale>
+#include <HbTranslator>
 
 // User includes
 #include "noteseditor.h"
@@ -49,10 +48,14 @@
 NotesEditorPrivate::NotesEditorPrivate(AgendaUtil *agendaUtil, QObject *parent)
 :QObject(parent),
  mSaveEntry(true),
+ mTranslator(0),
  mNoteId(0)
 {
 	// First get the q-pointer.
 	q_ptr = static_cast<NotesEditor *> (parent);
+	
+	mTranslator = new HbTranslator("notes");
+	mTranslator->loadCommon();
 
 	// Here we check if the agendautil passed by the client is 0. If so, then we
 	// construct our own.
@@ -69,11 +72,6 @@
 			mAgendaUtil, SIGNAL(entriesChanged(QList<ulong> )),
 			this, SLOT(handleEntriesChanged(QList<ulong> )));
 
-
-	mTranslator = new QTranslator;
-	int success=mTranslator->load("notes",":/translations");
-
-	HbApplication::instance()->installTranslator(mTranslator);
 }
 
 /*!
@@ -86,7 +84,6 @@
 		mAgendaUtil = 0;
 	}
 
-	HbApplication::instance()->removeTranslator(mTranslator);
 	if (mTranslator) {
 		delete mTranslator;
 		mTranslator = 0;
@@ -565,12 +562,12 @@
 			if (isTodoEdited()) {
 				status = mAgendaUtil->updateEntry(mModifiedNote);
 				mNoteId = mModifiedNote.id();
-				if (status) {
-					showNotification(
-							hbTrId("txt_notes_dpopinfo_todo_note_saved"));
-				}
 			}
 		}
+		if (status) {
+			showNotification(
+					hbTrId("txt_notes_dpopinfo_todo_note_saved"));
+		}
 	}
 
 	return status;
--- a/notes/notesui/noteseditor/src/notestodoeditorcustomitem.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/notesui/noteseditor/src/notestodoeditorcustomitem.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -181,6 +181,7 @@
 	mTimePickerDialog = new HbDialog;
 	mTimePickerDialog->setTimeout(HbDialog::NoTimeout);
 	mTimePickerDialog->setDismissPolicy(HbDialog::NoDismiss);
+	mTimePickerDialog->setAttribute(Qt::WA_DeleteOnClose, true);
 
 	// Set the heading for the dialog.
 	HbLabel * timeLabel = new HbLabel("Time", mTimePickerDialog);
@@ -221,7 +222,8 @@
 	mDatePickerDialog = new HbDialog;
 	mDatePickerDialog->setTimeout(HbDialog::NoTimeout);
 	mDatePickerDialog->setDismissPolicy(HbDialog::NoDismiss);
-
+	mDatePickerDialog->setAttribute(Qt::WA_DeleteOnClose, true);
+	
 	// Set the heading for the dialog.
 	HbLabel * timeLabel = new HbLabel("Date", mDatePickerDialog);
 	mDatePickerDialog->setHeadingWidget(timeLabel);
@@ -274,7 +276,8 @@
 	mDatePickerDialog = new HbDialog;
 	mDatePickerDialog->setTimeout(HbDialog::NoTimeout);
 	mDatePickerDialog->setDismissPolicy(HbDialog::NoDismiss);
-
+	mDatePickerDialog->setAttribute(Qt::WA_DeleteOnClose, true);
+	
 	// Create date picker
 	HbDateTimePicker *datePicker = new HbDateTimePicker(mDatePickerDialog);
 	// Set the min/max date for the editor.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/notesui/notesmodel/bwins/notesmodelu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,45 @@
+EXPORTS
+	?sourceModel@NotesModel@@QAEPAVQAbstractItemModel@@XZ @ 1 NONAME ; class QAbstractItemModel * NotesModel::sourceModel(void)
+	?filterAcceptsRow@NotesSortFilterProxyModel@@MBE_NHABVQModelIndex@@@Z @ 2 NONAME ; bool NotesSortFilterProxyModel::filterAcceptsRow(int, class QModelIndex const &) const
+	?modifyEntryInModel@NotesModel@@AAEXKH@Z @ 3 NONAME ; void NotesModel::modifyEntryInModel(unsigned long, int)
+	?getStaticMetaObject@NotesSortFilterProxyModel@@SAABUQMetaObject@@XZ @ 4 NONAME ; struct QMetaObject const & NotesSortFilterProxyModel::getStaticMetaObject(void)
+	?appendCompTodosToModel@NotesModel@@AAEXAAV?$QList@VAgendaEntry@@@@@Z @ 5 NONAME ; void NotesModel::appendCompTodosToModel(class QList<class AgendaEntry> &)
+	?tr@NotesSortFilterProxyModel@@SA?AVQString@@PBD0H@Z @ 6 NONAME ; class QString NotesSortFilterProxyModel::tr(char const *, char const *, int)
+	?rowAdded@NotesModel@@IAEXVQModelIndex@@@Z @ 7 NONAME ; void NotesModel::rowAdded(class QModelIndex)
+	?qt_metacast@NotesModel@@UAEPAXPBD@Z @ 8 NONAME ; void * NotesModel::qt_metacast(char const *)
+	?trUtf8@NotesSortFilterProxyModel@@SA?AVQString@@PBD0@Z @ 9 NONAME ; class QString NotesSortFilterProxyModel::trUtf8(char const *, char const *)
+	?lessThan@NotesSortFilterProxyModel@@MBE_NABVQModelIndex@@0@Z @ 10 NONAME ; bool NotesSortFilterProxyModel::lessThan(class QModelIndex const &, class QModelIndex const &) const
+	?metaObject@NotesSortFilterProxyModel@@UBEPBUQMetaObject@@XZ @ 11 NONAME ; struct QMetaObject const * NotesSortFilterProxyModel::metaObject(void) const
+	?dateFormatString@NotesModel@@AAE?AVQString@@XZ @ 12 NONAME ; class QString NotesModel::dateFormatString(void)
+	?trUtf8@NotesSortFilterProxyModel@@SA?AVQString@@PBD0H@Z @ 13 NONAME ; class QString NotesSortFilterProxyModel::trUtf8(char const *, char const *, int)
+	?metaObject@NotesModel@@UBEPBUQMetaObject@@XZ @ 14 NONAME ; struct QMetaObject const * NotesModel::metaObject(void) const
+	?tr@NotesModel@@SA?AVQString@@PBD0H@Z @ 15 NONAME ; class QString NotesModel::tr(char const *, char const *, int)
+	?staticMetaObject@NotesModel@@2UQMetaObject@@B @ 16 NONAME ; struct QMetaObject const NotesModel::staticMetaObject
+	?staticMetaObject@NotesSortFilterProxyModel@@2UQMetaObject@@B @ 17 NONAME ; struct QMetaObject const NotesSortFilterProxyModel::staticMetaObject
+	??0NotesModel@@QAE@PAVAgendaUtil@@PAVQObject@@@Z @ 18 NONAME ; NotesModel::NotesModel(class AgendaUtil *, class QObject *)
+	??_ENotesSortFilterProxyModel@@UAE@I@Z @ 19 NONAME ; NotesSortFilterProxyModel::~NotesSortFilterProxyModel(unsigned int)
+	??1NotesSortFilterProxyModel@@UAE@XZ @ 20 NONAME ; NotesSortFilterProxyModel::~NotesSortFilterProxyModel(void)
+	?qt_metacall@NotesSortFilterProxyModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 21 NONAME ; int NotesSortFilterProxyModel::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?timeFormatString@NotesModel@@AAE?AVQString@@XZ @ 22 NONAME ; class QString NotesModel::timeFormatString(void)
+	?tr@NotesModel@@SA?AVQString@@PBD0@Z @ 23 NONAME ; class QString NotesModel::tr(char const *, char const *)
+	?getStaticMetaObject@NotesModel@@SAABUQMetaObject@@XZ @ 24 NONAME ; struct QMetaObject const & NotesModel::getStaticMetaObject(void)
+	?tr@NotesSortFilterProxyModel@@SA?AVQString@@PBD0@Z @ 25 NONAME ; class QString NotesSortFilterProxyModel::tr(char const *, char const *)
+	?addEntryToModel@NotesModel@@AAEXK@Z @ 26 NONAME ; void NotesModel::addEntryToModel(unsigned long)
+	??1NotesModel@@UAE@XZ @ 27 NONAME ; NotesModel::~NotesModel(void)
+	?handleInstanceViewCreationCompleted@NotesModel@@AAEXH@Z @ 28 NONAME ; void NotesModel::handleInstanceViewCreationCompleted(int)
+	?removeEntryFromModel@NotesModel@@AAEXK@Z @ 29 NONAME ; void NotesModel::removeEntryFromModel(unsigned long)
+	?qt_metacast@NotesSortFilterProxyModel@@UAEPAXPBD@Z @ 30 NONAME ; void * NotesSortFilterProxyModel::qt_metacast(char const *)
+	?appendInCompTodosToModel@NotesModel@@AAEXAAV?$QList@VAgendaEntry@@@@@Z @ 31 NONAME ; void NotesModel::appendInCompTodosToModel(class QList<class AgendaEntry> &)
+	?insertNoteToModel@NotesModel@@AAE_NAAVQModelIndex@@K@Z @ 32 NONAME ; bool NotesModel::insertNoteToModel(class QModelIndex &, unsigned long)
+	?qt_metacall@NotesModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 33 NONAME ; int NotesModel::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?populateSourceModel@NotesModel@@AAEXV?$QList@K@@@Z @ 34 NONAME ; void NotesModel::populateSourceModel(class QList<unsigned long>)
+	?appendNotesToModel@NotesModel@@AAEXAAV?$QList@VAgendaEntry@@@@@Z @ 35 NONAME ; void NotesModel::appendNotesToModel(class QList<class AgendaEntry> &)
+	?updateSourceModel@NotesModel@@AAEXK@Z @ 36 NONAME ; void NotesModel::updateSourceModel(unsigned long)
+	??_ENotesModel@@UAE@I@Z @ 37 NONAME ; NotesModel::~NotesModel(unsigned int)
+	?trUtf8@NotesModel@@SA?AVQString@@PBD0H@Z @ 38 NONAME ; class QString NotesModel::trUtf8(char const *, char const *, int)
+	?insertInCompTodoToModel@NotesModel@@AAE_NAAVQModelIndex@@K@Z @ 39 NONAME ; bool NotesModel::insertInCompTodoToModel(class QModelIndex &, unsigned long)
+	?trUtf8@NotesModel@@SA?AVQString@@PBD0@Z @ 40 NONAME ; class QString NotesModel::trUtf8(char const *, char const *)
+	?insertCompTodoToModel@NotesModel@@AAE_NAAVQModelIndex@@K@Z @ 41 NONAME ; bool NotesModel::insertCompTodoToModel(class QModelIndex &, unsigned long)
+	??0NotesSortFilterProxyModel@@QAE@AAVAgendaUtil@@PAVQObject@@@Z @ 42 NONAME ; NotesSortFilterProxyModel::NotesSortFilterProxyModel(class AgendaUtil &, class QObject *)
+	?populateSourceModel@NotesModel@@AAEXXZ @ 43 NONAME ; void NotesModel::populateSourceModel(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/notesui/notesmodel/eabi/notesmodelu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,45 @@
+EXPORTS
+	_ZN10NotesModel11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME
+	_ZN10NotesModel11qt_metacastEPKc @ 2 NONAME
+	_ZN10NotesModel11sourceModelEv @ 3 NONAME
+	_ZN10NotesModel15addEntryToModelEm @ 4 NONAME
+	_ZN10NotesModel16dateFormatStringEv @ 5 NONAME
+	_ZN10NotesModel16staticMetaObjectE @ 6 NONAME DATA 16
+	_ZN10NotesModel16timeFormatStringEv @ 7 NONAME
+	_ZN10NotesModel17insertNoteToModelER11QModelIndexm @ 8 NONAME
+	_ZN10NotesModel17updateSourceModelEm @ 9 NONAME
+	_ZN10NotesModel18appendNotesToModelER5QListI11AgendaEntryE @ 10 NONAME
+	_ZN10NotesModel18modifyEntryInModelEmi @ 11 NONAME
+	_ZN10NotesModel19getStaticMetaObjectEv @ 12 NONAME
+	_ZN10NotesModel19populateSourceModelE5QListImE @ 13 NONAME
+	_ZN10NotesModel19populateSourceModelEv @ 14 NONAME
+	_ZN10NotesModel20removeEntryFromModelEm @ 15 NONAME
+	_ZN10NotesModel21insertCompTodoToModelER11QModelIndexm @ 16 NONAME
+	_ZN10NotesModel22appendCompTodosToModelER5QListI11AgendaEntryE @ 17 NONAME
+	_ZN10NotesModel23insertInCompTodoToModelER11QModelIndexm @ 18 NONAME
+	_ZN10NotesModel24appendInCompTodosToModelER5QListI11AgendaEntryE @ 19 NONAME
+	_ZN10NotesModel35handleInstanceViewCreationCompletedEi @ 20 NONAME
+	_ZN10NotesModel8rowAddedE11QModelIndex @ 21 NONAME
+	_ZN10NotesModelC1EP10AgendaUtilP7QObject @ 22 NONAME
+	_ZN10NotesModelC2EP10AgendaUtilP7QObject @ 23 NONAME
+	_ZN10NotesModelD0Ev @ 24 NONAME
+	_ZN10NotesModelD1Ev @ 25 NONAME
+	_ZN10NotesModelD2Ev @ 26 NONAME
+	_ZN25NotesSortFilterProxyModel11qt_metacallEN11QMetaObject4CallEiPPv @ 27 NONAME
+	_ZN25NotesSortFilterProxyModel11qt_metacastEPKc @ 28 NONAME
+	_ZN25NotesSortFilterProxyModel16staticMetaObjectE @ 29 NONAME DATA 16
+	_ZN25NotesSortFilterProxyModel19getStaticMetaObjectEv @ 30 NONAME
+	_ZN25NotesSortFilterProxyModelC1ER10AgendaUtilP7QObject @ 31 NONAME
+	_ZN25NotesSortFilterProxyModelC2ER10AgendaUtilP7QObject @ 32 NONAME
+	_ZN25NotesSortFilterProxyModelD0Ev @ 33 NONAME
+	_ZN25NotesSortFilterProxyModelD1Ev @ 34 NONAME
+	_ZN25NotesSortFilterProxyModelD2Ev @ 35 NONAME
+	_ZNK10NotesModel10metaObjectEv @ 36 NONAME
+	_ZNK25NotesSortFilterProxyModel10metaObjectEv @ 37 NONAME
+	_ZNK25NotesSortFilterProxyModel16filterAcceptsRowEiRK11QModelIndex @ 38 NONAME
+	_ZNK25NotesSortFilterProxyModel8lessThanERK11QModelIndexS2_ @ 39 NONAME
+	_ZTI10NotesModel @ 40 NONAME
+	_ZTI25NotesSortFilterProxyModel @ 41 NONAME
+	_ZTV10NotesModel @ 42 NONAME
+	_ZTV25NotesSortFilterProxyModel @ 43 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/notesui/notesmodelhandler/bwins/notesmodelhandleru.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,7 @@
+EXPORTS
+	?agendaInterface@NotesModelHandler@@QAEPAVAgendaUtil@@XZ @ 1 NONAME ; class AgendaUtil * NotesModelHandler::agendaInterface(void)
+	??_ENotesModelHandler@@UAE@I@Z @ 2 NONAME ; NotesModelHandler::~NotesModelHandler(unsigned int)
+	??1NotesModelHandler@@UAE@XZ @ 3 NONAME ; NotesModelHandler::~NotesModelHandler(void)
+	??0NotesModelHandler@@QAE@PAVQObject@@@Z @ 4 NONAME ; NotesModelHandler::NotesModelHandler(class QObject *)
+	?notesModel@NotesModelHandler@@QAEPAVNotesModel@@XZ @ 5 NONAME ; class NotesModel * NotesModelHandler::notesModel(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/notesui/notesmodelhandler/eabi/notesmodelhandleru.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,11 @@
+EXPORTS
+	_ZN17NotesModelHandler10notesModelEv @ 1 NONAME
+	_ZN17NotesModelHandler15agendaInterfaceEv @ 2 NONAME
+	_ZN17NotesModelHandlerC1EP7QObject @ 3 NONAME
+	_ZN17NotesModelHandlerC2EP7QObject @ 4 NONAME
+	_ZN17NotesModelHandlerD0Ev @ 5 NONAME
+	_ZN17NotesModelHandlerD1Ev @ 6 NONAME
+	_ZN17NotesModelHandlerD2Ev @ 7 NONAME
+	_ZTI17NotesModelHandler @ 8 NONAME
+	_ZTV17NotesModelHandler @ 9 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/notesui/notesplugins/noteseditorplugin/inc/noteseditorplugin.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,64 @@
+/*
+* 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 header file for NotesEditorPlugin class.
+*
+*/
+
+#ifndef NOTESEDITORPLUGIN_H
+#define NOTESEDITORPLUGIN_H
+
+// System includes
+#include <QObject>
+#include <QPointer>
+#include <noteseditorinterface.h>
+
+#include "noteseditor.h"
+
+// Forward declarations
+class QFile;
+class QString;
+class AgendaUtil;
+class AgendaEntry;
+
+class NotesEditorPlugin: public NotesEditorInterface
+{
+	Q_OBJECT
+	Q_INTERFACES(NotesEditorInterface)
+
+public:
+	NotesEditorPlugin(QObject *parent = 0);
+	~NotesEditorPlugin();
+
+public:
+	void edit(const QString &string, AgendaUtil *agendaUtil=0);
+	void edit(const QFile &handle, AgendaUtil *agendaUtil=0);
+	void edit(AgendaEntry entry, AgendaUtil *agendaUtil=0);
+	void edit(ulong id, AgendaUtil *agendaUtil=0);
+	void create(CreateType type, AgendaUtil *agendaUtil=0);
+	ulong close(CloseType type, AgendaUtil *agendaUtil=0);
+
+private:
+	void createNotesEditor(AgendaUtil *agendaUtil);
+
+private slots:
+	void handleEditingCompleted(bool status);
+
+private:
+	QPointer<NotesEditor> mNotesEditor;
+};
+
+#endif //NOTESEDITORPLUGIN_H
+
+// End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/notesui/notesplugins/noteseditorplugin/noteseditorplugin.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,60 @@
+#
+# 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: 
+# This is the project specification file for the notes editor plugin.
+#
+
+TEMPLATE = lib
+CONFIG += hb plugin
+TARGET = noteseditorplugin
+
+INCLUDEPATH += \
+		. \
+		./src \
+		./inc \
+		../../../inc
+		
+DEPENDPATH += \
+		. \
+		./src \
+		./inc
+
+symbian: {
+	TARGET.CAPABILITY = ALL -TCB
+	TARGET.EPOCALLOWDLLDATA = 1
+	TARGET.UID3 = 0x2002FF88
+
+	INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE	
+
+	LIBS += \
+		-lagendainterface \
+		-lnoteseditor
+
+load(data_caging_paths)
+
+plugin.sources = $${TARGET}.dll
+plugin.path = $$QT_PLUGINS_BASE_DIR/notes
+DEPLOYMENT += plugin
+
+BLD_INF_RULES.prj_exports += \
+"./qmakepluginstubs/noteseditorplugin.qtplugin  /$$HW_ZDIR$$RESOURCE_FILES_DIR/qt/plugins/notes/noteseditorplugin.qtplugin" 
+}
+
+HEADERS += \
+		../../../../organizer_plat/notes_editor_api/inc/noteseditorinterface.h \
+		noteseditorplugin.h
+
+SOURCES += noteseditorplugin.cpp
+
+# End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/notesui/notesplugins/noteseditorplugin/src/noteseditorplugin.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,188 @@
+/*
+* 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 NotesEditorPlugin class.
+*
+*/
+
+// System includes.
+#include <noteseditorinterface.h>
+#include <AgendaUtil>
+#include <AgendaEntry>
+
+// User includes.
+#include "noteseditorplugin.h"
+#include "noteseditor.h"
+
+/*!
+	\class NotesEditorPlugin
+
+	NotesEditorPlugin provides QT plugin implementation of NotesEditorInterface.
+ */
+
+/*!
+	\fn void NotesEditorPlugin::editingCompleted(bool status = true)
+
+	This signal is emitted when editing/creation of a note/to-do is completed.
+
+	\param status This indicates whether the note/to-do was saved or not.
+					This will be `true' if the note was saved by the user.
+					false' otherwise.
+ */
+
+
+/*!
+	Constructor.
+
+	\param parent QObject pointer.
+ */
+NotesEditorPlugin::NotesEditorPlugin(QObject *parent)
+{
+	Q_UNUSED(parent)
+}
+
+/*!
+	Destructor.
+ */
+NotesEditorPlugin::~NotesEditorPlugin()
+{
+}
+
+
+/*!
+	Shows the noteseditor. The argument acts as the description for the note.
+
+	\param string reference to file string/buffer.
+ */
+void NotesEditorPlugin::edit(const QString &string, AgendaUtil *agendaUtil)
+{
+	if (!mNotesEditor) {
+		createNotesEditor(agendaUtil);
+	}
+
+	mNotesEditor->edit(string);
+}
+
+/*!
+	Shows the noteseditor by parsing a .vcs which could be of a To-do or a plain
+	.txt file which will be edited as a note.
+
+	\param handle reference to QFile handle.
+ */
+void NotesEditorPlugin::edit(const QFile &handle, AgendaUtil *agendaUtil)
+{
+	if (!mNotesEditor) {
+		createNotesEditor(agendaUtil);
+	}
+
+	mNotesEditor->edit(handle);
+}
+
+/*!
+	Shows the noteseditor, by parsing an AgendaEntry.
+
+	\param entry An object of AgendaEntry.
+ */
+void NotesEditorPlugin::edit(AgendaEntry entry, AgendaUtil *agendaUtil)
+{
+	if (!mNotesEditor) {
+		createNotesEditor(agendaUtil);
+	}
+
+	mNotesEditor->edit(entry);
+}
+
+/*!
+	Shows the noteseditor, by fetching the note using the entry id provided.
+
+	\param id entry id of the note.
+ */
+void NotesEditorPlugin::edit(ulong id, AgendaUtil *agendaUtil)
+{
+	if (!mNotesEditor) {
+		createNotesEditor(agendaUtil);
+	}
+
+	mNotesEditor->edit(id);
+}
+
+/*!
+	Creates a new note or to-do based on the create type.It lanuches the
+	respective editors for editing
+
+	\type type of the editor to be shown for creating new note and new to-do
+ */
+void NotesEditorPlugin::create( NotesEditorInterface::CreateType type,
+							AgendaUtil *agendaUtil)
+{
+	if (!mNotesEditor) {
+		createNotesEditor(agendaUtil);
+	}
+
+	mNotesEditor->create(static_cast<NotesEditor::CreateType>(type));
+}
+
+/*!
+	Closes the notes editor
+
+	\param type Type of the close required.
+ */
+ulong NotesEditorPlugin::close( NotesEditorInterface::CloseType type,
+							AgendaUtil *agendaUtil)
+{
+	if (!mNotesEditor) {
+		createNotesEditor(agendaUtil);
+	}
+
+	return mNotesEditor->close(static_cast<NotesEditor::CloseType>(type));
+}
+
+/*!
+	Creates notes Editor.
+ */
+void NotesEditorPlugin::createNotesEditor(AgendaUtil *agendaUtil)
+{
+	if (agendaUtil) {
+		mNotesEditor = new NotesEditor(agendaUtil, this);
+	} else {
+		mNotesEditor = new NotesEditor(this);
+	}
+
+	if (mNotesEditor) {
+		connect(
+				mNotesEditor, SIGNAL(editingCompleted(bool)),
+				this, SLOT(handleEditingCompleted(bool)));
+	}
+}
+
+/*!
+	Slot to handle editing completed
+ */
+void NotesEditorPlugin::handleEditingCompleted(bool status)
+{
+	// Emits the signal.
+	emit editingCompleted(status);
+
+	// Cleanup.
+	if (mNotesEditor) {
+		mNotesEditor->deleteLater();
+	}
+}
+
+// Exports plugin class NotesEditorPlugin for the target
+// plugin noteseditorplugin.
+Q_EXPORT_PLUGIN2(noteseditorplugin, NotesEditorPlugin)
+
+// End of file	--Don't remove this.
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/notesui/notesplugins/notesplugins.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,23 @@
+#
+# 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: pro file for notes plugins.
+#
+
+
+TEMPLATE = subdirs
+
+SUBDIRS += noteseditorplugin
+CONFIG += ordered
+
+# End of file	--Don't remove this.
--- a/notes/notesui/notesui.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/notesui/notesui.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -18,6 +18,8 @@
 
 SUBDIRS += \
 		notesmodel \
+		noteseditor \
+		notesplugins \
 		notesviews \
 		notesviewmanager \
 		notesmodelhandler \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/notesui/notesviewmanager/bwins/notesviewmanageru.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,5 @@
+EXPORTS
+	??1NotesViewManager@@UAE@XZ @ 1 NONAME ; NotesViewManager::~NotesViewManager(void)
+	?switchToView@NotesViewManager@@QAEXW4NotesViewIds@NotesNamespace@@@Z @ 2 NONAME ; void NotesViewManager::switchToView(enum NotesNamespace::NotesViewIds)
+	??0NotesViewManager@@QAE@AAVNotesAppControllerIf@@PAVQObject@@@Z @ 3 NONAME ; NotesViewManager::NotesViewManager(class NotesAppControllerIf &, class QObject *)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/notesui/notesviewmanager/eabi/notesviewmanageru.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,8 @@
+EXPORTS
+	_ZN16NotesViewManager12switchToViewEN14NotesNamespace12NotesViewIdsE @ 1 NONAME
+	_ZN16NotesViewManagerC1ER20NotesAppControllerIfP7QObject @ 2 NONAME
+	_ZN16NotesViewManagerC2ER20NotesAppControllerIfP7QObject @ 3 NONAME
+	_ZN16NotesViewManagerD0Ev @ 4 NONAME
+	_ZN16NotesViewManagerD1Ev @ 5 NONAME
+	_ZN16NotesViewManagerD2Ev @ 6 NONAME
+
--- a/notes/notesui/notesviewmanager/src/notesviewmanager.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/notesui/notesviewmanager/src/notesviewmanager.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -24,6 +24,8 @@
 #include <HbListView>
 #include <HbMessageBox>
 #include <HbAction>
+#include <hbapplication> // hbapplication
+#include <hbactivitymanager> // hbactivitymanager
 
 // User includes
 #include "notesviewmanager.h"
@@ -59,13 +61,41 @@
 
 	mAgendaUtil = mAppControllerIf.agendaUtil();
 
+	// Check the Application Startup reason from Activity Manager
+	int activityReason = qobject_cast<HbApplication*>(qApp)->activateReason();
+
+	if (Hb::ActivationReasonActivity == activityReason) // Check if application is started 
+	    // from an application
+	    {
+        // Application is started from an activity
+		// extract activity data
+        QVariant data = qobject_cast<HbApplication*>(qApp)->activateData();
+        // Restore state from activity data
+        QByteArray serializedModel = data.toByteArray();
+        QDataStream stream(&serializedModel, QIODevice::ReadOnly);
+        int viewId;
+        stream >> viewId; // read stream into an int
+
+        if (NotesNamespace::NotesMainViewId == viewId) // Check if viewId is main view
+            {
+            // Load MainView
+            loadNotesMainView();
+            }
+        else if (NotesNamespace::NotesCollectionViewId == viewId) // Check if the viewId is collective view
+            {
+            //no implementation yet, UI Specs not available
+            }
+	    }
+	else // application started by either service framework or normally
+	    {
+        // Load the main view at the start up.
+        loadNotesMainView();
+	    }
+
 	connect(
 			mAgendaUtil, SIGNAL(instanceViewCreationCompleted(int)),
 			this,SLOT(handleInstanceViewCreationCompleted(int)));
 
-	// Load the main view at the start up.
-	loadNotesMainView();
-
 	// Delay loading of other views till main view is loaded.
 	connect(
 			window, SIGNAL(viewReady()),
@@ -94,27 +124,59 @@
 			window->removeView(window->currentView());
 			window->addView(mMainView);
 			window->setCurrentView(mMainView);
+			mMainView->captureScreenShot(false);
 			break;
 
 		case NotesNamespace::NotesCollectionViewId:
+		    if (mMainView)
+		        {
+                if (mMainView == window->currentView())
+                    {
+                    mMainView->captureScreenShot(true);
+                    }
+		        }
 			window->removeView(window->currentView());
 			window->addView(mCollectionView);
 			window->setCurrentView(mCollectionView);
 			break;
 
 		case NotesNamespace::NotesTodoViewId:
+		    if (mMainView)
+		        {
+                if (mMainView == window->currentView())
+                    {
+                    mMainView->captureScreenShot(true);
+                    }
+		        }
+
 			window->removeView(window->currentView());
 			window->addView(mTodoView);
 			window->setCurrentView(mTodoView);
 			break;
 
 		case NotesNamespace::NotesFavoritesViewId:
+	         if (mMainView)
+	             {
+                 if (mMainView == window->currentView())
+                     {
+	                 mMainView->captureScreenShot(true);
+	                 }
+	             }
+
 			window->removeView(window->currentView());
 			window->addView(mFavoriteView);
 			window->setCurrentView(mFavoriteView);
 			break;
 
 		case NotesNamespace::NotesNoteViewId:
+	         if (mMainView)
+	             {
+	             if (mMainView == window->currentView())
+	                 {
+	                 mMainView->captureScreenShot(true);
+	                 }
+	             }
+
 			window->removeView(window->currentView());
 			window->addView(mNoteView);
 			window->setCurrentView(mNoteView);
@@ -341,5 +403,11 @@
 
 	// Update the title for to-do view.
 	mTodoView->updateTitle();
+	
+	// Update the plain notes view.
+	mNoteView->updateNoteView();
+	
+	// Update the favorites view.
+	mFavoriteView->updateFavoriteView();
 }
 // End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/notesui/notesviews/bwins/notesviewsu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,24 @@
+EXPORTS
+	??1NotesFavoriteView@@UAE@XZ @ 1 NONAME ; NotesFavoriteView::~NotesFavoriteView(void)
+	??0NotesNoteView@@QAE@PAVQGraphicsWidget@@@Z @ 2 NONAME ; NotesNoteView::NotesNoteView(class QGraphicsWidget *)
+	??0NotesTodoView@@QAE@PAVQGraphicsWidget@@@Z @ 3 NONAME ; NotesTodoView::NotesTodoView(class QGraphicsWidget *)
+	?updateTitle@NotesMainView@@QAEXXZ @ 4 NONAME ; void NotesMainView::updateTitle(void)
+	??0NotesMainView@@QAE@PAVQGraphicsWidget@@@Z @ 5 NONAME ; NotesMainView::NotesMainView(class QGraphicsWidget *)
+	?setupAfterViewReady@NotesMainView@@QAEXXZ @ 6 NONAME ; void NotesMainView::setupAfterViewReady(void)
+	?setupView@NotesNoteView@@QAEXAAVNotesAppControllerIf@@PAVNotesDocLoader@@@Z @ 7 NONAME ; void NotesNoteView::setupView(class NotesAppControllerIf &, class NotesDocLoader *)
+	?setupView@NotesTodoView@@QAEXAAVNotesAppControllerIf@@PAVNotesDocLoader@@@Z @ 8 NONAME ; void NotesTodoView::setupView(class NotesAppControllerIf &, class NotesDocLoader *)
+	??0NotesCollectionView@@QAE@PAVQGraphicsWidget@@@Z @ 9 NONAME ; NotesCollectionView::NotesCollectionView(class QGraphicsWidget *)
+	?populateListView@NotesCollectionView@@QAEXXZ @ 10 NONAME ; void NotesCollectionView::populateListView(void)
+	??1NotesCollectionView@@UAE@XZ @ 11 NONAME ; NotesCollectionView::~NotesCollectionView(void)
+	?updateTitle@NotesTodoView@@QAEXXZ @ 12 NONAME ; void NotesTodoView::updateTitle(void)
+	?setupView@NotesCollectionView@@QAEXAAVNotesAppControllerIf@@PAVNotesDocLoader@@@Z @ 13 NONAME ; void NotesCollectionView::setupView(class NotesAppControllerIf &, class NotesDocLoader *)
+	??0NotesFavoriteView@@QAE@PAVQGraphicsWidget@@@Z @ 14 NONAME ; NotesFavoriteView::NotesFavoriteView(class QGraphicsWidget *)
+	??1NotesMainView@@UAE@XZ @ 15 NONAME ; NotesMainView::~NotesMainView(void)
+	?setupView@NotesMainView@@QAEXAAVNotesAppControllerIf@@PAVNotesDocLoader@@@Z @ 16 NONAME ; void NotesMainView::setupView(class NotesAppControllerIf &, class NotesDocLoader *)
+	??1NotesNoteView@@UAE@XZ @ 17 NONAME ; NotesNoteView::~NotesNoteView(void)
+	??1NotesTodoView@@UAE@XZ @ 18 NONAME ; NotesTodoView::~NotesTodoView(void)
+	?setupView@NotesFavoriteView@@QAEXAAVNotesAppControllerIf@@PAVNotesDocLoader@@@Z @ 19 NONAME ; void NotesFavoriteView::setupView(class NotesAppControllerIf &, class NotesDocLoader *)
+	?captureScreenShot@NotesMainView@@QAEX_N@Z @ 20 NONAME ; void NotesMainView::captureScreenShot(bool)
+	?updateFavoriteView@NotesFavoriteView@@QAEXXZ @ 21 NONAME ; void NotesFavoriteView::updateFavoriteView(void)
+	?updateNoteView@NotesNoteView@@QAEXXZ @ 22 NONAME ; void NotesNoteView::updateNoteView(void)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/notesui/notesviews/eabi/notesviewsu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,59 @@
+EXPORTS
+	_ZN13NotesMainView11updateTitleEv @ 1 NONAME
+	_ZN13NotesMainView19setupAfterViewReadyEv @ 2 NONAME
+	_ZN13NotesMainView9setupViewER20NotesAppControllerIfP14NotesDocLoader @ 3 NONAME
+	_ZN13NotesMainViewC1EP15QGraphicsWidget @ 4 NONAME
+	_ZN13NotesMainViewC2EP15QGraphicsWidget @ 5 NONAME
+	_ZN13NotesMainViewD0Ev @ 6 NONAME
+	_ZN13NotesMainViewD1Ev @ 7 NONAME
+	_ZN13NotesMainViewD2Ev @ 8 NONAME
+	_ZN13NotesNoteView9setupViewER20NotesAppControllerIfP14NotesDocLoader @ 9 NONAME
+	_ZN13NotesNoteViewC1EP15QGraphicsWidget @ 10 NONAME
+	_ZN13NotesNoteViewC2EP15QGraphicsWidget @ 11 NONAME
+	_ZN13NotesNoteViewD0Ev @ 12 NONAME
+	_ZN13NotesNoteViewD1Ev @ 13 NONAME
+	_ZN13NotesNoteViewD2Ev @ 14 NONAME
+	_ZN13NotesTodoView11updateTitleEv @ 15 NONAME
+	_ZN13NotesTodoView9setupViewER20NotesAppControllerIfP14NotesDocLoader @ 16 NONAME
+	_ZN13NotesTodoViewC1EP15QGraphicsWidget @ 17 NONAME
+	_ZN13NotesTodoViewC2EP15QGraphicsWidget @ 18 NONAME
+	_ZN13NotesTodoViewD0Ev @ 19 NONAME
+	_ZN13NotesTodoViewD1Ev @ 20 NONAME
+	_ZN13NotesTodoViewD2Ev @ 21 NONAME
+	_ZN17NotesFavoriteView9setupViewER20NotesAppControllerIfP14NotesDocLoader @ 22 NONAME
+	_ZN17NotesFavoriteViewC1EP15QGraphicsWidget @ 23 NONAME
+	_ZN17NotesFavoriteViewC2EP15QGraphicsWidget @ 24 NONAME
+	_ZN17NotesFavoriteViewD0Ev @ 25 NONAME
+	_ZN17NotesFavoriteViewD1Ev @ 26 NONAME
+	_ZN17NotesFavoriteViewD2Ev @ 27 NONAME
+	_ZN19NotesCollectionView16populateListViewEv @ 28 NONAME
+	_ZN19NotesCollectionView9setupViewER20NotesAppControllerIfP14NotesDocLoader @ 29 NONAME
+	_ZN19NotesCollectionViewC1EP15QGraphicsWidget @ 30 NONAME
+	_ZN19NotesCollectionViewC2EP15QGraphicsWidget @ 31 NONAME
+	_ZN19NotesCollectionViewD0Ev @ 32 NONAME
+	_ZN19NotesCollectionViewD1Ev @ 33 NONAME
+	_ZN19NotesCollectionViewD2Ev @ 34 NONAME
+	_ZThn16_N13NotesMainViewD0Ev @ 35 NONAME
+	_ZThn16_N13NotesMainViewD1Ev @ 36 NONAME
+	_ZThn16_N13NotesNoteViewD0Ev @ 37 NONAME
+	_ZThn16_N13NotesNoteViewD1Ev @ 38 NONAME
+	_ZThn16_N13NotesTodoViewD0Ev @ 39 NONAME
+	_ZThn16_N13NotesTodoViewD1Ev @ 40 NONAME
+	_ZThn16_N17NotesFavoriteViewD0Ev @ 41 NONAME
+	_ZThn16_N17NotesFavoriteViewD1Ev @ 42 NONAME
+	_ZThn16_N19NotesCollectionViewD0Ev @ 43 NONAME
+	_ZThn16_N19NotesCollectionViewD1Ev @ 44 NONAME
+	_ZThn8_N13NotesMainViewD0Ev @ 45 NONAME
+	_ZThn8_N13NotesMainViewD1Ev @ 46 NONAME
+	_ZThn8_N13NotesNoteViewD0Ev @ 47 NONAME
+	_ZThn8_N13NotesNoteViewD1Ev @ 48 NONAME
+	_ZThn8_N13NotesTodoViewD0Ev @ 49 NONAME
+	_ZThn8_N13NotesTodoViewD1Ev @ 50 NONAME
+	_ZThn8_N17NotesFavoriteViewD0Ev @ 51 NONAME
+	_ZThn8_N17NotesFavoriteViewD1Ev @ 52 NONAME
+	_ZThn8_N19NotesCollectionViewD0Ev @ 53 NONAME
+	_ZThn8_N19NotesCollectionViewD1Ev @ 54 NONAME
+	_ZN13NotesMainView17captureScreenShotEb @ 55 NONAME
+	_ZN13NotesNoteView14updateNoteViewEv @ 56 NONAME
+	_ZN17NotesFavoriteView18updateFavoriteViewEv @ 57 NONAME
+
--- a/notes/notesui/notesviews/inc/notesfavoriteview.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/notesui/notesviews/inc/notesfavoriteview.h	Thu Jul 22 16:32:51 2010 +0100
@@ -32,6 +32,7 @@
 class HbListView;
 class HbAction;
 class HbAbstractViewItem;
+class HbLabel;
 class NotesModel;
 class NotesDocLoader;
 class AgendaUtil;
@@ -49,6 +50,7 @@
 public:
 	NOTESVIEWS_EXPORT void setupView(
 			NotesAppControllerIf &controllerIf, NotesDocLoader *docLoader);
+	NOTESVIEWS_EXPORT void updateFavoriteView();
 
 signals:
 	void deleteEntry(ulong entryId);
@@ -69,7 +71,8 @@
 	void openNote();
 	void selectedMenuAction(HbAction *action);
 	void handleMenuClosed();
-
+	void updateView(ulong id=0);
+	
 private:
 	HbListView *mListView;
 	HbAbstractViewItem *mSelectedItem;
@@ -81,7 +84,9 @@
 	HbAction *mRemoveFavoriteAction;
 	HbAction *mMarkTodoAction;
 	HbAction *mOpenAction;
-
+	
+	HbLabel *mEmptyListLabel;
+	
 	AgendaUtil *mAgendaUtil;
 
 	NotesAppControllerIf *mAppControllerIf;
--- a/notes/notesui/notesviews/inc/notesmainview.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/notesui/notesviews/inc/notesmainview.h	Thu Jul 22 16:32:51 2010 +0100
@@ -55,6 +55,7 @@
 			NotesAppControllerIf &controllerIf, NotesDocLoader *docLoader);
 	NOTESVIEWS_EXPORT void setupAfterViewReady();
 	NOTESVIEWS_EXPORT void updateTitle();
+	NOTESVIEWS_EXPORT void captureScreenShot(bool captureScreenShot = false);
 
 signals:
 	void deleteEntry(ulong entryId);
@@ -79,7 +80,8 @@
 	void openNote();
 	void selectedMenuAction(HbAction *action);
 	void handleMenuClosed();
-
+	void saveActivity();
+	
 private:
 	HbListView *mListView;
 	HbAbstractViewItem *mSelectedItem;
@@ -98,6 +100,7 @@
 	HbAction *mOpenAction;
 
 	HbGroupBox *mSubTitle;
+	HbLabel *mEmptyListLabel;
 
 	AgendaUtil *mAgendaUtil;
 
@@ -107,7 +110,9 @@
 	NotesSortFilterProxyModel *mProxyModel;
 	NotesEditor *mNotesEditor;
 	AgendaEventViewer *mAgendaEventViewer;
-	bool mIsLongTop;
+	bool 			mIsLongTop;
+	bool			mIsScreenShotCapruted; // check if the screenshot captured is valid
+	QVariantHash	mScreenShot; // screenshot
 };
 
 #endif // NOTESMAINVIEW_H
--- a/notes/notesui/notesviews/inc/notesnoteview.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/notesui/notesviews/inc/notesnoteview.h	Thu Jul 22 16:32:51 2010 +0100
@@ -32,6 +32,7 @@
 class HbListView;
 class HbAction;
 class HbAbstractViewItem;
+class HbLabel;
 class NotesModel;
 class NotesDocLoader;
 class AgendaUtil;
@@ -49,6 +50,8 @@
 public:
 	NOTESVIEWS_EXPORT void setupView(
 			NotesAppControllerIf &controllerIf, NotesDocLoader *docLoader);
+	NOTESVIEWS_EXPORT void updateNoteView();
+
 
 signals:
 	void deleteEntry(ulong entryId);
@@ -69,6 +72,7 @@
 	void openNote();
 	void selectedMenuAction(HbAction *action);
 	void handleMenuClosed();
+	void updateView(ulong id=0);
 
 private:
 	HbListView *mListView;
@@ -83,6 +87,8 @@
 	HbAction *mMarkTodoAction;
 	HbAction *mOpenAction;
 
+	HbLabel *mEmptyListLabel;
+	
 	AgendaUtil *mAgendaUtil;
 
 	NotesAppControllerIf *mAppControllerIf;
--- a/notes/notesui/notesviews/inc/notestodoview.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/notesui/notesviews/inc/notestodoview.h	Thu Jul 22 16:32:51 2010 +0100
@@ -32,6 +32,7 @@
 class HbAction;
 class HbAbstractViewItem;
 class HbGroupBox;
+class HbLabel;
 class NotesModel;
 class NotesDocLoader;
 class AgendaUtil;
@@ -88,7 +89,8 @@
 	HbAction *mOpenAction;
 
 	HbGroupBox *mSubTitle;
-
+	HbLabel *mEmptyListLabel;
+	
 	AgendaUtil *mAgendaUtil;
 
 	NotesAppControllerIf *mAppControllerIf;
--- a/notes/notesui/notesviews/inc/notesviewsdefines.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/notesui/notesviews/inc/notesviewsdefines.h	Thu Jul 22 16:32:51 2010 +0100
@@ -27,6 +27,7 @@
 #   define NOTESVIEWS_EXPORT Q_DECL_IMPORT
 #endif
 
+const QString notes = "NotesAllList"; // Activity Id to be stored in Activity Manager DB
 #endif // NOTESVIEWSDEFINES_H
 
 // End of file  --Don't remove this.
--- a/notes/notesui/notesviews/src/notescollectionview.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/notesui/notesviews/src/notescollectionview.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -252,6 +252,8 @@
 
 	// Cleanup.
 	mNotesEditor->deleteLater();
+	
+	mAppControllerIf->switchToView(NotesNamespace::NotesMainViewId);
 }
 
 /*!
@@ -334,14 +336,18 @@
 	Q_UNUSED(index)
 	Q_UNUSED(start)
 	Q_UNUSED(end)
-
-	// Update the count of notes in the view.
-	QString countString(hbTrId("txt_notes_list_note_count"));
-	QModelIndex mdlIndex = mListView->model()->index(1, 0);
-	QStringList favStringList;
-	favStringList.append(hbTrId("txt_notes_list_favorites"));
-	favStringList.append(countString.arg(mFavouriteModel->rowCount()));
-	mListView->model()->setData(mdlIndex, favStringList, Qt::DisplayRole);
+	
+	// Check model is set for mListView  before update 	
+	if( mListView->model())
+	{
+		// Update the count of notes in the view.
+		QString countString(hbTrId("txt_notes_list_note_count"));
+		QModelIndex mdlIndex = mListView->model()->index(1, 0);
+		QStringList favStringList;
+		favStringList.append(hbTrId("txt_notes_list_favorites"));
+		favStringList.append(countString.arg(mFavouriteModel->rowCount()));
+		mListView->model()->setData(mdlIndex, favStringList, Qt::DisplayRole);
+	}
 }
 
 /*!
--- a/notes/notesui/notesviews/src/notesfavoriteview.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/notesui/notesviews/src/notesfavoriteview.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -118,6 +118,10 @@
 			this,
 			SLOT(handleItemLongPressed(HbAbstractViewItem *, const QPointF &)));
 
+	// Get the empty list label.
+	mEmptyListLabel = static_cast<HbLabel *> (
+			mDocLoader->findWidget("emptyListLabel"));
+	
 	// Get the toolbar/menu actions.
 	mAddNoteAction = static_cast<HbAction *> (
 			mDocLoader->findObject("newNoteAction"));
@@ -133,8 +137,7 @@
 
 	mViewCollectionAction = static_cast<HbAction *> (
 			mDocLoader->findObject("displayCollectionsAction"));
-	mViewCollectionAction->setCheckable(true);
-	mViewCollectionAction->setChecked(true);
+
 	connect(
 			mViewCollectionAction, SIGNAL(changed()),
 			this, SLOT(handleActionStateChanged()));
@@ -149,11 +152,29 @@
 			window, SIGNAL(orientationChanged(Qt::Orientation)),
 			this, SLOT(handleOrientationChanged(Qt::Orientation)));
 
+	connect(
+			mAgendaUtil, SIGNAL(entryAdded(ulong)),
+			this,SLOT(updateView(ulong)));
+	connect(
+			mAgendaUtil, SIGNAL(entryDeleted(ulong)),
+			this,SLOT(updateView(ulong)));
+	connect(
+			mAgendaUtil, SIGNAL(entryUpdated(ulong)),
+			this, SLOT(updateView(ulong)));
+	
 	// Set the graphics size for the icons.
 	HbListViewItem *prototype = mListView->listItemPrototype();
 	prototype->setGraphicsSize(HbListViewItem::SmallIcon);
 }
 
+/*
+	Updates the favorite view either to show notes or emptyListLabel.
+ */
+void NotesFavoriteView::updateFavoriteView()
+{
+	updateView();
+}
+
 /*!
 	Slot which gets called when `+ New note' action is triggered from the view
 	toolbar. This is responsible for launching the editor to create a new note.
@@ -458,5 +479,23 @@
 {
 	mIsLongTop = false;
 }
+
+/*!
+	Handles the visibility of empty list label.
+ */
+void NotesFavoriteView::updateView(ulong id)
+{
+	Q_UNUSED(id)
+
+	// Get the numbers of favorite notes.
+	if (0 >= mListView->model()->rowCount()) {
+		mEmptyListLabel->show();
+		mListView->hide();
+	} else {
+		mEmptyListLabel->hide();
+		mListView->show();
+	}
+}
+
 // End of file	--Don't remove this.
 
--- a/notes/notesui/notesviews/src/notesmainview.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/notesui/notesviews/src/notesmainview.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -30,6 +30,8 @@
 #include <HbAbstractItemView>
 #include <HbGroupBox>
 #include <HbListViewItem>
+#include <hbapplication> // hbapplication
+#include <hbactivitymanager> // hbactivitymanager
 
 // User includes
 #include "agendaeventviewer.h"
@@ -40,6 +42,7 @@
 #include "notesmodel.h"
 #include "notessortfilterproxymodel.h"
 #include "noteseditor.h"
+#include "notescommon.h" // NotesNamespace
 
 /*!
 	\class NotesMainView
@@ -58,7 +61,8 @@
 :HbView(parent),
  mSelectedItem(0),
  mDeleteAction(0),
- mIsLongTop(false)
+ mIsLongTop(false),
+ mIsScreenShotCapruted(false)
 {
 	// Nothing yet.
 }
@@ -122,10 +126,12 @@
 			mNotesModel, SIGNAL(rowAdded(QModelIndex)),
 			this, SLOT(scrollTo(QModelIndex)));
 
+	// Get the empty list label.
+	mEmptyListLabel = static_cast<HbLabel *> (
+			mDocLoader->findWidget("emptyListLabel"));
+	mEmptyListLabel->hide();
+
 	// Get the view heading label
-/*	mViewHeading = static_cast<HbLabel *> (
-			mDocLoader->findWidget("viewHeading"));*/
-
 	mSubTitle = static_cast<HbGroupBox *>(
 			mDocLoader->findWidget("viewHeading"));
 
@@ -139,7 +145,19 @@
 	// Set the graphics size for the icons.
 	HbListViewItem *prototype = mListView->listItemPrototype();
 	prototype->setGraphicsSize(HbListViewItem::SmallIcon);
-}
+	
+    // Get a pointer to activity Manager
+    HbActivityManager* activityManager = qobject_cast<HbApplication*>(qApp)->activityManager();
+  
+    // clean up any previous versions of this activity from the activity manager.
+    // ignore return value as the first boot would always return a false
+    // bool declared on for debugging purpose
+    bool ok = activityManager->removeActivity(notes);
+	
+	// connect main view for the first time to recieve aboutToQuit signal
+    connect(qobject_cast<HbApplication*>(qApp), SIGNAL(aboutToQuit()), this, SLOT(saveActivity()));
+    
+ }
 
 void NotesMainView::setupAfterViewReady()
 {
@@ -209,6 +227,9 @@
 			mNotesEditor, SIGNAL(editingCompleted(bool)),
 			this, SLOT(handleEditingCompleted(bool)));
 	mNotesEditor->create(NotesEditor::CreateNote);
+	// capture screenshot for future use, if application
+	// is exited/Quit from notesEditor
+	captureScreenShot(true);
 }
 
 /*!
@@ -263,6 +284,9 @@
 			// Launch the notes editor with the obtained info.
 			mNotesEditor->edit(entry);
 		}
+		// capture screenshot for future use, if application
+		// is exited/Quit from eventViewer/notesEditor
+		captureScreenShot(true);
 	}
 }
 
@@ -408,7 +432,9 @@
 
 	// Cleanup.
 	mNotesEditor->deleteLater();
-
+	// set captured screenshot as invalid as the control is returned back 
+	// to the main view
+	captureScreenShot(false);
 }
 
 /*!
@@ -416,7 +442,8 @@
  */
 void NotesMainView::displayCollectionView()
 {
-
+    // no need to capture the screen shot for future use as 
+    // NotesViewManager::switchToView takes care of it
 	// Switch to collections view.
 	mAppControllerIf->switchToView(NotesNamespace::NotesCollectionViewId);
 
@@ -440,6 +467,9 @@
 void NotesMainView::handleViewingCompleted()
 {
 	mAgendaEventViewer->deleteLater();
+	// set captured screenshot as invalid as the control is returned back 
+	// to the main view
+	captureScreenShot(false);
 }
 
 /*!
@@ -476,6 +506,9 @@
 
 	// Launch the to-do editor with the obtained info.
 	mNotesEditor->edit(todoId);
+	// capture screenshot for future use, if application
+	// is exited/Quit from notesEditor
+	captureScreenShot(true);
 
 }
 
@@ -509,7 +542,15 @@
 			(AgendaUtil::IncludeNotes
 			| AgendaUtil::IncludeCompletedTodos
 			| AgendaUtil::IncludeIncompletedTodos));
-	int c= entries.count();
+	
+	if (0 >= entries.count()) {
+		mEmptyListLabel->show();
+		mListView->hide();
+	} else {
+		mEmptyListLabel->hide();
+		mListView->show();
+	}
+	
 	mSubTitle->setHeading(
 			hbTrId("txt_notes_subhead_ln_notes",entries.count()));
 }
@@ -600,6 +641,9 @@
 		mAgendaEventViewer->view(
 				entry, AgendaEventViewer::ActionEditDelete);
 	}
+	// capture screenshot for future use, if application
+	// is exited/Quit from notesEditor/eventViewer
+	captureScreenShot(true);
 }
 
 /*!
@@ -630,4 +674,44 @@
 	mIsLongTop = false;
 }
 
+/*!
+	CaptureScreenShot captures screen shot 
+	\param captureScreenShot bool to indicate if screenshot needs to be captured
+*/ 
+void NotesMainView::captureScreenShot(bool captureScreenShot)
+    {
+    if (captureScreenShot) // check if screen shot needs to be captured
+        {
+        mScreenShot.clear();
+        mScreenShot.insert("screenshot", QPixmap::grabWidget(mainWindow(), mainWindow()->rect()));
+        }
+    mIsScreenShotCapruted = captureScreenShot; // set mIsScreenShotCapruted set validity of screenshot
+    }
+
+/*!    
+	saveActivity saves main view as an activity 
+*/ 
+void NotesMainView::saveActivity()
+ {
+   // Get a pointer to activity Manager
+   HbActivityManager* activityManager = qobject_cast<HbApplication*>(qApp)->activityManager();
+ 
+   if (!mIsScreenShotCapruted) // check if a valid screenshot is already captured
+       {
+       mScreenShot.clear();
+       mScreenShot.insert("screenshot", QPixmap::grabWidget(mainWindow(), mainWindow()->rect()));
+       }
+ 
+   // save any data necessary to save the state
+   QByteArray serializedActivity;
+   QDataStream stream(&serializedActivity, QIODevice::WriteOnly | QIODevice::Append);
+   stream << NotesNamespace::NotesMainViewId;
+ 
+   // add the activity to the activity manager
+   bool ok = activityManager->addActivity(notes, serializedActivity, mScreenShot);
+   if ( !ok )
+       {
+       qFatal("Add failed" );
+       }
+ }
 // End of file	--Don't remove this.
--- a/notes/notesui/notesviews/src/notesnoteview.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/notesui/notesviews/src/notesnoteview.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -27,6 +27,7 @@
 #include <HbListViewItem>
 #include <HbInstance>
 #include <HbNotificationDialog>
+#include <HbLabel>
 
 // User includes
 #include "notesnoteview.h"
@@ -99,8 +100,9 @@
 	subModel->setSourceModel(mProxyModel);
 
 	// Get the list object from the document and update the model.
-	mListView = static_cast<HbListView *>
-	(mDocLoader->findWidget("noteListView"));
+	mListView = static_cast<HbListView *> (
+			mDocLoader->findWidget("noteListView"));
+	
 	// Update the list view model.
 	mListView->setModel(subModel);
 	// Setup the operations that can be done with a list view.
@@ -113,6 +115,10 @@
 			this,
 			SLOT(handleItemLongPressed(HbAbstractViewItem *, const QPointF &)));
 
+	// Get the empty list label.
+	mEmptyListLabel = static_cast<HbLabel *> (
+			mDocLoader->findWidget("emptyListLabel"));
+
 	// Get the toolbar/menu actions.
 	mAddNoteAction = static_cast<HbAction *> (
 			mDocLoader->findObject("newNoteAction"));
@@ -128,8 +134,7 @@
 
 	mViewCollectionAction = static_cast<HbAction *> (
 			mDocLoader->findObject("displayCollectionsAction"));
-	mViewCollectionAction->setCheckable(true);
-	mViewCollectionAction->setChecked(true);
+	
 	connect(
 			mViewCollectionAction, SIGNAL(changed()),
 			this, SLOT(handleActionStateChanged()));
@@ -144,11 +149,31 @@
 			window, SIGNAL(orientationChanged(Qt::Orientation)),
 			this, SLOT(handleOrientationChanged(Qt::Orientation)));
 
+
+	connect(
+			mAgendaUtil, SIGNAL(entryAdded(ulong)),
+			this,SLOT(updateView(ulong)));
+	connect(
+			mAgendaUtil, SIGNAL(entryDeleted(ulong)),
+			this,SLOT(updateView(ulong)));
+	connect(
+			mAgendaUtil, SIGNAL(entryUpdated(ulong)),
+			this, SLOT(updateView(ulong)));
+	
+
 	// Set the graphics size for the icons.
 	HbListViewItem *prototype = mListView->listItemPrototype();
 	prototype->setGraphicsSize(HbListViewItem::SmallIcon);
 }
 
+/*
+	Updates the note view either to show notes or emptyListLabel.
+ */
+void NotesNoteView::updateNoteView()
+{
+	updateView();
+}
+
 /*!
 	Opens the note editor to create a new note.
  */
@@ -457,5 +482,23 @@
 {
 	mIsLongTop = false;
 }
+
+/*!
+	Handles the visibility of empty list label.
+ */
+void NotesNoteView::updateView(ulong id)
+{
+	Q_UNUSED(id)
+
+	// Get the numbers of notes.
+	if (0 >= mListView->model()->rowCount()) {
+		mEmptyListLabel->show();
+		mListView->hide();
+	} else {
+		mEmptyListLabel->hide();
+		mListView->show();
+	}
+}
+
 // End of file	--Don't remove this.
 
--- a/notes/notesui/notesviews/src/notestodoview.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/notesui/notesviews/src/notestodoview.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -115,7 +115,11 @@
 			SIGNAL(longPressed(HbAbstractViewItem *, const QPointF &)),
 			this,
 			SLOT(handleItemLongPressed(HbAbstractViewItem *, const QPointF &)));
-
+	
+	// Get the empty list string.
+	mEmptyListLabel = static_cast<HbLabel *> (
+			mDocLoader->findWidget("emptyListLabel"));
+	
 	// Get the toolbar/menu actions.
 	mAddTodoAction = static_cast<HbAction *> (
 			mDocLoader->findObject("newTodoAction"));
@@ -131,8 +135,7 @@
 
 	mViewCollectionAction = static_cast<HbAction *> (
 			mDocLoader->findObject("displayCollectionsAction"));
-	mViewCollectionAction->setCheckable(true);
-	mViewCollectionAction->setChecked(true);
+	
 	connect(
 			mViewCollectionAction, SIGNAL(changed()),
 			this, SLOT(handleActionStateChanged()));
@@ -439,6 +442,14 @@
 		AgendaUtil::IncludeIncompletedTodos);
 	mSubTitle->setHeading(
 			hbTrId("txt_notes_subhead_todos_ln_pending",entries.count()));
+	
+	if (0 >= entries.count()) {
+		mEmptyListLabel->show();
+		mListView->hide();
+	} else {
+		mEmptyListLabel->hide();
+		mListView->show();
+	}
 }
 
 /*
--- a/notes/rom/notes.iby	Tue Jun 15 15:22:54 2010 +0100
+++ b/notes/rom/notes.iby	Thu Jul 22 16:32:51 2010 +0100
@@ -12,7 +12,7 @@
  * Contributors: 
  *
  * Description:
- * The iby file for agendainterface component
+ * The iby file for Notes component
  *
  */
 
@@ -22,6 +22,10 @@
 S60_APP_EXE(notes)
 
 data=DATAZ_\private\10003a3f\import\apps\notes_reg.rsc		\private\10003a3f\import\apps\notes_reg.rsc
+data=\epoc32\data\z\resource\qt\plugins\notes\noteseditorplugin.qtplugin             resource\qt\plugins\notes\noteseditorplugin.qtplugin
+
+// Stub sis
+data=DATAZ_\system\install\notes_stub.sis             \System\Install\notes_stub.sis
 
 file=ABI_DIR\BUILD_DIR\notesmodel.dll						SHARED_LIB_DIR\notesmodel.dll
 file=ABI_DIR\BUILD_DIR\noteseditor.dll						SHARED_LIB_DIR\noteseditor.dll
@@ -29,6 +33,7 @@
 file=ABI_DIR\BUILD_DIR\notesviewmanager.dll					SHARED_LIB_DIR\notesviewmanager.dll
 file=ABI_DIR\BUILD_DIR\notesappcontroller.dll				SHARED_LIB_DIR\notesappcontroller.dll
 file=ABI_DIR\BUILD_DIR\notesmodelhandler.dll				SHARED_LIB_DIR\notesmodelhandler.dll
+file=ABI_DIR\BUILD_DIR\noteseditorplugin.dll				SHARED_LIB_DIR\noteseditorplugin.dll
 
 #endif // NOTES_IBY
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/sis/createandsign.bat	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,22 @@
+rem
+rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+rem All rights reserved.
+rem This component and the accompanying materials are made available
+rem under the terms of "Eclipse Public License v1.0"
+rem which accompanies this distribution, and is available
+rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+rem
+rem Initial Contributors:
+rem Nokia Corporation - initial contribution.
+rem
+rem Contributors:
+rem
+rem Description: Bat file to create Notes Application's sisx.
+rem
+
+@echo -------- Create sis packages ---------
+makesis notes.pkg
+
+@echo -------- Sign and rename sis packages -----------
+signsis notes.sis notes.sisx Nokia_RnDCert_02.der Nokia_RnDCert_02.key
+	
Binary file notes/sis/nokia_rndcert_02.der has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/sis/nokia_rndcert_02.key	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXQIBAAKBgQC/TDP7KKIaf5+uW4OD2iVZuUMC2a+SeQTjf6srlKcOm+CpPNXn
+uLNm/8fdEnyOIuRXPRKmqhs1n0JkxEGHynELWMTuKXbQx9SRAGUXzyneGn+IJNnO
+vOKHWgKCouX2hfI8rtkdqJpqmO460gGsMgw+lsbeyWyW9lnfLxq+ZC7sqQIDAQAB
+AoGBALmUWZE8GBaQ3P4u9WUCSd3DJkkrmXIFSULSZeH/chlwCwDjbbhArHothVzo
+REE3hEFFlERvHbplZ+mNouzy7boduvgUzbksGrbGMLJ2qO1GzWWVwV+GzOWKd3ss
+/98Gwoy5R8pjnkqUE2wP1iJFw0FjvUTKcYv/z6t3LLJ0CsoBAkEA+c7ixvsviQ3J
+s0INytCKU2bf8fqFQJi1VI82ukxNsujGTQ9upVSjuvqPvWyDvvTdrUBHqO+3qPut
+sEh01Q8aiQJBAMQKDJPVRu4ud3mwUfEavzL5EjqwG1k9VCNGYsT4FwtrHcxu1oP/
+pk6M3rIZukqomoEEnHWPMwhrK3fhBqi0OSECQQDr40VXege4FnH5OI2Hj4afHMyp
+VdQQXGMWFyopnzXblFz0lXb43cTCIiorR9XcMqNFHybLypkWE5o+lRzlt55pAkBQ
+P/zeF5Sts//cpL0mgdh7OVKpC6ZmZaCnwAx2rUhhuDu+kDDoYCLoTOps5fNI1LRK
+1GRoC3LMo3Jr5IYhUYWBAkBpCpN6k4JU/mszq98EojHerQNxk8sPqvQKUzTutohT
+1gLX9yepGayB/TtT2EEJDkWOlnTy/dvN6W3vzbJYz97x
+-----END RSA PRIVATE KEY-----
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/sis/notes.pkg	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,49 @@
+;
+; 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: pkg file  of Notes Application for IAD.
+;
+
+; Language
+&EN
+
+; standard SIS file header
+#{"Notes"}, (0x20029F80), 1, 0, 0, TYPE=SA, RU
+
+; Localised vendor name
+%{"Nokia"}
+
+; Unique vendor name
+:"Nokia"
+
+
+; Notes executable and default resource files
+
+"/epoc32/release/armv5/urel/notes.exe"							- "!:/sys/bin/notes.exe"
+"/epoc32/data/Z/private/10003a3f/import/apps/notes_reg.rsc"		- "!:/private/10003a3f/import/apps/notes_reg.rsc"
+"/epoc32/data/z/resource/apps/notes.rsc"                          - "!:/resource/apps/notes.rsc"
+"/epoc32/data/z/resource/qt/translations/notes_en.qm"            - "!:/resource/qt/translations/notes_en.qm"
+
+
+"/epoc32/release/armv5/urel/notesmodel.dll"						- "!:/sys/bin/notesmodel.dll"
+"/epoc32/release/armv5/urel/noteseditor.dll"				    - "!:/sys/bin/noteseditor.dll"
+"/epoc32/release/armv5/urel/notesviews.dll"					    - "!:/sys/bin/notesviews.dll"
+"/epoc32/release/armv5/urel/notesviewmanager.dll"			    - "!:/sys/bin/notesviewmanager.dll"
+"/epoc32/release/armv5/urel/notesappcontroller.dll"             - "!:/sys/bin/notesappcontroller.dll"
+"/epoc32/release/armv5/urel/notesmodelhandler.dll"				- "!:/sys/bin/notesmodelhandler.dll"
+
+;Qt plugin files to be installed
+"/epoc32/release/armv5/urel/noteseditorplugin.dll"			- "!:/sys/bin/noteseditorplugin.dll"
+"/epoc32/data/z/resource/qt/plugins/notes/noteseditorplugin.qtplugin"		- "!:/resource/qt/plugins/notes/noteseditorplugin.qtplugin"
+
+;END OF FILE
--- a/notes/siscreate.bat	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-@rem
-@rem Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-@rem All rights reserved.
-@rem This component and the accompanying materials are made available
-@rem under the terms of "Eclipse Public License v1.0"
-@rem which accompanies this distribution, and is available
-@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-@rem
-@rem Initial Contributors:
-@rem Nokia Corporation - initial contribution.
-@rem
-@rem Contributors:
-@rem
-@rem Description: 
-@rem
-
-cd notesui\notesapplication
-call makesis notesapplication_armv5_urel.pkg
-call signsis notesapplication_armv5_urel.sis notes.sisx rndcert.der rndcert.key
-cd ..\..
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/stubsis/notes_stub.pkg	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,27 @@
+;
+; 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: pkg file  of Notes Application for IAD.
+;
+
+; Language
+&EN
+
+; Header
+#{"Notes"}, (0x20029F80), 1, 0, 0, TYPE=SA
+
+; Localised vendor name
+%{"Nokia"}
+
+; Unique vendor name
+:"Nokia"
\ No newline at end of file
Binary file notes/stubsis/notes_stub.sis has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/tsrc/rom/unit_notes.iby	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,28 @@
+/*
+* 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 the License "Symbian Foundation License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors: 
+*
+* Description:
+* The iby file for notes application unit tests.
+*
+*/
+
+#ifndef UNIT_NOTES_IBY
+#define UNIT_NOTES_IBY
+
+S60_APP_EXE(utnotesmodel)
+S60_APP_RESOURCE(utnotesmodel)
+data=DATAZ_\private\10003a3f\import\apps\utnotesmodel_reg.rsc		\private\10003a3f\import\apps\utnotesmodel_reg.rsc
+
+#endif // UNIT_NOTES_IBY
+
+// End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/tsrc/rom/unit_noteseditor.iby	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,29 @@
+/*
+* 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 iby file for noteseditor unit tests.
+*
+*/
+
+#ifndef UNIT_NOTESEDITOR_IBY
+#define UNIT_NOTESEDITOR_IBY
+
+S60_APP_EXE(utnoteseditor)
+S60_APP_RESOURCE(utnoteseditor)
+
+data=DATAZ_\private\10003a3f\import\apps\utnoteseditor_reg.rsc		\private\10003a3f\import\apps\utnoteseditor_reg.rsc
+
+#endif // UNIT_NOTESEDITOR_IBY
+
+// End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/tsrc/tsrc.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,32 @@
+# 
+# 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 the License "Symbian Foundation License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+#  
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+# 
+# Contributors: 
+# 
+# Description:
+# This is the project specification file notes test code
+#
+
+TEMPLATE = subdirs
+SUBDIRS += \
+		unittest_notesmodel \
+		unittest_noteseditor
+CONFIG += qtestlib
+CONFIG += symbian_test
+CONFIG += ordered
+
+symbian: {
+	BLD_INF_RULES.prj_testexports += \
+	"./rom/unit_notes.iby		CORE_APP_LAYER_IBY_EXPORT_PATH(unit_notes.iby)" \
+	"./rom/unit_noteseditor.iby		CORE_APP_LAYER_IBY_EXPORT_PATH(unit_noteseditor.iby)"
+}
+
+# End of file	--Don't remove this
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/tsrc/unittest_noteseditor/inc/unittest_noteseditor.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,64 @@
+/*
+* 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:
+*
+*/
+
+#ifndef UNITTEST_NOTESEDITOR_H
+#define UNITTEST_NOTESEDITOR_H
+
+// System includes
+#include <QObject>
+
+// Forward declarations.
+class NotesEditor;
+
+class TestNotesEditor : public QObject
+{
+	Q_OBJECT
+
+public:
+	TestNotesEditor();
+	virtual ~TestNotesEditor();
+
+private slots:
+	// Test case setup.
+	void init();
+	void cleanup();
+
+	// Test cases go here.
+	void testConstructionWithoutAgendaUtil();
+	void testConstructionWithAgendaUtil();
+	void testDestruction();
+	void testEditingNoteWithText();
+	void testEditingNoteWithFileHandle();
+	void testEditingNoteWithAgendaEntry();
+	void testEditingNoteWithId();
+	void testEditingTodoWithFileHandle();
+	void testEditingTodoWithAgendaEntry();
+	void testEditingTodoWithId();
+	void testCreationOfNote();
+	void testCreationofTodo();
+	void testClosingOfNotesEditorWithSave();
+	void testClosingOfNotesEditorWithoutSave();
+	void testClosingOfTodoEditorWithSave();
+	void testClosingOfTodoEditorWithoutSave();
+
+private:
+	NotesEditor *mEditor;
+};
+
+#endif // UNITTEST_NOTESEDITOR_H
+
+// End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/tsrc/unittest_noteseditor/src/main.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,38 @@
+/*
+* 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:
+*
+*/
+
+// System includes
+#include <QTest>
+#include <HbApplication>
+
+// User includes
+#include "unittest_noteseditor.h"
+
+int main(int argc, char *argv[])
+{
+	HbApplication app(argc, argv);
+	TestNotesEditor tc;
+	int ret = QTest::qExec(&tc, argc, argv);
+	// Core dump if HbIconLoader instance is not destroyed before the 
+	// application instance. HbIconLoader uses QCoreApplication::aboutToQuit() 
+	// signal to destroy itself. app.exec() where the signal is normally emitted
+	// is not called here. So, invoking the signal explicitly.
+	QMetaObject::invokeMethod(&app, "aboutToQuit", Qt::DirectConnection);
+	return ret;
+}
+
+// End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/tsrc/unittest_noteseditor/src/unittest_noteseditor.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,511 @@
+/*
+* 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:
+*
+*/
+
+// System include
+#include <QtTest/QtTest>
+#include <HbMainWindow>
+#include <NotesEditor>
+#include <AgendaUtil>
+#include <AgendaEntry>
+
+// User includes
+#include "unittest_noteseditor.h"
+
+
+/*!
+	\class TestNotesEditor
+
+	Unit test clas for Notes Editor apis
+ */
+
+
+/*!
+	Constructor
+ */
+
+TestNotesEditor::TestNotesEditor()
+{
+
+}
+
+/*!
+	Destructor
+ */
+TestNotesEditor::~TestNotesEditor()
+{
+}
+
+/*!
+	Initialise before calling the test case
+ */
+void TestNotesEditor::init()
+{
+}
+
+/*!
+	Do cleanup after each test case
+ */
+void TestNotesEditor::cleanup()
+{
+}
+
+/*!
+	Test the api NotesEditor::NotesEditor()
+ */
+
+void TestNotesEditor::testConstructionWithoutAgendaUtil()
+{
+	// Create NotesEditor object
+	NotesEditor *notesEditor = new NotesEditor(this);
+	QVERIFY(notesEditor!=0);
+
+	// Cleanup
+	delete notesEditor;
+}
+
+/*!
+	Test the api NotesEditor::NotesEditor()
+ */
+void TestNotesEditor::testConstructionWithAgendaUtil()
+{
+	// Create AgendaUtil object.
+	AgendaUtil *agendaUtil = new AgendaUtil();
+	QVERIFY(agendaUtil);
+
+	// Create NotesEditor object.
+	NotesEditor *notesEditor = new NotesEditor(agendaUtil);
+
+	QVERIFY(notesEditor!=0);
+
+	// Cleanup.
+	delete notesEditor;
+	delete agendaUtil;
+}
+
+/*!
+	Test the api NotesEditor::~NotesEditor
+ */
+void TestNotesEditor::testDestruction()
+{
+	// Create NotesEditor object.
+	QPointer<NotesEditor> notesEditor = new NotesEditor();
+	delete notesEditor;
+
+	QVERIFY(!notesEditor);
+
+	// Create AgendaUtil object.
+	QPointer<AgendaUtil> agendaUtil = new AgendaUtil();
+	QPointer<NotesEditor> notesEditorWithAgendaUtil =
+			new NotesEditor(agendaUtil);
+
+	delete notesEditorWithAgendaUtil;
+	delete agendaUtil;
+
+	QVERIFY(!notesEditorWithAgendaUtil);
+}
+
+/*!
+	Test the api NotesEditor::edit(const QString &string)
+ */
+void TestNotesEditor::testEditingNoteWithText()
+{
+	HbMainWindow window;
+	window.show();
+	// Create NotesEditor object.
+	NotesEditor *notesEditor = new NotesEditor(this);
+	QVERIFY(notesEditor);
+
+	QString noteText("This is test note");
+	// Call edit using the text.
+	notesEditor->edit(QString("This is test note"));
+
+	QTest::qWait(1000);
+
+	// Call close on editor by saving the note
+	ulong id = notesEditor->close(NotesEditor::CloseWithSave);
+	QVERIFY(id);
+
+	// Create agenda Utility.
+	AgendaUtil *agendaUtil = new AgendaUtil();
+	QVERIFY(agendaUtil);
+
+	// Fetch the entry using the id
+	AgendaEntry entry = agendaUtil->fetchById(id);
+
+	int compareResult = noteText.compare(entry.description());
+	QVERIFY(!compareResult);
+
+	delete agendaUtil;
+	delete notesEditor;
+}
+
+/*!
+	Test the api NotesEditor::edit(const QFile &handle)
+ */
+void TestNotesEditor::testEditingNoteWithFileHandle()
+{
+	// Nothing yet
+}
+
+/*!
+	Test the api NotesEditor::edit(AgendaEntry entry)
+ */
+void TestNotesEditor::testEditingNoteWithAgendaEntry()
+{
+	HbMainWindow window;
+	window.show();
+
+	NotesEditor *notesEditor = new NotesEditor();
+	QVERIFY(notesEditor);
+
+	AgendaEntry entry;
+	entry.setType(AgendaEntry::TypeNote);
+	entry.setDescription(QString("A simple note"));
+
+	// Call edit on agenda entry
+	notesEditor->edit(entry);
+
+	QTest::qWait(1000);
+
+	ulong id = notesEditor->close(NotesEditor::CloseWithSave);
+
+	AgendaUtil *agendaUtil = new AgendaUtil();
+	QVERIFY(agendaUtil);
+
+	AgendaEntry afterSave = agendaUtil->fetchById(id);
+	QCOMPARE(afterSave.description(), entry.description());
+
+	delete agendaUtil;
+	delete notesEditor;
+}
+
+/*!
+	Test the api NotesEditor::edit(ulong id)
+ */
+void TestNotesEditor::testEditingNoteWithId()
+{
+	HbMainWindow window;
+	window.show();
+
+	NotesEditor *notesEditor = new NotesEditor();
+	QVERIFY(notesEditor);
+
+	AgendaUtil *agendaUtil = new AgendaUtil();
+	QVERIFY(agendaUtil);
+
+	AgendaEntry entry;
+	entry.setType(AgendaEntry::TypeNote);
+	entry.setDescription("A simple note");
+
+	ulong id = agendaUtil->addEntry(entry);
+
+	notesEditor->edit(id);
+
+	QTest::qWait(1000);
+
+	ulong savedId = notesEditor->close(NotesEditor::CloseWithSave);
+
+	AgendaEntry afterSave = agendaUtil->fetchById(id);
+	QCOMPARE(afterSave.description(), entry.description());
+
+	delete agendaUtil;
+	delete notesEditor;
+
+}
+
+
+/*!
+	Test the api NotesEditor::edit(const QFile &handle)
+ */
+void TestNotesEditor::testEditingTodoWithFileHandle()
+{
+	// Nothing yet.
+}
+
+/*!
+	Test the api NotesEditor::edit(AgendaEntry entry)
+ */
+void TestNotesEditor::testEditingTodoWithAgendaEntry()
+{
+	HbMainWindow window;
+	window.show();
+
+	NotesEditor *notesEditor = new NotesEditor();
+	QVERIFY(notesEditor);
+
+	AgendaUtil *agendaUtil = new AgendaUtil();
+	QVERIFY(agendaUtil);
+
+	// Create a agenda entry with type to-do
+	AgendaEntry entry;
+	entry.setType(AgendaEntry::TypeTodo);
+	entry.setSummary(QString("Buy Books"));
+	entry.setDescription(QString("@Landmarks"));
+	entry.setStartAndEndTime(
+			QDateTime::currentDateTime(),QDateTime::currentDateTime());
+	entry.setStatus(AgendaEntry::TodoNeedsAction);
+	entry.setPriority(2);
+	
+	ulong id = agendaUtil->addEntry(entry);
+
+	// Call edit on agenda entry
+	notesEditor->edit(entry);
+
+	QTest::qWait(3000);
+
+	ulong afterSaveId = notesEditor->close(NotesEditor::CloseWithSave);
+
+	AgendaEntry afterSave = agendaUtil->fetchById(id);
+	QCOMPARE(afterSave.id(),id);
+	QCOMPARE(afterSave.type(),entry.type());
+	QCOMPARE(afterSave.summary(), entry.summary());
+	QCOMPARE(afterSave.description(), entry.description());
+
+	delete agendaUtil;
+	delete notesEditor;
+}
+
+/*!
+	Test the api NotesEditor::edit(ulong id)
+ */
+void TestNotesEditor::testEditingTodoWithId()
+{
+	HbMainWindow window;
+	window.show();
+
+	NotesEditor *notesEditor = new NotesEditor();
+	QVERIFY(notesEditor);
+
+	AgendaUtil *agendaUtil = new AgendaUtil();
+	QVERIFY(agendaUtil);
+
+	// Create a agenda entry with type to-do
+	AgendaEntry entry;
+	entry.setType(AgendaEntry::TypeTodo);
+	entry.setSummary(QString("Buy Books"));
+	entry.setDescription(QString("@Landmarks"));
+	entry.setStartAndEndTime(
+			QDateTime::currentDateTime(),QDateTime::currentDateTime());
+	entry.setStatus(AgendaEntry::TodoNeedsAction);
+	entry.setPriority(2);
+
+	ulong id = agendaUtil->addEntry(entry);
+
+	// Call edit using the id
+	notesEditor->edit(id);
+
+	QTest::qWait(3000);
+
+	ulong afterSaveId = notesEditor->close(NotesEditor::CloseWithSave);
+
+	AgendaEntry afterSave = agendaUtil->fetchById(id);
+	QCOMPARE(afterSave.id(),id);
+	QCOMPARE(afterSave.type(),entry.type());
+	QCOMPARE(afterSave.summary(), entry.summary());
+	QCOMPARE(afterSave.description(), entry.description());
+
+	delete agendaUtil;
+	delete notesEditor;
+
+}
+
+/*!
+	Test the api NotesEditor::create(CreateType type)
+ */
+void TestNotesEditor::testCreationOfNote()
+{
+	HbMainWindow window;
+	window.show();
+
+	NotesEditor *notesEditor = new NotesEditor();
+	QVERIFY(notesEditor);
+
+	notesEditor->create(NotesEditor::CreateNote);
+
+	QTest::qWait(3000);
+
+	ulong afterSaveId = notesEditor->close(NotesEditor::CloseWithSave);
+
+	// Note is not saved since description is empty
+	// TODO use key press events here
+
+	QVERIFY(!afterSaveId);
+
+	delete notesEditor;
+}
+
+/*!
+	Test the api NotesEditor::create(CreateType type)
+ */
+void TestNotesEditor::testCreationofTodo()
+{
+	HbMainWindow window;
+	window.show();
+
+	NotesEditor *notesEditor = new NotesEditor();
+	QVERIFY(notesEditor);
+
+	notesEditor->create(NotesEditor::CreateTodo);
+
+	// TODO
+	// Needs key interaction to edit the fields in to-do editor.
+
+	QTest::qWait(3000);
+
+	delete notesEditor;
+}
+
+/*!
+	Test the api NotesEditor::close(CloseType type);
+ */
+
+void TestNotesEditor::testClosingOfNotesEditorWithSave()
+{
+	HbMainWindow window;
+	window.show();
+	// Create NotesEditor object.
+	NotesEditor *notesEditor = new NotesEditor(this);
+	QVERIFY(notesEditor);
+
+	QString noteText("This is test note");
+	// Call edit using the text.
+	notesEditor->edit(QString("This is test note"));
+
+	QTest::qWait(1000);
+
+	// Call close on editor by saving the note
+	ulong id = notesEditor->close(NotesEditor::CloseWithSave);
+	QVERIFY(id);
+
+	// Create agenda Utility.
+	AgendaUtil *agendaUtil = new AgendaUtil();
+	QVERIFY(agendaUtil);
+
+	// Fetch the entry using the id
+	AgendaEntry entry = agendaUtil->fetchById(id);
+
+	QCOMPARE(noteText,entry.description());
+
+	delete agendaUtil;
+	delete notesEditor;
+}
+
+/*!
+	Test the api NotesEditor::close(CloseType type);
+ */
+void TestNotesEditor::testClosingOfNotesEditorWithoutSave()
+{
+	HbMainWindow window;
+	window.show();
+	// Create NotesEditor object.
+	NotesEditor *notesEditor = new NotesEditor(this);
+	QVERIFY(notesEditor);
+
+	QString noteText("This is test note");
+	// Call edit using the text.
+	notesEditor->edit(QString("This is test note"));
+
+	QTest::qWait(1000);
+
+	// Call close on editor by saving the note
+	ulong id = notesEditor->close(NotesEditor::CloseWithoutSave);
+	QVERIFY(!id);
+
+	delete notesEditor;
+}
+
+/*!
+	Test the api NotesEditor::close(CloseType type);
+ */
+void TestNotesEditor::testClosingOfTodoEditorWithSave()
+{
+	HbMainWindow window;
+	window.show();
+
+	NotesEditor *notesEditor = new NotesEditor();
+	QVERIFY(notesEditor);
+
+	AgendaUtil *agendaUtil = new AgendaUtil();
+	QVERIFY(agendaUtil);
+
+	// Create a agenda entry with type to-do
+	AgendaEntry entry;
+	entry.setType(AgendaEntry::TypeTodo);
+	entry.setSummary(QString("Buy Books"));
+	entry.setDescription(QString("@Landmarks"));
+	entry.setStartAndEndTime(
+			QDateTime::currentDateTime(),QDateTime::currentDateTime());
+	entry.setStatus(AgendaEntry::TodoNeedsAction);
+	entry.setPriority(2);
+	
+	ulong id = agendaUtil->addEntry(entry);
+
+	// Call edit on agenda entry
+	notesEditor->edit(entry);
+
+	QTest::qWait(3000);
+
+	ulong afterSaveId = notesEditor->close(NotesEditor::CloseWithSave);
+
+	AgendaEntry afterSave = agendaUtil->fetchById(id);
+	QCOMPARE(afterSave.id(),id);
+	QCOMPARE(afterSave.type(),entry.type());
+	QCOMPARE(afterSave.summary(), entry.summary());
+	QCOMPARE(afterSave.description(), entry.description());
+
+	delete agendaUtil;
+	delete notesEditor;
+}
+
+/*!
+	Test the api NotesEditor::close(CloseType type);
+ */
+void TestNotesEditor::testClosingOfTodoEditorWithoutSave()
+{
+	HbMainWindow window;
+	window.show();
+
+	NotesEditor *notesEditor = new NotesEditor();
+	QVERIFY(notesEditor);
+
+	AgendaUtil *agendaUtil = new AgendaUtil();
+	QVERIFY(agendaUtil);
+
+	// Create a agenda entry with type to-do
+	AgendaEntry entry;
+	entry.setType(AgendaEntry::TypeTodo);
+	entry.setSummary(QString("Buy Books"));
+	entry.setDescription(QString("@Landmarks"));
+	entry.setStartAndEndTime(
+			QDateTime::currentDateTime(),QDateTime::currentDateTime());
+	entry.setStatus(AgendaEntry::TodoNeedsAction);
+	entry.setPriority(2);
+			
+	ulong id = agendaUtil->addEntry(entry);
+
+	// Call edit on agenda entry
+	notesEditor->edit(entry);
+
+	QTest::qWait(3000);
+
+	ulong afterSaveId = notesEditor->close(NotesEditor::CloseWithoutSave);
+	QVERIFY(!afterSaveId);
+
+	delete agendaUtil;
+	delete notesEditor;
+}
+// End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/tsrc/unittest_noteseditor/unittest_noteseditor.pkg	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,35 @@
+;
+; 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: Pkg file for the unitest_noteseditor component.
+;
+
+
+; Language
+&EN
+
+; SIS header: name, uid, version
+#{"utnoteseditor"}, (0xEc226a1e), 1, 0, 0
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+; Executable and default resource files
+"/epoc32/release/armv5/urel/utnoteseditor.exe"				- "!:\sys\bin\utnoteseditor.exe"
+"/epoc32/data/z/resource/apps/utnoteseditor.rsc"			- "!:\resource\apps\utnoteseditor.rsc"
+"/epoc32/data/z/private/10003a3f/import/apps/utnoteseditor_reg.rsc"	- "!:\private\10003a3f\import\apps\utnoteseditor_reg.rsc"
+
+; End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/tsrc/unittest_noteseditor/unittest_noteseditor.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,49 @@
+#
+# 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: 
+# Project specification file for noteseditor unit test.
+#
+
+TEMPLATE = app
+TARGET = utnoteseditor
+CONFIG += \
+		qtestlib \
+		symbian_test \
+		hb
+
+DEPENDPATH += \
+		. \
+		./src
+
+INCLUDEPATH += .
+
+
+symbian: {
+	TARGET.CAPABILITY = ALL -TCB
+	TARGET.EPOCALLOWDLLDATA = 1
+	INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+	
+	LIBS += \
+		-lnoteseditor \
+		-lagendainterface
+}
+
+SOURCES += \
+		unittest_noteseditor.cpp \
+		main.cpp
+
+HEADERS += \
+		./inc/unittest_noteseditor.h
+
+# End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/tsrc/unittest_notesmodel/src/unittest_notesmodel.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,272 @@
+/*
+* 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:
+* NotesModel unit-test class.
+*
+*/
+
+// System includes
+#include <QtTest/QtTest>
+#include <QtGui>
+#include <QPointer>
+#include <e32base.h>
+
+// User includes
+#include "notesmodel.h"
+#include "agendautil.h"
+
+class TestNotesModel : public QObject
+{
+	Q_OBJECT
+
+public slots:
+	void handleEntriesDeletion(int var);
+
+private slots:
+	// Test case setup.
+	void initTestCase();
+	void cleanupTestCase();
+
+	// Test cases.
+	void test_construction();
+	void test_sourceModelAddNote();
+	void test_sourceModelDeleteNote();
+	void test_sourceModelUpdateNote();
+
+private:
+	QPointer<NotesModel> mNotesModel;
+	QPointer<AgendaUtil> mAgendaUtil;
+
+	QDateTime mStart;
+	QDateTime mEnd;
+
+	CActiveSchedulerWait *mWait;
+};
+
+/*!
+	\class TestNotesModel
+
+	This is unittest class for NotesModel apis.
+ */
+
+/*!
+	Slot called when all the entries have been deleted.
+ */
+void TestNotesModel::handleEntriesDeletion(int var)
+{
+	Q_UNUSED(var)
+
+	if (mWait && mWait->IsStarted()) {
+		mWait->AsyncStop();
+	}
+}
+
+/*!
+	This function is called to init the testcase.
+	Called for every test case execution.
+ */
+void TestNotesModel::initTestCase()
+{
+	QT_TRAP_THROWING(mAgendaUtil = new AgendaUtil(this););
+	QVERIFY(mAgendaUtil != 0);
+
+	// Connect to the required signals
+	connect(
+			mAgendaUtil, SIGNAL(entriesDeleted(int)),
+			this, SLOT(handleEntriesDeletion(int)));
+
+	mWait = 0;
+
+	mStart.setDate(QDate(1900, 1, 1));
+	mStart.setTime(QTime(0, 0, 0));
+	mEnd.setDate(QDate(2100, 30, 12));
+	mEnd.setTime(QTime(23, 59, 0));
+}
+
+/*!
+	This function is called when the testcase execution is
+	completed, for cleaning up.
+ */
+void TestNotesModel::cleanupTestCase()
+{
+	if (mAgendaUtil) {
+		delete mAgendaUtil;
+	}
+	if (mNotesModel) {
+		delete mNotesModel;
+	}
+	if (mWait && mWait->IsStarted()) {
+		mWait->AsyncStop();
+	}
+	if (mWait) {
+		delete mWait;
+	}
+}
+
+/*!
+	This test functions tests the construction of NotesModel object.
+ */
+void TestNotesModel::test_construction()
+{
+	mNotesModel = new NotesModel(mAgendaUtil, this);
+	QVERIFY(mNotesModel);
+
+	if (mNotesModel) {
+		delete mNotesModel;
+		QVERIFY(!mNotesModel);
+	}
+}
+
+/*!
+	This test function tests if the source model is updated when a note is
+	added.
+ */
+void TestNotesModel::test_sourceModelAddNote()
+{
+	mAgendaUtil->deleteEntries(mStart, mEnd, AgendaUtil::IncludeAll);
+	if (!mWait) {
+		mWait =  new CActiveSchedulerWait;
+	}
+	if (!mWait->IsStarted()) {
+		mWait->Start();
+	}
+	mNotesModel = new NotesModel(mAgendaUtil, this);
+	QVERIFY(mNotesModel);
+
+	QAbstractItemModel *model = 0;
+	model = mNotesModel->sourceModel();
+	QVERIFY(model);
+	QVERIFY(!model->rowCount());
+
+	// Now save a note.
+	AgendaEntry entry;
+	entry.setType(AgendaEntry::TypeNote);
+	entry.setDescription("Hello");
+	entry.setLastModifiedDateTime(
+			QDateTime(QDate::currentDate(), QTime::currentTime()));
+	QVERIFY(mAgendaUtil->addEntry(entry));
+	
+	// Now check the count in the model.
+	startTimer(1000);
+	QVERIFY(model->rowCount());
+	QVERIFY(model->rowCount() == 1);
+}
+
+/*!
+	This test function tests if the source model is updated when a note is
+	deleted.
+ */
+void TestNotesModel::test_sourceModelDeleteNote()
+{
+	mAgendaUtil->deleteEntries(mStart, mEnd, AgendaUtil::IncludeAll);
+	if (!mWait) {
+		mWait =  new CActiveSchedulerWait;
+	}
+	if (!mWait->IsStarted()) {
+		mWait->Start();
+	}
+	mNotesModel = new NotesModel(mAgendaUtil, this);
+	QVERIFY(mNotesModel);
+
+	QAbstractItemModel *model = 0;
+	model = mNotesModel->sourceModel();
+	QVERIFY(model);
+	QVERIFY(!model->rowCount());
+
+	// Now save a note.
+	AgendaEntry entry;
+	entry.setType(AgendaEntry::TypeNote);
+	entry.setDescription("Hello");
+	entry.setLastModifiedDateTime(
+			QDateTime(QDate::currentDate(), QTime::currentTime()));
+	ulong id;
+	QVERIFY(id = mAgendaUtil->addEntry(entry));
+
+	// Now check the count in the model.
+	startTimer(1000);
+	QVERIFY(model->rowCount());
+	QVERIFY(model->rowCount() == 1);
+
+	// Verify if the model has the updated content.
+	startTimer(1000);
+	QModelIndex index = model->index(0, 0);
+	QVERIFY(index.isValid());
+	QStringList list = index.data(Qt::DisplayRole).value<QStringList>();
+	QCOMPARE(entry.description(), list.at(0));
+
+	// Delete the note saved above.
+	QVERIFY(mAgendaUtil->deleteEntry(id));
+	// Now check the count in the model.
+	startTimer(1000);
+	QVERIFY(!model->rowCount());
+}
+
+/*!
+	This test function tests if the source model is updated when a note is
+	modified.
+ */
+void TestNotesModel::test_sourceModelUpdateNote()
+{
+	mAgendaUtil->deleteEntries(mStart, mEnd, AgendaUtil::IncludeAll);
+	if (!mWait) {
+		mWait =  new CActiveSchedulerWait;
+	}
+	if (!mWait->IsStarted()) {
+		mWait->Start();
+	}
+	mNotesModel = new NotesModel(mAgendaUtil, this);
+	QVERIFY(mNotesModel);
+
+	QAbstractItemModel *model = 0;
+	model = mNotesModel->sourceModel();
+	QVERIFY(model);
+	QVERIFY(!model->rowCount());
+
+	// Now save a note.
+	AgendaEntry entry;
+	entry.setType(AgendaEntry::TypeNote);
+	entry.setDescription("Hello");
+	entry.setLastModifiedDateTime(
+			QDateTime(QDate::currentDate(), QTime::currentTime()));
+	ulong id;
+	QVERIFY(id = mAgendaUtil->addEntry(entry));
+	// Now check the count in the model.
+	startTimer(1000);
+	QVERIFY(model->rowCount());
+	QVERIFY(model->rowCount() == 1);
+
+	// Now update the content on of the note created above.
+	entry = mAgendaUtil->fetchById(id);
+	QVERIFY(!entry.isNull());
+	entry.setDescription("Hello world");
+	QVERIFY(mAgendaUtil->updateEntry(entry));
+
+	// Verify if the model has the updated content.
+	startTimer(1000);
+	QModelIndex index = model->index(0, 0);
+	QVERIFY(index.isValid());
+	QStringList list = index.data(Qt::DisplayRole).value<QStringList>();
+	QCOMPARE(entry.description(), list.at(0));
+
+	// Delete the note saved above.
+	QVERIFY(mAgendaUtil->deleteEntry(id));
+	// Now check the count in the model.
+	startTimer(1000);
+	QVERIFY(!model->rowCount());
+}
+
+QTEST_MAIN(TestNotesModel)
+#include "unittest_notesmodel.moc"
+
+// End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/tsrc/unittest_notesmodel/unittest_notesmodel.pkg	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,35 @@
+;
+; 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 the License "Symbian Foundation License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: 
+; Pkg file for the unittest_notesmodel component.
+;
+
+; Language
+&EN
+
+; SIS header: name, uid, version
+#{"utnotesmodel"}, (0xEADA6E32), 1, 0, 0
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+; Executable and default resource files
+"/epoc32/release/armv5/urel/utnotesmodel.exe"						- "!:\sys\bin\utnotesmodel.exe"
+"/epoc32/data/z/resource/apps/utnotesmodel.rsc"						- "!:\resource\apps\utnotesmodel.rsc"
+"/epoc32/data/z/private/10003a3f/import/apps/utnotesmodel_reg.rsc"	- "!:\private\10003a3f\import\apps\utnotesmodel_reg.rsc"
+
+; End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/tsrc/unittest_notesmodel/unittest_notesmodel.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,45 @@
+# 
+# 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 the License "Symbian Foundation License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+# 
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+# 
+# Contributors: 
+# 
+# Description:
+# This is the project specification file for unittest_notesmodel.
+# 
+
+TEMPLATE = app
+TARGET = utnotesmodel
+CONFIG += qtestlib
+CONFIG += symbian_test
+DEPENDPATH += \
+		. \
+		./src
+INCLUDEPATH += \
+		. \
+		../../notesui/notesmodel/inc \
+		../../../agendainterface/agendautil/inc \
+		../../inc
+
+symbian: {
+	TARGET.CAPABILITY = ALL -TCB
+	TARGET.EPOCALLOWDLLDATA = 1
+	TARGET.UID3 = 0xEADA6E32
+	INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+	
+	LIBS += \
+		-lnotesmodel \
+		-lagendainterface
+}
+
+SOURCES += \
+		unittest_notesmodel.cpp
+
+# End of file	--Don't remove this
--- a/organizer.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/organizer.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -17,12 +17,8 @@
 TEMPLATE = subdirs
 CONFIG += ordered
 SUBDIRS += organizer_pub \
-		   organizer_plat \
+           organizer_plat \
            agendainterface \
-           calendarui/commonutils \
-		   calendarui/calenlauncher \
-           calendarui/caleneditor \
-           notes/notesui/noteseditor \
            calendarui \
            clock \
            notes \
--- a/organizer_info/organizer_metadata/organizer_metadata.mrp	Tue Jun 15 15:22:54 2010 +0100
+++ b/organizer_info/organizer_metadata/organizer_metadata.mrp	Thu Jul 22 16:32:51 2010 +0100
@@ -1,19 +1,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: 
-#
-
 component           organizer_metadata
 source   \sf\app\organizer\organizer_info\organizer_metadata 
 source   \sf\app\organizer\package_definition.xml
--- a/organizer_plat/agenda_interface_api/inc/agendaentry.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/organizer_plat/agenda_interface_api/inc/agendaentry.h	Thu Jul 22 16:32:51 2010 +0100
@@ -238,7 +238,7 @@
 	void setUntil(const QDateTime& date);
 	QDateTime until() const;
 
-	void setRepeatRuleStart(const QDateTime& date);
+	void setRepeatRuleStart(const QDateTime& dateTime);
 	QDateTime repeatRuleStart() const;
 
 	void setWeekStart(Day day);
@@ -380,6 +380,7 @@
 	
 	void setGeoValue(const AgendaGeoValue& geoValue);
 	AgendaGeoValue geoValue() const;
+	void clearGeoValue() const;
 	
 	int durationInSecs() const;
 	AgendaEntry& operator=(const AgendaEntry& other);
--- a/organizer_plat/agenda_interface_api/inc/agendautil.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/organizer_plat/agenda_interface_api/inc/agendautil.h	Thu Jul 22 16:32:51 2010 +0100
@@ -79,7 +79,7 @@
 			AgendaEntry& entry, AgendaUtil::RecurrenceRange range);
 	bool updateEntry(const AgendaEntry& entry, bool isChild = false);
 	bool storeRepeatingEntry(const AgendaEntry& entry, bool copyToChildren);
-	bool createException(const AgendaEntry& entry);
+	bool createException(const AgendaEntry& entry,QDateTime instanceOriginalDateTime);
 	QList<ulong> entryIds(
 			AgendaUtil::FilterFlags filter = AgendaUtil::IncludeAll);
 	QList<AgendaEntry> fetchAllEntries(
--- a/organizer_plat/agenda_interface_api/tsrc/tsrc.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/organizer_plat/agenda_interface_api/tsrc/tsrc.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -17,11 +17,7 @@
 
 TEMPLATE = subdirs
 SUBDIRS += unittest_agendautil
+		    	
 CONFIG += ordered
 
-symbian: {
-	BLD_INF_RULES.prj_exports += \
-	"./rom/unit_agendainterface.iby		CORE_APP_LAYER_IBY_EXPORT_PATH(unit_agendainterface.iby)"
-}
-
 # End of file	--Don't remove this
--- a/organizer_plat/agenda_interface_api/tsrc/unittest_agendautil/src/unittest_agendautil.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/organizer_plat/agenda_interface_api/tsrc/unittest_agendautil/src/unittest_agendautil.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+ * 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"
@@ -9,7 +9,7 @@
  * Initial Contributors:
  * Nokia Corporation - initial contribution.
  *
- * Contributors: 
+ * Contributors:
  *
  * Description: AgendaUtil unit test class.
  *
@@ -26,20 +26,18 @@
 class TestAgendaUtil : public QObject
 {
 	Q_OBJECT
-	
+
 public slots:
 	void handleEntriesDeletion(int error);
+	void handleEntryViewCreationCompleted(int status);
 
-private:
-	int createMultipleEntries();
-	
 private slots:
 	// Test case setup.
 	void init();
 	void cleanup();
 	void initTestCase();
 	void cleanupTestCase();
-	
+
 	// Test cases.
 	void test_addEntry();
 	void test_deleteEntry();
@@ -51,6 +49,19 @@
 	void test_fetchAllEntries();
 	void test_deleteEntries();
 	void test_fetchEntriesInRange();
+	void test_cloneEntry();
+	void test_todoCompleted();
+
+private:
+	int createMultipleEntries();
+	void cloneNoteToTodo();
+	void cloneNoteToMeeting();
+	void cloneTodoToNote();
+	void cloneTodoToMeeting();
+	void cloneMeetingToNote();
+	void cloneMeetingToTodo();
+	void completeTodo();
+	void unCompletedTodo();
 
 private:
 	AgendaUtil *mAgendaUtil;
@@ -59,7 +70,7 @@
 
 /*!
 	\class TestAgendaUtil
-	
+
 	This is unittest class for AgendaUtil apis.
  */
 
@@ -71,7 +82,7 @@
 	/*QT_TRAP_THROWING(mAgendaUtil = new AgendaUtil);
 
 	Q_ASSERT_X(mAgendaUtil, "TestAgendaUtil::test_addEntry", "No agendautil");
-	
+
 	// Connect to the required signals
 	connect(
 			mAgendaUtil, SIGNAL(entriesDeleted(int)), this,
@@ -85,7 +96,7 @@
  */
 void TestAgendaUtil::cleanup()
 {
-		
+
 	//User::Exit(0);
     if (mWait && mWait->IsStarted()) {
                 mWait->AsyncStop();
@@ -99,24 +110,34 @@
 void TestAgendaUtil::initTestCase()
 {
 	QT_TRAP_THROWING(mAgendaUtil = new AgendaUtil);
-	
+
+	connect(
+			mAgendaUtil, SIGNAL(entryViewCreationCompleted(int)),
+			this, SLOT(handleEntryViewCreationCompleted(int)));
+
+	// Start the timer as the instanceview/entryview creation
+	// operation is asynchronous
+	QT_TRAP_THROWING(mWait = new (ELeave) CActiveSchedulerWait;);
+		if (!mWait->IsStarted()) {
+			mWait->Start();
+	}
+
 	Q_ASSERT_X(mAgendaUtil, "TestAgendaUtil::test_addEntry", "No agendautil");
-	
+
 	// Connect to the required signals
 	connect(
 			mAgendaUtil, SIGNAL(entriesDeleted(int)), this,
 			SLOT(handleEntriesDeletion(int)));
-	
+
 	mWait = NULL;
 }
 
 void TestAgendaUtil::cleanupTestCase()
 {
-    //User::Exit(0);
-    QCoreApplication::processEvents();
-    if (mAgendaUtil) {
-            delete mAgendaUtil;
-    }
+	QCoreApplication::processEvents();
+	if (mAgendaUtil) {
+		delete mAgendaUtil;
+	}
 }
 /*
 	Tests the AgendaUtil::addEntry.
@@ -131,10 +152,10 @@
 	entry.setType(AgendaEntry::TypeEvent);
 	entry.setSummary("Test case");
 	entry.setStartAndEndTime(dateTimeSet, dateTimeSet);
-	
+
 	// Run the case.
 	ulong id = mAgendaUtil->addEntry(entry);
-	
+
 	// Verify.
 	AgendaEntry newEntry = mAgendaUtil->fetchById(id);
 	QDateTime dateTimeRetrieved = newEntry.startTime();
@@ -157,13 +178,13 @@
 	entry.setType(AgendaEntry::TypeEvent);
 	entry.setSummary("Test case");
 	entry.setStartAndEndTime(
-			QDateTime::currentDateTime(), 
+			QDateTime::currentDateTime(),
 			QDateTime::currentDateTime());
 	ulong id = mAgendaUtil->addEntry(entry);
-	
+
 	// Run the case.
 	QVERIFY(mAgendaUtil->deleteEntry(id));
-	
+
 	// Verify.
 	QVERIFY(mAgendaUtil->fetchById(id).isNull());
 }
@@ -178,7 +199,7 @@
 	entry.setType(AgendaEntry::TypeAppoinment);
 	entry.setSummary("Test case");
 	entry.setStartAndEndTime(
-			QDateTime::currentDateTime(), 
+			QDateTime::currentDateTime(),
 			QDateTime::currentDateTime());
 	AgendaRepeatRule repeatRule;
 	repeatRule.setType(AgendaRepeatRule::DailyRule);
@@ -188,15 +209,15 @@
 	repeatRule.setUntil(until);
 	repeatRule.setInterval(1);
 	entry.setRepeatRule(repeatRule);
-	
+
 	ulong id = mAgendaUtil->addEntry(entry);
 	AgendaEntry savedEntry = mAgendaUtil->fetchById(id);
 	QVERIFY(!savedEntry.isNull());
 	QVERIFY(savedEntry.isRepeating());
-	
+
 	// Run the case.
 	mAgendaUtil->deleteRepeatedEntry(savedEntry, AgendaUtil::ThisAndAll);
-	
+
 	// Verify.
 	QVERIFY(mAgendaUtil->fetchById(id).isNull());
 }
@@ -220,7 +241,7 @@
 
 	// Verify.
 	AgendaEntry retrievedEntry = mAgendaUtil->fetchById(id);
-	
+
 	// Check if the fetched entry is same st the added entry
 	QDateTime dateTimeRetrieved = retrievedEntry.startTime();
 	QDate dateRetrieved = dateTimeRetrieved.date();
@@ -229,7 +250,7 @@
 	QVERIFY(entry.type() == retrievedEntry.type());
 	QVERIFY(entry.summary() == retrievedEntry.summary());
 	mAgendaUtil->deleteEntry(id);
-	
+
 	// Fetch the same again and check if its null.
 	AgendaEntry checkEntryIsNull = mAgendaUtil->fetchById(id);
 	QVERIFY(checkEntryIsNull.isNull());
@@ -247,19 +268,19 @@
 	entry.setDescription("Entry to test the updateEntry API");
 	entry.setLocation("Nokia");
 	entry.setStartAndEndTime(
-			QDateTime::currentDateTime(), 
+			QDateTime::currentDateTime(),
 			QDateTime::currentDateTime());
 
 	// Save the entry
 	ulong id = mAgendaUtil->addEntry(entry);
 
-	// Fetch the same entry 
+	// Fetch the same entry
 	AgendaEntry savedEntry = mAgendaUtil->fetchById(id);
 	QVERIFY(!savedEntry.isNull());
 	savedEntry.setSummary("Fetced Entry");
 	savedEntry.setLocation("India");
 	savedEntry.setStartAndEndTime(
-			QDateTime::currentDateTime().addDays(1), 
+			QDateTime::currentDateTime().addDays(1),
 			QDateTime::currentDateTime().addDays(1));
 
 	// Update the entry
@@ -267,7 +288,7 @@
 	QVERIFY(success);
 
 	// Fetch the updated entry again
-	AgendaEntry updatedEntry = mAgendaUtil->fetchById(id); 
+	AgendaEntry updatedEntry = mAgendaUtil->fetchById(id);
 
 	// Verify
 	QVERIFY(savedEntry.summary() == updatedEntry.summary());
@@ -286,7 +307,7 @@
 	QDateTime startRange(QDate(1900, 01, 1), QTime(0, 0, 0, 0));
 	QDateTime endRange(QDate(2100, 01, 01), QTime(23, 59, 59, 0));
 	mAgendaUtil->deleteEntries(startRange, endRange);
-	// Start the timer as the above operation is asynchronous   
+	// Start the timer as the above operation is asynchronous
 	if (!mWait) {
 		QT_TRAP_THROWING(mWait = new (ELeave) CActiveSchedulerWait;);
 		if (!mWait->IsStarted()) {
@@ -328,7 +349,7 @@
 
 	qDebug("Request for deletion made.");
 
-	// Start the timer as the above operation is asynchronous   
+	// Start the timer as the above operation is asynchronous
 	if (!mWait) {
 		QT_TRAP_THROWING(mWait = new (ELeave) CActiveSchedulerWait;);
 		if (!mWait->IsStarted()) {
@@ -392,7 +413,7 @@
 
 	qDebug("Request for deletion made.");
 
-	// Start the timer as the above operation is asynchronous   
+	// Start the timer as the above operation is asynchronous
 	if (!mWait) {
 		QT_TRAP_THROWING(mWait = new (ELeave) CActiveSchedulerWait;);
 		if (!mWait->IsStarted()) {
@@ -413,7 +434,7 @@
 
 		qDebug("Request for deletion made.");
 
-		// Start the timer as the above operation is asynchronous   
+		// Start the timer as the above operation is asynchronous
 		if (!mWait) {
 			QT_TRAP_THROWING(mWait = new (ELeave) CActiveSchedulerWait;);
 			if (!mWait->IsStarted()) {
@@ -453,7 +474,7 @@
 
 	// Verfiy
 	numOfEntriesRetrieved = entries.count();
-	QVERIFY(numOfEntries == numOfEntriesRetrieved);
+	QCOMPARE(numOfEntries,numOfEntriesRetrieved);
 }
 
 /*!
@@ -471,32 +492,32 @@
 	int numOfEntriesRetrieved = entriesRetrieved.count();
 	QList<ulong> checkList = mAgendaUtil->entryIds();
 	int checkNum = checkList.count();
-		
+
 	// Create the required entries.
 	int numOfEntries = createMultipleEntries();
-	
+
 	entriesRetrieved = mAgendaUtil->fetchEntriesInRange(startRange, endRange);
 	numOfEntriesRetrieved = entriesRetrieved.count();
 	checkList = mAgendaUtil->entryIds();
 	checkNum = checkList.count();
 
 	Q_ASSERT(numOfEntries);
-	
+
 	qDebug("Entries have been created");
 
 	// Execute the case.
 	mAgendaUtil->deleteEntries(startRange, endRange);
-	
+
 	qDebug("Request for deletion made.");
 
-	// Start the timer as the above operation is asynchronous   
+	// Start the timer as the above operation is asynchronous
 	if (!mWait) {
 		QT_TRAP_THROWING(mWait = new (ELeave) CActiveSchedulerWait;);
 		if (!mWait->IsStarted()) {
 			mWait->Start();
 		}
 	}
-	
+
 	qDebug("Waiting for confirmation.");
 	entriesRetrieved = mAgendaUtil->fetchEntriesInRange(startRange, endRange);
 	numOfEntriesRetrieved = entriesRetrieved.count();
@@ -514,10 +535,10 @@
 	QDateTime startRange(QDate(1900, 01, 1), QTime(0, 0, 0, 0));
 	QDateTime endRange(QDate(2100, 12, 30), QTime(23, 59, 59, 0));
 	mAgendaUtil->deleteEntries(startRange,endRange);
-	
+
 	//qDebug("Request for deletion made.");
 
-	// Start the timer as the above operation is asynchronous   
+	// Start the timer as the above operation is asynchronous
 	if (!mWait) {
 		QT_TRAP_THROWING(mWait = new (ELeave) CActiveSchedulerWait;);
 		if (!mWait->IsStarted()) {
@@ -526,13 +547,13 @@
 	}
 
 	//qDebug("Waiting for confirmation.");
-	
+
 	QList<AgendaEntry> entriesRetrieved =
 			mAgendaUtil->fetchEntriesInRange(startRange, endRange);
 	int numOfEntriesRetrieved = entriesRetrieved.count();
 	QList<ulong> checkList = mAgendaUtil->entryIds();
 	int checkNum = checkList.count();
-		
+
 	// Appointment.
 	AgendaEntry firstEntry;
 	firstEntry.setType(AgendaEntry::TypeAppoinment);
@@ -543,7 +564,7 @@
 			QDate(2020, 05, 01), QTime(10, 0, 0, 0));
 	firstEntry.setStartAndEndTime(firstEntryStart, firstEntryEnd);
 	ulong id = mAgendaUtil->addEntry(firstEntry);
-	
+
 	// Create the range for which entries are needed
 	QDateTime fromRange(
 			QDate(2020, 01, 01), QTime(0, 0, 0, 0));
@@ -554,15 +575,37 @@
 			fromRange, toRange);
 
 	// Verify
-	int num = entries.count();                             
+	int num = entries.count();
 	QVERIFY( 1 == entries.count());
-	
+
 	//cleanup();
-	
+
 	//User::Exit(0);
 }
 
 /*!
+	Test the api AgendaUtil::cloneEntry
+ */
+void TestAgendaUtil::test_cloneEntry()
+{
+	cloneNoteToTodo();
+	cloneNoteToMeeting();
+	cloneTodoToNote();
+	cloneTodoToMeeting();
+	cloneMeetingToNote();
+	cloneMeetingToTodo();
+}
+
+/*
+	Test the api AgendaUtil::setCompleted
+ */
+void TestAgendaUtil::test_todoCompleted()
+{
+	completeTodo();
+	unCompletedTodo();
+}
+
+/*!
 	Slot to listen for the completion of deleting the entries asynchronously.
  */
 void TestAgendaUtil::handleEntriesDeletion(int error)
@@ -575,6 +618,18 @@
 }
 
 /*!
+	Slot to handle the entry view creation.
+ */
+void TestAgendaUtil::handleEntryViewCreationCompleted(int status)
+{
+	// Stop the wait timer.
+	if (mWait && mWait->IsStarted()) {
+		mWait->AsyncStop();
+	}
+	QVERIFY(!status);
+}
+
+/*!
 	Private function to create entries needed for some of the test cases.
  */
 int TestAgendaUtil::createMultipleEntries()
@@ -621,7 +676,248 @@
 	return numOfEntries;
 }
 
-QTEST_MAIN(TestAgendaUtil)
+/*!
+	Test Cloning of Note to To-do
+ */
+void TestAgendaUtil::cloneNoteToTodo()
+{
+	// Create an agenda entry(TypeNote) and save it.
+	AgendaEntry noteEntry(AgendaEntry::TypeNote);
+	noteEntry.setDescription(QString("test cloning of note to todo"));
+
+	// Clone the entry type TypeNote to TypeTodo
+	long notSavedEntryId = mAgendaUtil->cloneEntry(
+			noteEntry, AgendaEntry::TypeTodo);
+	// Shouldn't clone the entry as AgendaEntry is not yet saved.
+	QVERIFY(!notSavedEntryId);
+
+	long noteId = mAgendaUtil->addEntry(noteEntry);
+	QVERIFY(noteId);
+
+	// Fetch the saved note entry for cloning
+	AgendaEntry fetchedNoteEntry = mAgendaUtil->fetchById(noteId);
+
+	// Clone the entry type ENote to ETodo
+	long clonedTodoEntryId = mAgendaUtil->cloneEntry(
+			fetchedNoteEntry, AgendaEntry::TypeTodo);
+	QVERIFY(clonedTodoEntryId);
+
+	AgendaEntry clonedTodoEntry = mAgendaUtil->fetchById(clonedTodoEntryId);
+	// Compare the attributes.
+	QCOMPARE(AgendaEntry::TypeTodo,clonedTodoEntry.type());
+	QCOMPARE(fetchedNoteEntry.description(),clonedTodoEntry.description());
+}
+
+/*!
+	Test Cloning of Note to Meeting
+ */
+
+void TestAgendaUtil::cloneNoteToMeeting()
+{
+	// Create an agenda entry(TypeNote) and save it.
+	AgendaEntry noteEntry(AgendaEntry::TypeNote);
+	noteEntry.setDescription(QString("test cloning of note to meeting"));
+
+	long noteId = mAgendaUtil->addEntry(noteEntry);
+	QVERIFY(noteId);
+
+	// Fetch the saved note entry for cloning
+	AgendaEntry fetchedNoteEntry = mAgendaUtil->fetchById(noteId);
+
+	// Clone the entry type TypeNote to TypeTodo
+	long clonedMeetingEntryId = mAgendaUtil->cloneEntry(
+			fetchedNoteEntry, AgendaEntry::TypeAppoinment);
+	QVERIFY(clonedMeetingEntryId);
+
+	AgendaEntry clonedMeetingEntry = mAgendaUtil->fetchById(clonedMeetingEntryId);
+	// Compare the attributes.
+	QCOMPARE(AgendaEntry::TypeAppoinment,clonedMeetingEntry.type());
+	QCOMPARE(fetchedNoteEntry.description(),clonedMeetingEntry.description());
+}
+
+/*!
+	Test Cloning of To-do to Note
+ */
+void TestAgendaUtil::cloneTodoToNote()
+{
+	// Create an agenda entry(TypeTodo) and save it.
+	AgendaEntry todoEntry(AgendaEntry::TypeTodo);
+	todoEntry.setDescription(QString("test cloning of todo to note"));
+	QDateTime dueDate(QDate(2011, 06, 01), QTime(10, 0, 0, 0));
+	todoEntry.setStartAndEndTime(dueDate, dueDate);
+	long todoId = mAgendaUtil->addEntry(todoEntry);
+	QVERIFY(todoId);
+
+	// Fetch the saved note entry for cloning
+	AgendaEntry fetchedTodoEntry = mAgendaUtil->fetchById(todoId);
+
+	// Clone the entry type ETodo to EANote
+	ulong clonedNoteId = mAgendaUtil->cloneEntry(
+			fetchedTodoEntry, AgendaEntry::TypeNote);
+	QVERIFY(clonedNoteId);
+	AgendaEntry clonedNoteEntry =
+			mAgendaUtil->fetchById(clonedNoteId);
+
+	// Compare the attributes.
+	QCOMPARE(AgendaEntry::TypeNote,clonedNoteEntry.type());
+	QCOMPARE(fetchedTodoEntry.description(),clonedNoteEntry.description());
+	QCOMPARE(fetchedTodoEntry.favourite(),clonedNoteEntry.favourite());
+}
+
+/*!
+	Test Cloning of To-do to Meeting
+ */
+void TestAgendaUtil::cloneTodoToMeeting()
+{
+	// Create an agenda entry(TypeTodo) and save it.
+	AgendaEntry todoEntry(AgendaEntry::TypeTodo);
+	todoEntry.setSummary(QString("test cloning of todo to meeting"));
+	QDateTime dueDate(QDate(2011, 06, 01), QTime(10, 0, 0, 0));
+	todoEntry.setStartAndEndTime(dueDate, dueDate);
+	long todoId = mAgendaUtil->addEntry(todoEntry);
+	QVERIFY(todoId);
+
+	// Fetch the saved note entry for cloning
+	AgendaEntry fetchedTodoEntry = mAgendaUtil->fetchById(todoId);
+
+	// Clone the entry type TypeTodo to TypeAppointment
+	ulong clonedAppointmentId = mAgendaUtil->cloneEntry(
+			fetchedTodoEntry, AgendaEntry::TypeAppoinment);
+	QVERIFY(clonedAppointmentId);
+	AgendaEntry clonedAppointmentEntry =
+			mAgendaUtil->fetchById(clonedAppointmentId);
+
+	// Compare the attributes.
+	QCOMPARE(AgendaEntry::TypeAppoinment,clonedAppointmentEntry.type());
+	QCOMPARE(fetchedTodoEntry.summary(),clonedAppointmentEntry.summary());
+	QCOMPARE(fetchedTodoEntry.startTime(),clonedAppointmentEntry.startTime());
+	QCOMPARE(fetchedTodoEntry.endTime(),clonedAppointmentEntry.endTime());
+}
+
+/*!
+	Test Cloning of Meeting to Note
+ */
+void TestAgendaUtil::cloneMeetingToNote()
+{
+	// Create an agenda entry(TypeAppointment) and save it.
+	AgendaEntry appointment(AgendaEntry::TypeAppoinment);
+	appointment.setSummary(QString("test cloning of meeting to note"));
+	QDateTime startDate(QDate(2011, 06, 01), QTime(10, 0, 0, 0));
+	QDateTime endDate(QDate(2011, 06, 01), QTime(12, 0, 0, 0));
+	appointment.setStartAndEndTime(startDate, endDate);
+	long appointmentId = mAgendaUtil->addEntry(appointment);
+	QVERIFY(appointmentId);
+
+	// Fetch the saved note entry for cloning
+	AgendaEntry fetchedAppointment = mAgendaUtil->fetchById(appointmentId);
+
+	// Clone the entry type TypeAppointment to TypeNote
+	ulong clonedNoteId = mAgendaUtil->cloneEntry(
+			fetchedAppointment, AgendaEntry::TypeNote);
+	QVERIFY(clonedNoteId);
+
+	AgendaEntry clonedNote = mAgendaUtil->fetchById(clonedNoteId);
+	// Compare the attributes.
+	QCOMPARE(AgendaEntry::TypeNote,clonedNote.type());
+	QCOMPARE(fetchedAppointment.description(),clonedNote.description());
+	QCOMPARE(fetchedAppointment.favourite(),clonedNote.favourite());
+}
+
+/*!
+	Test Cloning of Meeting to To-do
+ */
+void TestAgendaUtil::cloneMeetingToTodo()
+{
+	// Create an agenda entry(TypeAppointment) and save it.
+	AgendaEntry appointment(AgendaEntry::TypeAppoinment);
+	appointment.setSummary(QString("test cloning of meeting to todo"));
+	QDateTime startDate(QDate(2011, 06, 01), QTime(10, 0, 0, 0));
+	QDateTime endDate(QDate(2011, 06, 01), QTime(12, 0, 0, 0));
+	appointment.setStartAndEndTime(startDate, endDate);
+	long appointmentId = mAgendaUtil->addEntry(appointment);
+	QVERIFY(appointmentId);
+
+	// Fetch the saved note entry for cloning
+	AgendaEntry fetchedAppointment = mAgendaUtil->fetchById(appointmentId);
+
+	// Clone the entry type EAppointment to TypeNote
+	ulong clonedTodoId = mAgendaUtil->cloneEntry(
+			fetchedAppointment, AgendaEntry::TypeTodo);
+	QVERIFY(clonedTodoId);
+
+	AgendaEntry clonedTodo = mAgendaUtil->fetchById(clonedTodoId);
+	// Compare the attributes.
+	QCOMPARE(AgendaEntry::TypeTodo,clonedTodo.type());
+	QCOMPARE(fetchedAppointment.summary(),clonedTodo.summary());
+	QCOMPARE(fetchedAppointment.startTime(),clonedTodo.startTime());
+	QCOMPARE(fetchedAppointment.endTime(),clonedTodo.endTime());
+}
+
+/*!
+	test making To-do as completed
+ */
+void TestAgendaUtil::completeTodo()
+{
+	// Create and Save a To-do event.
+	AgendaEntry todoEntry(AgendaEntry::TypeTodo);
+	todoEntry.setSummary(QString("Test making To-do event as Completed"));
+	QDateTime dueDate(QDate(2011, 06, 01), QTime(0, 0, 0, 0));
+	todoEntry.setStartAndEndTime(dueDate, dueDate);
+
+	ulong todoId = mAgendaUtil->addEntry(todoEntry);
+	QVERIFY(todoId);
+
+	// Complete the to-do.
+	AgendaEntry fetchedTodoEntry = mAgendaUtil->fetchById(todoId);
+	QDateTime completedTime(QDate(2011, 07, 01),QTime(0, 0, 0, 0));
+	mAgendaUtil->setCompleted(fetchedTodoEntry, true, completedTime);
+
+	// Compare the completed time.
+	AgendaEntry completedTodo = mAgendaUtil->fetchById(todoId);
+	QCOMPARE(completedTime,completedTodo.completedDateTime());
+}
+
+/*!
+	test making To-do as uncompleted
+ */
+void TestAgendaUtil::unCompletedTodo()
+{
+	// Create and Save a To-do event.
+	AgendaEntry todoEntry(AgendaEntry::TypeTodo);
+	todoEntry.setSummary(QString("Test making To-do event as Completed"));
+	QDateTime dueDate(QDate(2011, 06, 01), QTime(0, 0, 0, 0));
+	todoEntry.setStartAndEndTime(dueDate, dueDate);
+
+	ulong todoId = mAgendaUtil->addEntry(todoEntry);
+	QVERIFY(todoId);
+
+	// Complete the to-do.
+	AgendaEntry fetchedTodoEntry = mAgendaUtil->fetchById(todoId);
+	QDateTime completedTime(QDate(2011, 07, 01),QTime(0, 0, 0, 0));
+	mAgendaUtil->setCompleted(fetchedTodoEntry, true, completedTime);
+
+	// Compare the completed time.
+	AgendaEntry unCompletedTodo = mAgendaUtil->fetchById(todoId);
+	// make to-do as uncompleted.
+	mAgendaUtil->setCompleted(fetchedTodoEntry, false, completedTime);
+
+	QCOMPARE(completedTime, unCompletedTodo.completedDateTime());
+}
+
+int main(int argc, char *argv[])
+{
+	QApplication app(argc, argv);
+	TestAgendaUtil tc;
+
+	char *pass[3];
+	pass[0] = argv[0];
+	pass[1] = "-o";
+	pass[2] = "c:\\data\\TestAgendaUtil.txt";
+
+	int res = QTest::qExec(&tc, 3, pass);
+	return res;
+}
+
 #include "unittest_agendautil.moc"
 
 // End of file	--Don't remove this.
--- a/organizer_plat/agenda_interface_api/tsrc/unittest_agendautil/unittest_agendautil.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/organizer_plat/agenda_interface_api/tsrc/unittest_agendautil/unittest_agendautil.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -21,14 +21,19 @@
 DEPENDPATH += . \
 			  ./src
 INCLUDEPATH += .
-INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+
 
 symbian: {
 	TARGET.CAPABILITY = ALL -TCB
 	TARGET.EPOCALLOWDLLDATA = 1
+	INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
 	
 	LIBS += -lagendainterface
-}
+	
+	BLD_INF_RULES.prj_testexports += \
+	"../rom/unit_agendainterface.iby		CORE_APP_LAYER_IBY_EXPORT_PATH(unit_agendainterface.iby)"
+	}
+
 
 SOURCES += unittest_agendautil.cpp
 
--- a/organizer_plat/agenda_versit_2_api/tsrc/group/testagnversit2.mmp	Tue Jun 15 15:22:54 2010 +0100
+++ b/organizer_plat/agenda_versit_2_api/tsrc/group/testagnversit2.mmp	Thu Jul 22 16:32:51 2010 +0100
@@ -37,10 +37,13 @@
 APP_LAYER_SYSTEMINCLUDE
 SYSTEMINCLUDE       ../../../../inc
 SYSTEMINCLUDE       ../../../../calendarui/inc
-SYSTEMINCLUDE	      ../../../../calendarengines/inc
-SYSTEMINCLUDE       /epoc32/include/Digia/EUnit
+SYSTEMINCLUDE	    ../../../../calendarengines/inc
+SYSTEMINCLUDE       /epoc32/include/platform/Digia/EUnit
 SYSTEMINCLUDE       /epoc32/include/ecom
 SYSTEMINCLUDE       /epoc32/include/test
+SYSTEMINCLUDE		/epoc32/include/mw/Qt
+SYSTEMINCLUDE		/epoc32/include/stdapis
+SYSTEMINCLUDE		/epoc32/include/stdapis/sys
 
 LIBRARY             agnmodel.lib
 LIBRARY             CalInterimApi.lib
@@ -54,9 +57,9 @@
 LIBRARY             CalenGlobalData.lib
 LIBRARY             eikcore.lib
 LIBRARY             cone.lib 
-LIBRARY 			      bafl.lib 
-LIBRARY 						tzclient.lib
-LIBRARY							timezonelocalization.lib
-LIBRARY 						swinstcli.lib
+LIBRARY 			bafl.lib 
+LIBRARY 			tzclient.lib
+LIBRARY				timezonelocalization.lib
+LIBRARY 			swinstcli.lib
 
 // End of file
--- a/organizer_plat/agenda_versit_2_api/tsrc/src/testagnversit2.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/organizer_plat/agenda_versit_2_api/tsrc/src/testagnversit2.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -861,15 +861,14 @@
         }
 
     // 13. Clean DB totally. This is a MUST for the next test
-    TBool databaseHasEntries;    
+    TBool databaseHasEntries(EFalse);    
     TRAP(err, databaseHasEntries = CleanDatabaseL() );
-   /* if(err) || databaseHasEntries)
+    if(err || databaseHasEntries)
         {
         EUNIT_PRINT(_L( "13. Clean DB totally fails" ) );
         EUNIT_ASSERT( EFalse );
         }
-    */
-    
+        
     
     // test passed..            
     }
--- a/organizer_plat/calendar_editor_api/tsrc/unittest_caleneditor/src/unittest_caleneditor.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/organizer_plat/calendar_editor_api/tsrc/unittest_caleneditor/src/unittest_caleneditor.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -2,7 +2,7 @@
  * 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"
+ * under the terms of the License "Eclipse Public License v1.0"
  * which accompanies this distribution, and is available
  * at the URL "http://www.eclipse.org/legal/epl-v10.html".
  *
--- a/organizer_plat/calendar_editor_api/tsrc/unittest_caleneditor/unittest_caleneditor.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/organizer_plat/calendar_editor_api/tsrc/unittest_caleneditor/unittest_caleneditor.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -2,7 +2,7 @@
 # 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"
+# under the terms of the License "Eclipse Public License v1.0"
 # which accompanies this distribution, and is available
 # at the URL "http://www.eclipse.org/legal/epl-v10.html".
 #
@@ -20,6 +20,7 @@
 TARGET = ut_caleneditor
 CONFIG += qtestlib \
 			hb
+CONFIG += symbian_test
 DEPENDPATH += . \
 				./src/ \
 				../../../../calendarui/caleneditor/inc \
@@ -46,7 +47,10 @@
     TARGET.EPOCHEAPSIZE = 0x200000 0x4000000
     TARGET.CAPABILITY = CAP_GENERAL_DLL
 	
-	INCLUDEPATH +=  $$APP_LAYER_SYSTEMINCLUDE
+		INCLUDEPATH +=  $$APP_LAYER_SYSTEMINCLUDE
+	
+		BLD_INF_RULES.prj_testexports += \
+	"../rom/unit_caleneditor.iby		CORE_APP_LAYER_IBY_EXPORT_PATH(unit_caleneditor.iby)"
 }
 
 SOURCES +=  unittest_caleneditor.cpp \
--- a/organizer_plat/calendar_importer_api/tsrc/src/calenimportertestblocks.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/organizer_plat/calendar_importer_api/tsrc/src/calenimportertestblocks.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -64,7 +64,7 @@
 {
 	int error = iFs.Connect();
         
-	TRAPD(error, iCalSession = CCalSession::NewL(););
+	iCalSession = CCalSession::NewL();
     iCalSession->OpenL( iCalSession->DefaultFileNameL()  );
     
     iCalenImporter = CCalenImporter::NewL( *iCalSession );
--- a/organizer_plat/calendar_launcher_api/tsrc/tsrc.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/organizer_plat/calendar_launcher_api/tsrc/tsrc.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -19,9 +19,4 @@
 SUBDIRS += unittest_calenlauncher
 CONFIG += ordered
 
-symbian: {
-	BLD_INF_RULES.prj_exports += \
-	"./rom/unit_calenlauncher.iby		CORE_APP_LAYER_IBY_EXPORT_PATH(unit_calenlauncher.iby)"
-}
-
 # End of file	--Don't remove this
--- a/organizer_plat/calendar_launcher_api/tsrc/unittest_calenlauncher/src/unittest_calenlauncher.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/organizer_plat/calendar_launcher_api/tsrc/unittest_calenlauncher/src/unittest_calenlauncher.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -83,7 +83,8 @@
 	This slot is called on failure of calendar launch.
  */
 void TestCalenLauncher::launcherFailed(int error)
-{
+{	
+	Q_UNUSED(error)
 	// Indicate launching failed.
 	QVERIFY(true == false);
 }
--- a/organizer_plat/calendar_launcher_api/tsrc/unittest_calenlauncher/unittest_calenlauncher.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/organizer_plat/calendar_launcher_api/tsrc/unittest_calenlauncher/unittest_calenlauncher.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -24,13 +24,17 @@
 			  ../../../../calendarui/calenlauncher/src \
 			  ../../../../calendarui/calenlauncher/inc
 INCLUDEPATH += .
-INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+
 
 symbian: {
 	TARGET.CAPABILITY = ALL -TCB
 	TARGET.EPOCALLOWDLLDATA = 1
+	INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE	
 	
 	LIBS += -lcalenlauncher
+	
+	BLD_INF_RULES.prj_testexports += \
+	"../rom/unit_calenlauncher.iby		CORE_APP_LAYER_IBY_EXPORT_PATH(unit_calenlauncher.iby)"
 }
 
 SOURCES += unittest_calenlauncher.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/organizer_plat/calendar_settings_keys_api/calendar_settings_keys_api.pri	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,16 @@
+# 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: Project specification file for clock_settings_keys_api
+#
+
+PUBLIC_HEADERS += calendar_settings_keys_api/inc/calendardomaincrkeys.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/organizer_plat/calendar_settings_keys_api/inc/calendardomaincrkeys.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,39 @@
+/*
+* 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 CALENDARDOMAINCRKEYS_H
+#define CALENDARDOMAINCRKEYS_H
+
+/** Calendar UI Settings keys*/
+/** Provides access to the Calendar application's settings keys */
+const long int KCRUidCalendar =  { 0x101F874B };
+
+/**
+* Defines the time between alarm snoozes, in minutes.
+* Default value: 5
+**/
+const long int KCalendarSnoozeTime = 0x00000001;
+
+/**
+* Default Calendar alarm sound file.
+* Default value : "z:\data\sounds\digital\alarm.aac"
+**/
+const long int KCalendarDefaultSoundFile = 0x00000003;
+
+#endif  	// CALENDARDOMAINCRKEYS_H
+
+// End of file	--Don't remove this.
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/organizer_plat/clock_settings_keys_api/clock_settings_keys_api.pri	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,16 @@
+# 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: Project specification file for clock_settings_keys_api
+#
+
+PUBLIC_HEADERS += clock_settings_keys_api/inc/clockdomaincrkeys.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/organizer_plat/clock_settings_keys_api/inc/clockdomaincrkeys.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,31 @@
+/*
+* 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/organizer_plat/clock_settingsview_plugin_api/clock_settingsview_plugin_api.pri	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,17 @@
+# Copyright (c) 2005-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: Project specification file for clock_settingsview_plugin_api
+#
+
+PUBLIC_HEADERS += clock_settingsview_plugin_api/inc/clocksettingsviewinterface.h
+PUBLIC_HEADERS += clock_settingsview_plugin_api/inc/ClockSettingsViewInterface
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/organizer_plat/clock_settingsview_plugin_api/inc/ClockSettingsViewInterface	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,1 @@
+#include <clocksettingsviewinterface.h>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/organizer_plat/clock_settingsview_plugin_api/inc/clocksettingsviewinterface.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,56 @@
+/*
+* 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: Header file for clock settings view Interface
+*
+*/
+
+#ifndef CLOCKSETTINGSVIEWINTERFACE_H
+#define CLOCKSETTINGSVIEWINTERFACE_H
+
+// System includes
+#include <qglobal.h>
+
+/*!
+	\class ClockSettingsViewInterface
+
+	\brief The class ClockSettingsViewInterface is an interface for the plugin to show clock settings view
+ */
+
+
+#define CLOCK_SETTINGSVIEW_PLUGIN_PATH QString("z:/resource/qt/plugins/clock")
+#define CLOCK_SETTINGSVIEW_PLUGIN_NAME QString("clocksettingsviewplugin.qtplugin")
+
+class ClockSettingsViewInterface
+{
+	
+public:
+
+	/*!
+	Destructor
+	*/
+	virtual ~ClockSettingsViewInterface() {}
+	
+	/*!
+	To launch the Clock Regional Settings View
+	*/
+	virtual void launchRegionalSettingsView() = 0;
+
+};
+
+Q_DECLARE_INTERFACE(ClockSettingsViewInterface, 
+        "org.nokia.clock.ClockSettingsViewInterface/1.0")
+
+#endif // CLOCKSETTINGSVIEWINTERFACE_H
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/organizer_plat/clock_settingsview_plugin_api/tsrc/rom/unit_clocksettingsviewplugin.iby	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,29 @@
+/*
+* 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 iby file for clock settingsview plugin unit tests.
+*
+*/
+
+#ifndef UNIT_CLOCKSETTINGSVIEWPLUGIN_IBY
+#define UNIT_CLOCKSETTINGSVIEWPLUGIN_IBY
+
+S60_APP_EXE(utclocksettingsviewplugin)
+S60_APP_RESOURCE(utclocksettingsviewplugin)
+
+data=DATAZ_\private\10003a3f\import\apps\utclocksettingsviewplugin_reg.rsc		\private\10003a3f\import\apps\utclocksettingsviewplugin_reg.rsc
+
+#endif // UNIT_CLOCKSETTINGSVIEWPLUGIN_IBY
+
+// End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/organizer_plat/clock_settingsview_plugin_api/tsrc/unittest_clocksettingsviewplugin/inc/unittest_clocksettingsviewplugin.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,43 @@
+/*
+* 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: Declaration of the class TestClockSettingsViewPlugin.
+*
+*/
+
+#ifndef UNITTEST_CLOCKSETTINGSVIEWPLUGIN_H
+#define UNITTEST_CLOCKSETTINGSVIEWPLUGIN_H
+
+// System includes
+#include <QObject>
+
+class TestClockSettingsViewPlugin : public QObject
+{
+	Q_OBJECT
+
+public:
+	TestClockSettingsViewPlugin();
+	virtual ~TestClockSettingsViewPlugin();
+
+private slots:
+	// Test case setup.
+	void init();
+	void cleanup();
+
+	// Test cases go here.
+	void testPluginLoadUnLoad();
+};
+
+#endif // UNITTEST_CLOCKSETTINGSVIEWPLUGIN_H
+
+// End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/organizer_plat/clock_settingsview_plugin_api/tsrc/unittest_clocksettingsviewplugin/src/main.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,44 @@
+/*
+* 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:
+*
+*/
+
+// System includes
+#include <QTest>
+#include <HbApplication>
+
+// User includes
+#include "unittest_clocksettingsviewplugin.h"
+
+int main(int argc, char *argv[])
+{
+	HbApplication app(argc, argv);
+	TestClockSettingsViewPlugin tc;
+	
+	char *inParam[3];
+	inParam[0] = argv[0];
+	inParam[1] = "-o";
+	inParam[2] = "c:\\data\\TestClockSettingsViewPlugin.txt";
+	
+	int ret = QTest::qExec(&tc, 3, inParam);
+	// Core dump if HbIconLoader instance is not destroyed before the
+	// application instance. HbIconLoader uses QCoreApplication::aboutToQuit()
+	// signal to destroy itself. app.exec() where the signal is normally emitted
+	// is not called here. So, invoking the signal explicitly.
+	QMetaObject::invokeMethod(&app, "aboutToQuit", Qt::DirectConnection);
+	return ret;
+}
+
+// End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/organizer_plat/clock_settingsview_plugin_api/tsrc/unittest_clocksettingsviewplugin/src/unittest_clocksettingsviewplugin.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,89 @@
+/*
+* 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 TestClockSettingsViewPlugin.
+*
+*/
+
+// System include
+#include <QtTest/QtTest>
+#include <ClockSettingsViewInterface>
+
+// User includes
+#include "unittest_clocksettingsviewplugin.h"
+
+
+/*!
+	\class TestClockSettingsViewPlugin
+
+	Unit test class for Clock settings view Plugin apis
+ */
+
+
+/*!
+	Constructor
+ */
+
+TestClockSettingsViewPlugin::TestClockSettingsViewPlugin()
+{
+}
+
+/*!
+	Destructor
+ */
+TestClockSettingsViewPlugin::~TestClockSettingsViewPlugin()
+{
+}
+
+/*!
+	Initialise before calling the test case
+ */
+void TestClockSettingsViewPlugin::init()
+{
+}
+
+/*!
+	Do cleanup after each test case
+ */
+void TestClockSettingsViewPlugin::cleanup()
+{
+}
+
+/*!
+	Test the api of clock setting plugin
+ */
+
+void TestClockSettingsViewPlugin::testPluginLoadUnLoad()
+{
+	QDir dir(CLOCK_SETTINGSVIEW_PLUGIN_PATH);
+	QString pluginName = dir.absoluteFilePath(CLOCK_SETTINGSVIEW_PLUGIN_NAME);
+	
+	// Create Clock setting view object
+	QPluginLoader *pluginLoader = new QPluginLoader(pluginName);
+	
+	// Load the plugin
+	QVERIFY(pluginLoader->load());
+
+	QObject *plugin = qobject_cast<QObject*> (pluginLoader->instance());
+
+	ClockSettingsViewInterface* interface =
+			qobject_cast<ClockSettingsViewInterface*>(plugin);
+
+	QVERIFY(interface);
+
+	// Unload the plugin
+	QVERIFY(pluginLoader->unload());
+	delete pluginLoader;
+}
+
+// End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/organizer_plat/clock_settingsview_plugin_api/tsrc/unittest_clocksettingsviewplugin/unittest_clocksettingsviewplugin.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,52 @@
+#
+# 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: 
+# Project specification file for clocksettings view plugin unit test.
+#
+
+TEMPLATE = app
+TARGET = utclocksettingsviewplugin
+CONFIG += \
+		qtestlib \
+		symbian_test \
+		hb
+
+DEPENDPATH += \
+		. \
+		./inc \
+		./src
+
+INCLUDEPATH += .
+
+
+symbian: {
+	TARGET.CAPABILITY = ALL -TCB
+	TARGET.EPOCALLOWDLLDATA = 1
+	TARGET.UID3 = 0x2003157D
+	INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE	
+	
+	BLD_INF_RULES.prj_testexports += \
+	"../rom/unit_clocksettingsviewplugin.iby		CORE_APP_LAYER_IBY_EXPORT_PATH(unit_clocksettingsviewplugin.iby)"
+}
+
+
+
+SOURCES += \
+		unittest_clocksettingsviewplugin.cpp \
+		main.cpp
+
+HEADERS += \
+		unittest_clocksettingsviewplugin.h
+
+# End of file	--Don't remove this.
--- a/organizer_plat/notes_editor_api/inc/NotesEditor	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-#include <noteseditor.h>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/organizer_plat/notes_editor_api/inc/NotesEditorInterface	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,1 @@
+#include <noteseditorinterface.h>
\ No newline at end of file
--- a/organizer_plat/notes_editor_api/inc/noteseditor.h	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +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:
-* The header file for NotesEditor class.
-*
-*/
-
-#ifndef NOTESEDITOR_H
-#define NOTESEDITOR_H
-
-// System includes
-#include <QObject>
-#include <qglobal.h>
-
-// Forward declarations
-class QFile;
-class QString;
-class AgendaUtil;
-class AgendaEntry;
-class NotesEditorPrivate;
-
-#ifdef NOTESEDITOR_LIB
-#	define NOTESEDITOR_EXPORT Q_DECL_EXPORT
-#else
-#	define NOTESEDITOR_EXPORT Q_DECL_IMPORT
-#endif
-
-class NOTESEDITOR_EXPORT NotesEditor : public QObject
-{
-	Q_OBJECT
-
-public:
-	enum CreateType{
-		CreateNote = 0,
-		CreateTodo,
-		CreateTypeUnKnown = -1
-	};
-	enum CloseType{
-		CloseWithSave = 0,
-		CloseWithoutSave,
-		CloseTypeUnKnown = -1
-	};
-
-	explicit NotesEditor(QObject *parent = 0);
-	explicit NotesEditor(AgendaUtil *agendaUtil, QObject *parent = 0);
-	virtual ~NotesEditor();
-
-public:
-	void edit(const QString &string);
-	void edit(const QFile &handle);
-	void edit(AgendaEntry entry);
-	void edit(ulong id);
-	void create(CreateType type);
-	ulong close(CloseType type);
-
-signals:
-	void editingCompleted(bool status = true);
-
-private:
-	NotesEditorPrivate *d_ptr;
-	Q_DECLARE_PRIVATE_D(d_ptr, NotesEditor)
-	Q_DISABLE_COPY(NotesEditor)
-};
-
-#endif // NOTESEDITOR_H
-
-// End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/organizer_plat/notes_editor_api/inc/noteseditorinterface.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,71 @@
+/*
+* 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 header file for Notes Editor Plugin Interface.
+*
+*/
+
+#ifndef NOTESEDITORINTERFACE_H
+#define NOTESEDITORINTERFACE_H
+
+// System includes
+#include <QObject>
+#include <QtPlugin>
+#include <qglobal.h>
+
+// Forward declarations
+class QFile;
+class QString;
+class AgendaUtil;
+class AgendaEntry;
+
+#define NOTES_EDITOR_PLUGIN_PATH QString("z:/resource/qt/plugins/notes")
+#define NOTES_EDITOR_PLUGIN_NAME QString("noteseditorplugin.qtplugin")
+
+class NotesEditorInterface : public QObject
+{
+	Q_OBJECT
+
+public:
+	enum CreateType{
+		CreateNote = 0,
+		CreateTodo,
+		CreateTypeUnKnown = -1
+	};
+	enum CloseType{
+		CloseWithSave = 0,
+		CloseWithoutSave,
+		CloseTypeUnKnown = -1
+	};
+
+	virtual ~NotesEditorInterface(){}
+
+public:
+	virtual void edit(const QString &string, AgendaUtil *agendaUtil=0) = 0;
+	virtual void edit(const QFile &handle, AgendaUtil *agendaUtil=0) = 0;
+	virtual void edit(AgendaEntry entry, AgendaUtil *agendaUtil=0) = 0;
+	virtual void edit(ulong id, AgendaUtil *agendaUtil=0) = 0;
+	virtual void create(CreateType type, AgendaUtil *agendaUtil=0) = 0;
+	virtual ulong close(CloseType type, AgendaUtil *agendaUtil=0) = 0;
+
+signals:
+	void editingCompleted(bool status = true);
+};
+
+Q_DECLARE_INTERFACE(NotesEditorInterface,
+						"org.nokia.notes.NotesEditorInterface/1.0")
+
+#endif // NOTESEDITORINTERFACE_H
+
+// End of file	--Don't remove this.
--- a/organizer_plat/notes_editor_api/notes_editor_api.pri	Tue Jun 15 15:22:54 2010 +0100
+++ b/organizer_plat/notes_editor_api/notes_editor_api.pri	Thu Jul 22 16:32:51 2010 +0100
@@ -13,5 +13,5 @@
 # Description: Project specification file for notes_editor_api
 #
 
-PUBLIC_HEADERS += notes_editor_api/inc/noteseditor.h
-PUBLIC_HEADERS += notes_editor_api/inc/NotesEditor
\ No newline at end of file
+PUBLIC_HEADERS += notes_editor_api/inc/noteseditorinterface.h
+PUBLIC_HEADERS += notes_editor_api/inc/NotesEditorInterface
\ No newline at end of file
--- a/organizer_plat/notes_editor_api/tsrc/rom/unit_noteseditor.iby	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +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:
-* The iby file for noteseditor unit tests.
-*
-*/
-
-#ifndef UNIT_NOTESEDITOR_IBY
-#define UNIT_NOTESEDITOR_IBY
-
-S60_APP_EXE(utnoteseditor)
-S60_APP_RESOURCE(utnoteseditor)
-
-data=DATAZ_\private\10003a3f\import\apps\utnoteseditor_reg.rsc		\private\10003a3f\import\apps\utnoteseditor_reg.rsc
-
-#endif // UNIT_NOTESEDITOR_IBY
-
-// End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/organizer_plat/notes_editor_api/tsrc/rom/unit_noteseditorplugin.iby	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,29 @@
+/*
+* 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 iby file for noteseditor plugin unit tests.
+*
+*/
+
+#ifndef UNIT_NOTESEDITORPLUGIN_IBY
+#define UNIT_NOTESEDITORPLUGIN_IBY
+
+S60_APP_EXE(utnoteseditorplugin)
+S60_APP_RESOURCE(utnoteseditorplugin)
+
+data=DATAZ_\private\10003a3f\import\apps\utnoteseditorplugin_reg.rsc		\private\10003a3f\import\apps\utnoteseditorplugin_reg.rsc
+
+#endif // UNIT_NOTESEDITORPLUGIN_IBY
+
+// End of file	--Don't remove this.
--- a/organizer_plat/notes_editor_api/tsrc/unittest_noteseditor/inc/unittest_noteseditor.h	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +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:
-*
-*/
-
-#ifndef UNITTEST_NOTESEDITOR_H
-#define UNITTEST_NOTESEDITOR_H
-
-// System includes
-#include <QObject>
-
-// Forward declarations.
-class NotesEditor;
-
-class TestNotesEditor : public QObject
-{
-	Q_OBJECT
-
-public:
-	TestNotesEditor();
-	virtual ~TestNotesEditor();
-
-private slots:
-	// Test case setup.
-	void init();
-	void cleanup();
-
-	// Test cases go here.
-	void testConstructionWithoutAgendaUtil();
-	void testConstructionWithAgendaUtil();
-	void testDestruction();
-	void testEditingNoteWithText();
-	void testEditingNoteWithFileHandle();
-	void testEditingNoteWithAgendaEntry();
-	void testEditingNoteWithId();
-	void testEditingTodoWithFileHandle();
-	void testEditingTodoWithAgendaEntry();
-	void testEditingTodoWithId();
-	void testCreationOfNote();
-	void testCreationofTodo();
-	void testClosingOfNotesEditorWithSave();
-	void testClosingOfNotesEditorWithoutSave();
-	void testClosingOfTodoEditorWithSave();
-	void testClosingOfTodoEditorWithoutSave();
-
-private:
-	NotesEditor *mEditor;
-};
-
-#endif // UNITTEST_NOTESEDITOR_H
-
-// End of file	--Don't remove this.
--- a/organizer_plat/notes_editor_api/tsrc/unittest_noteseditor/src/main.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +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:
-*
-*/
-
-// System includes
-#include <QTest>
-#include <HbApplication>
-
-// User includes
-#include "unittest_noteseditor.h"
-
-int main(int argc, char *argv[])
-{
-	HbApplication app(argc, argv);
-	TestNotesEditor tc;
-	int ret = QTest::qExec(&tc, argc, argv);
-	// Core dump if HbIconLoader instance is not destroyed before the 
-	// application instance. HbIconLoader uses QCoreApplication::aboutToQuit() 
-	// signal to destroy itself. app.exec() where the signal is normally emitted
-	// is not called here. So, invoking the signal explicitly.
-	QMetaObject::invokeMethod(&app, "aboutToQuit", Qt::DirectConnection);
-	return ret;
-}
-
-// End of file	--Don't remove this.
--- a/organizer_plat/notes_editor_api/tsrc/unittest_noteseditor/src/unittest_noteseditor.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,511 +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:
-*
-*/
-
-// System include
-#include <QtTest/QtTest>
-#include <HbMainWindow>
-#include <NotesEditor>
-#include <AgendaUtil>
-#include <AgendaEntry>
-
-// User includes
-#include "unittest_noteseditor.h"
-
-
-/*!
-	\class TestNotesEditor
-
-	Unit test clas for Notes Editor apis
- */
-
-
-/*!
-	Constructor
- */
-
-TestNotesEditor::TestNotesEditor()
-{
-
-}
-
-/*!
-	Destructor
- */
-TestNotesEditor::~TestNotesEditor()
-{
-}
-
-/*!
-	Initialise before calling the test case
- */
-void TestNotesEditor::init()
-{
-}
-
-/*!
-	Do cleanup after each test case
- */
-void TestNotesEditor::cleanup()
-{
-}
-
-/*!
-	Test the api NotesEditor::NotesEditor()
- */
-
-void TestNotesEditor::testConstructionWithoutAgendaUtil()
-{
-	// Create NotesEditor object
-	NotesEditor *notesEditor = new NotesEditor(this);
-	QVERIFY(notesEditor!=0);
-
-	// Cleanup
-	delete notesEditor;
-}
-
-/*!
-	Test the api NotesEditor::NotesEditor()
- */
-void TestNotesEditor::testConstructionWithAgendaUtil()
-{
-	// Create AgendaUtil object.
-	AgendaUtil *agendaUtil = new AgendaUtil();
-	QVERIFY(agendaUtil);
-
-	// Create NotesEditor object.
-	NotesEditor *notesEditor = new NotesEditor(agendaUtil);
-
-	QVERIFY(notesEditor!=0);
-
-	// Cleanup.
-	delete notesEditor;
-	delete agendaUtil;
-}
-
-/*!
-	Test the api NotesEditor::~NotesEditor
- */
-void TestNotesEditor::testDestruction()
-{
-	// Create NotesEditor object.
-	QPointer<NotesEditor> notesEditor = new NotesEditor();
-	delete notesEditor;
-
-	QVERIFY(!notesEditor);
-
-	// Create AgendaUtil object.
-	QPointer<AgendaUtil> agendaUtil = new AgendaUtil();
-	QPointer<NotesEditor> notesEditorWithAgendaUtil =
-			new NotesEditor(agendaUtil);
-
-	delete notesEditorWithAgendaUtil;
-	delete agendaUtil;
-
-	QVERIFY(!notesEditorWithAgendaUtil);
-}
-
-/*!
-	Test the api NotesEditor::edit(const QString &string)
- */
-void TestNotesEditor::testEditingNoteWithText()
-{
-	HbMainWindow window;
-	window.show();
-	// Create NotesEditor object.
-	NotesEditor *notesEditor = new NotesEditor(this);
-	QVERIFY(notesEditor);
-
-	QString noteText("This is test note");
-	// Call edit using the text.
-	notesEditor->edit(QString("This is test note"));
-
-	QTest::qWait(1000);
-
-	// Call close on editor by saving the note
-	ulong id = notesEditor->close(NotesEditor::CloseWithSave);
-	QVERIFY(id);
-
-	// Create agenda Utility.
-	AgendaUtil *agendaUtil = new AgendaUtil();
-	QVERIFY(agendaUtil);
-
-	// Fetch the entry using the id
-	AgendaEntry entry = agendaUtil->fetchById(id);
-
-	int compareResult = noteText.compare(entry.description());
-	QVERIFY(!compareResult);
-
-	delete agendaUtil;
-	delete notesEditor;
-}
-
-/*!
-	Test the api NotesEditor::edit(const QFile &handle)
- */
-void TestNotesEditor::testEditingNoteWithFileHandle()
-{
-	// Nothing yet
-}
-
-/*!
-	Test the api NotesEditor::edit(AgendaEntry entry)
- */
-void TestNotesEditor::testEditingNoteWithAgendaEntry()
-{
-	HbMainWindow window;
-	window.show();
-
-	NotesEditor *notesEditor = new NotesEditor();
-	QVERIFY(notesEditor);
-
-	AgendaEntry entry;
-	entry.setType(AgendaEntry::TypeNote);
-	entry.setDescription(QString("A simple note"));
-
-	// Call edit on agenda entry
-	notesEditor->edit(entry);
-
-	QTest::qWait(1000);
-
-	ulong id = notesEditor->close(NotesEditor::CloseWithSave);
-
-	AgendaUtil *agendaUtil = new AgendaUtil();
-	QVERIFY(agendaUtil);
-
-	AgendaEntry afterSave = agendaUtil->fetchById(id);
-	QCOMPARE(afterSave.description(), entry.description());
-
-	delete agendaUtil;
-	delete notesEditor;
-}
-
-/*!
-	Test the api NotesEditor::edit(ulong id)
- */
-void TestNotesEditor::testEditingNoteWithId()
-{
-	HbMainWindow window;
-	window.show();
-
-	NotesEditor *notesEditor = new NotesEditor();
-	QVERIFY(notesEditor);
-
-	AgendaUtil *agendaUtil = new AgendaUtil();
-	QVERIFY(agendaUtil);
-
-	AgendaEntry entry;
-	entry.setType(AgendaEntry::TypeNote);
-	entry.setDescription("A simple note");
-
-	ulong id = agendaUtil->addEntry(entry);
-
-	notesEditor->edit(id);
-
-	QTest::qWait(1000);
-
-	ulong savedId = notesEditor->close(NotesEditor::CloseWithSave);
-
-	AgendaEntry afterSave = agendaUtil->fetchById(id);
-	QCOMPARE(afterSave.description(), entry.description());
-
-	delete agendaUtil;
-	delete notesEditor;
-
-}
-
-
-/*!
-	Test the api NotesEditor::edit(const QFile &handle)
- */
-void TestNotesEditor::testEditingTodoWithFileHandle()
-{
-	// Nothing yet.
-}
-
-/*!
-	Test the api NotesEditor::edit(AgendaEntry entry)
- */
-void TestNotesEditor::testEditingTodoWithAgendaEntry()
-{
-	HbMainWindow window;
-	window.show();
-
-	NotesEditor *notesEditor = new NotesEditor();
-	QVERIFY(notesEditor);
-
-	AgendaUtil *agendaUtil = new AgendaUtil();
-	QVERIFY(agendaUtil);
-
-	// Create a agenda entry with type to-do
-	AgendaEntry entry;
-	entry.setType(AgendaEntry::TypeTodo);
-	entry.setSummary(QString("Buy Books"));
-	entry.setDescription(QString("@Landmarks"));
-	entry.setStartAndEndTime(
-			QDateTime::currentDateTime(),QDateTime::currentDateTime());
-	entry.setStatus(AgendaEntry::TodoNeedsAction);
-	entry.setPriority(2);
-	
-	ulong id = agendaUtil->addEntry(entry);
-
-	// Call edit on agenda entry
-	notesEditor->edit(entry);
-
-	QTest::qWait(3000);
-
-	ulong afterSaveId = notesEditor->close(NotesEditor::CloseWithSave);
-
-	AgendaEntry afterSave = agendaUtil->fetchById(id);
-	QCOMPARE(afterSave.id(),id);
-	QCOMPARE(afterSave.type(),entry.type());
-	QCOMPARE(afterSave.summary(), entry.summary());
-	QCOMPARE(afterSave.description(), entry.description());
-
-	delete agendaUtil;
-	delete notesEditor;
-}
-
-/*!
-	Test the api NotesEditor::edit(ulong id)
- */
-void TestNotesEditor::testEditingTodoWithId()
-{
-	HbMainWindow window;
-	window.show();
-
-	NotesEditor *notesEditor = new NotesEditor();
-	QVERIFY(notesEditor);
-
-	AgendaUtil *agendaUtil = new AgendaUtil();
-	QVERIFY(agendaUtil);
-
-	// Create a agenda entry with type to-do
-	AgendaEntry entry;
-	entry.setType(AgendaEntry::TypeTodo);
-	entry.setSummary(QString("Buy Books"));
-	entry.setDescription(QString("@Landmarks"));
-	entry.setStartAndEndTime(
-			QDateTime::currentDateTime(),QDateTime::currentDateTime());
-	entry.setStatus(AgendaEntry::TodoNeedsAction);
-	entry.setPriority(2);
-
-	ulong id = agendaUtil->addEntry(entry);
-
-	// Call edit using the id
-	notesEditor->edit(id);
-
-	QTest::qWait(3000);
-
-	ulong afterSaveId = notesEditor->close(NotesEditor::CloseWithSave);
-
-	AgendaEntry afterSave = agendaUtil->fetchById(id);
-	QCOMPARE(afterSave.id(),id);
-	QCOMPARE(afterSave.type(),entry.type());
-	QCOMPARE(afterSave.summary(), entry.summary());
-	QCOMPARE(afterSave.description(), entry.description());
-
-	delete agendaUtil;
-	delete notesEditor;
-
-}
-
-/*!
-	Test the api NotesEditor::create(CreateType type)
- */
-void TestNotesEditor::testCreationOfNote()
-{
-	HbMainWindow window;
-	window.show();
-
-	NotesEditor *notesEditor = new NotesEditor();
-	QVERIFY(notesEditor);
-
-	notesEditor->create(NotesEditor::CreateNote);
-
-	QTest::qWait(3000);
-
-	ulong afterSaveId = notesEditor->close(NotesEditor::CloseWithSave);
-
-	// Note is not saved since description is empty
-	// TODO use key press events here
-
-	QVERIFY(!afterSaveId);
-
-	delete notesEditor;
-}
-
-/*!
-	Test the api NotesEditor::create(CreateType type)
- */
-void TestNotesEditor::testCreationofTodo()
-{
-	HbMainWindow window;
-	window.show();
-
-	NotesEditor *notesEditor = new NotesEditor();
-	QVERIFY(notesEditor);
-
-	notesEditor->create(NotesEditor::CreateTodo);
-
-	// TODO
-	// Needs key interaction to edit the fields in to-do editor.
-
-	QTest::qWait(3000);
-
-	delete notesEditor;
-}
-
-/*!
-	Test the api NotesEditor::close(CloseType type);
- */
-
-void TestNotesEditor::testClosingOfNotesEditorWithSave()
-{
-	HbMainWindow window;
-	window.show();
-	// Create NotesEditor object.
-	NotesEditor *notesEditor = new NotesEditor(this);
-	QVERIFY(notesEditor);
-
-	QString noteText("This is test note");
-	// Call edit using the text.
-	notesEditor->edit(QString("This is test note"));
-
-	QTest::qWait(1000);
-
-	// Call close on editor by saving the note
-	ulong id = notesEditor->close(NotesEditor::CloseWithSave);
-	QVERIFY(id);
-
-	// Create agenda Utility.
-	AgendaUtil *agendaUtil = new AgendaUtil();
-	QVERIFY(agendaUtil);
-
-	// Fetch the entry using the id
-	AgendaEntry entry = agendaUtil->fetchById(id);
-
-	QCOMPARE(noteText,entry.description());
-
-	delete agendaUtil;
-	delete notesEditor;
-}
-
-/*!
-	Test the api NotesEditor::close(CloseType type);
- */
-void TestNotesEditor::testClosingOfNotesEditorWithoutSave()
-{
-	HbMainWindow window;
-	window.show();
-	// Create NotesEditor object.
-	NotesEditor *notesEditor = new NotesEditor(this);
-	QVERIFY(notesEditor);
-
-	QString noteText("This is test note");
-	// Call edit using the text.
-	notesEditor->edit(QString("This is test note"));
-
-	QTest::qWait(1000);
-
-	// Call close on editor by saving the note
-	ulong id = notesEditor->close(NotesEditor::CloseWithoutSave);
-	QVERIFY(!id);
-
-	delete notesEditor;
-}
-
-/*!
-	Test the api NotesEditor::close(CloseType type);
- */
-void TestNotesEditor::testClosingOfTodoEditorWithSave()
-{
-	HbMainWindow window;
-	window.show();
-
-	NotesEditor *notesEditor = new NotesEditor();
-	QVERIFY(notesEditor);
-
-	AgendaUtil *agendaUtil = new AgendaUtil();
-	QVERIFY(agendaUtil);
-
-	// Create a agenda entry with type to-do
-	AgendaEntry entry;
-	entry.setType(AgendaEntry::TypeTodo);
-	entry.setSummary(QString("Buy Books"));
-	entry.setDescription(QString("@Landmarks"));
-	entry.setStartAndEndTime(
-			QDateTime::currentDateTime(),QDateTime::currentDateTime());
-	entry.setStatus(AgendaEntry::TodoNeedsAction);
-	entry.setPriority(2);
-	
-	ulong id = agendaUtil->addEntry(entry);
-
-	// Call edit on agenda entry
-	notesEditor->edit(entry);
-
-	QTest::qWait(3000);
-
-	ulong afterSaveId = notesEditor->close(NotesEditor::CloseWithSave);
-
-	AgendaEntry afterSave = agendaUtil->fetchById(id);
-	QCOMPARE(afterSave.id(),id);
-	QCOMPARE(afterSave.type(),entry.type());
-	QCOMPARE(afterSave.summary(), entry.summary());
-	QCOMPARE(afterSave.description(), entry.description());
-
-	delete agendaUtil;
-	delete notesEditor;
-}
-
-/*!
-	Test the api NotesEditor::close(CloseType type);
- */
-void TestNotesEditor::testClosingOfTodoEditorWithoutSave()
-{
-	HbMainWindow window;
-	window.show();
-
-	NotesEditor *notesEditor = new NotesEditor();
-	QVERIFY(notesEditor);
-
-	AgendaUtil *agendaUtil = new AgendaUtil();
-	QVERIFY(agendaUtil);
-
-	// Create a agenda entry with type to-do
-	AgendaEntry entry;
-	entry.setType(AgendaEntry::TypeTodo);
-	entry.setSummary(QString("Buy Books"));
-	entry.setDescription(QString("@Landmarks"));
-	entry.setStartAndEndTime(
-			QDateTime::currentDateTime(),QDateTime::currentDateTime());
-	entry.setStatus(AgendaEntry::TodoNeedsAction);
-	entry.setPriority(2);
-			
-	ulong id = agendaUtil->addEntry(entry);
-
-	// Call edit on agenda entry
-	notesEditor->edit(entry);
-
-	QTest::qWait(3000);
-
-	ulong afterSaveId = notesEditor->close(NotesEditor::CloseWithoutSave);
-	QVERIFY(!afterSaveId);
-
-	delete agendaUtil;
-	delete notesEditor;
-}
-// End of file	--Don't remove this.
--- a/organizer_plat/notes_editor_api/tsrc/unittest_noteseditor/unittest_noteseditor.pkg	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +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: Pkg file for the unitest_noteseditor component.
-;
-
-
-; Language
-&EN
-
-; SIS header: name, uid, version
-#{"utnoteseditor"}, (0xEc226a1e), 1, 0, 0
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-; Executable and default resource files
-"/epoc32/release/armv5/urel/utnoteseditor.exe"				- "!:\sys\bin\utnoteseditor.exe"
-"/epoc32/data/z/resource/apps/utnoteseditor.rsc"			- "!:\resource\apps\utnoteseditor.rsc"
-"/epoc32/data/z/private/10003a3f/import/apps/utnoteseditor_reg.rsc"	- "!:\private\10003a3f\import\apps\utnoteseditor_reg.rsc"
-
-; End of file	--Don't remove this.
--- a/organizer_plat/notes_editor_api/tsrc/unittest_noteseditor/unittest_noteseditor.pro	Tue Jun 15 15:22:54 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +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: 
-# Project specification file for noteseditor unit test.
-#
-
-TEMPLATE = app
-TARGET = utnoteseditor
-CONFIG += \
-		qtestlib \
-		symbian_test \
-		hb
-
-DEPENDPATH += \
-		. \
-		./src
-
-INCLUDEPATH += .
-INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
-
-symbian: {
-	TARGET.CAPABILITY = ALL -TCB
-	TARGET.EPOCALLOWDLLDATA = 1
-	
-	LIBS += \
-		-lnoteseditor \
-		-lagendainterface
-}
-
-SOURCES += \
-		unittest_noteseditor.cpp \
-		main.cpp
-
-HEADERS += \
-		./inc/unittest_noteseditor.h
-
-# End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/organizer_plat/notes_editor_api/tsrc/unittest_noteseditorplugin/inc/unittest_noteseditorplugin.h	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,58 @@
+/*
+* 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: Declaration of the class TestNotesEditorPlugin.
+*
+*/
+
+#ifndef UNITTEST_NOTESEDITORPLUGIN_H
+#define UNITTEST_NOTESEDITORPLUGIN_H
+
+// System includes
+#include <QObject>
+
+class TestNotesEditorPlugin : public QObject
+{
+	Q_OBJECT
+
+public:
+	TestNotesEditorPlugin();
+	virtual ~TestNotesEditorPlugin();
+
+private slots:
+	// Test case setup.
+	void init();
+	void cleanup();
+
+	// Test cases go here.
+	void testPluginLoadUnLoad();
+	void testEditingNoteWithText();
+	void testEditingNoteWithFileHandle();
+	void testEditingNoteWithAgendaEntry();
+	void testEditingNoteWithId();
+	void testEditingTodoWithFileHandle();
+	void testEditingTodoWithAgendaEntry();
+	void testEditingTodoWithId();
+	void testCreationOfNote();
+	void testCreationofTodo();
+	void testClosingOfNotesEditorWithSave();
+	void testClosingOfNotesEditorWithoutSave();
+	void testClosingOfTodoEditorWithSave();
+	void testClosingOfTodoEditorWithoutSave();
+	void testAgendaUtilEditingNoteWithText();
+	void testAgendaUtilEditingTodoWithId();
+};
+
+#endif // UNITTEST_NOTESEDITORPLUGIN_H
+
+// End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/organizer_plat/notes_editor_api/tsrc/unittest_noteseditorplugin/src/main.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,38 @@
+/*
+* 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:
+*
+*/
+
+// System includes
+#include <QTest>
+#include <HbApplication>
+
+// User includes
+#include "unittest_noteseditorplugin.h"
+
+int main(int argc, char *argv[])
+{
+	HbApplication app(argc, argv);
+	TestNotesEditorPlugin tc;
+	int ret = QTest::qExec(&tc, argc, argv);
+	// Core dump if HbIconLoader instance is not destroyed before the
+	// application instance. HbIconLoader uses QCoreApplication::aboutToQuit()
+	// signal to destroy itself. app.exec() where the signal is normally emitted
+	// is not called here. So, invoking the signal explicitly.
+	QMetaObject::invokeMethod(&app, "aboutToQuit", Qt::DirectConnection);
+	return ret;
+}
+
+// End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/organizer_plat/notes_editor_api/tsrc/unittest_noteseditorplugin/src/unittest_noteseditorplugin.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,782 @@
+/*
+* 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:
+*
+*/
+
+// System include
+#include <QtTest/QtTest>
+#include <HbMainWindow>
+#include <NotesEditorInterface>
+#include <AgendaUtil>
+#include <AgendaEntry>
+
+// User includes
+#include "unittest_noteseditorplugin.h"
+
+
+/*!
+	\class TestNotesEditorPlugin
+
+	Unit test clas for Notes Editor Plugin apis
+ */
+
+
+/*!
+	Constructor
+ */
+
+TestNotesEditorPlugin::TestNotesEditorPlugin()
+{
+}
+
+/*!
+	Destructor
+ */
+TestNotesEditorPlugin::~TestNotesEditorPlugin()
+{
+}
+
+/*!
+	Initialise before calling the test case
+ */
+void TestNotesEditorPlugin::init()
+{
+}
+
+/*!
+	Do cleanup after each test case
+ */
+void TestNotesEditorPlugin::cleanup()
+{
+}
+
+/*!
+	Test the api NotesEditor::NotesEditor()
+ */
+
+void TestNotesEditorPlugin::testPluginLoadUnLoad()
+{
+	QDir dir(NOTES_EDITOR_PLUGIN_PATH);
+	QString pluginName = dir.absoluteFilePath(NOTES_EDITOR_PLUGIN_NAME);
+
+	// Create NotesEditor object
+	QPluginLoader *pluginLoader = new QPluginLoader(pluginName);
+
+	// Load the plugin
+	QVERIFY(pluginLoader->load());
+
+	QObject *plugin = qobject_cast<QObject*> (pluginLoader->instance());
+
+	NotesEditorInterface* interface =
+			qobject_cast<NotesEditorInterface*>(plugin);
+
+	QVERIFY(interface);
+
+	// Unload the plugin
+	QVERIFY(pluginLoader->unload());
+	delete pluginLoader;
+}
+
+/*!
+	Test the api NotesEditorInterface::edit(const QString &string)
+ */
+void TestNotesEditorPlugin::testEditingNoteWithText()
+{
+	HbMainWindow window;
+	window.show();
+
+	QDir dir(NOTES_EDITOR_PLUGIN_PATH);
+	QString pluginName = dir.absoluteFilePath(NOTES_EDITOR_PLUGIN_NAME);
+
+	// Create plugin loader.
+	QPluginLoader *pluginLoader = new QPluginLoader(pluginName);
+
+	// Load the plugin.
+	QVERIFY(pluginLoader->load());
+
+	QObject *plugin = qobject_cast<QObject*> (pluginLoader->instance());
+	NotesEditorInterface* interface =
+			qobject_cast<NotesEditorInterface*>(plugin);
+
+	QString noteText("Test editing of Note by providing text(QString)");
+	// Call edit using the text.
+	interface->edit(noteText);
+
+	// Wait for Editor to launch.
+	QTest::qWait(2000);
+
+	// Call close on editor by saving the note
+	ulong id = interface->close(NotesEditorInterface::CloseWithSave);
+	QVERIFY(id);
+
+	// Create agenda Utility.
+	AgendaUtil *agendaUtil = new AgendaUtil();
+	// Wait for completion of instance view/entryview creation.
+	QTest::qWait(1);
+	QVERIFY(agendaUtil);
+
+	// Fetch the entry using the id.
+	AgendaEntry entry = agendaUtil->fetchById(id);
+
+	QString entryDescription = entry.description();
+	int compareResult = noteText.compare(entryDescription);
+
+	QVERIFY(!compareResult);
+
+	// cleanup
+	delete agendaUtil;
+
+	// Unload the plugin.
+	QVERIFY(pluginLoader->unload());
+	delete pluginLoader;
+}
+
+/*!
+	Test the api NotesEditor::edit(const QFile &handle)
+ */
+void TestNotesEditorPlugin::testEditingNoteWithFileHandle()
+{
+	// Nothing yet
+}
+
+/*!
+	Test the api NotesEditor::edit(AgendaEntry entry)
+ */
+void TestNotesEditorPlugin::testEditingNoteWithAgendaEntry()
+{
+	HbMainWindow window;
+	window.show();
+
+	QDir dir(NOTES_EDITOR_PLUGIN_PATH);
+	QString pluginName = dir.absoluteFilePath(NOTES_EDITOR_PLUGIN_NAME);
+
+	// Create plugin loader.
+	QPluginLoader *pluginLoader = new QPluginLoader(pluginName);
+
+	// Load the plugin.
+	QVERIFY(pluginLoader->load());
+
+	QObject *plugin = qobject_cast<QObject*> (pluginLoader->instance());
+	NotesEditorInterface* interface =
+			qobject_cast<NotesEditorInterface*>(plugin);
+
+	AgendaEntry entry;
+	entry.setType(AgendaEntry::TypeNote);
+	entry.setDescription(QString("Test Editing Note by providing Agenda Entry"));
+
+	// Call edit on agenda entry
+	interface->edit(entry);
+
+	// Wait for Editor to launch.
+	QTest::qWait(2000);
+
+	ulong id = interface->close(NotesEditorInterface::CloseWithSave);
+
+	AgendaUtil *agendaUtil = new AgendaUtil();
+	// Wait for completion of instance view/entryview creation.
+	QTest::qWait(1);
+	QVERIFY(agendaUtil);
+
+	// Compare the description after saving.
+	AgendaEntry afterSave = agendaUtil->fetchById(id);
+	QCOMPARE(afterSave.description(), entry.description());
+
+	// cleanup.
+	delete agendaUtil;
+
+	// Unload the plugin.
+	QVERIFY(pluginLoader->unload());
+	delete pluginLoader;
+}
+
+/*!
+	Test the api NotesEditor::edit(ulong id)
+ */
+void TestNotesEditorPlugin::testEditingNoteWithId()
+{
+	HbMainWindow window;
+	window.show();
+
+	QDir dir(NOTES_EDITOR_PLUGIN_PATH);
+	QString pluginName = dir.absoluteFilePath(NOTES_EDITOR_PLUGIN_NAME);
+
+	// Create plugin loader.
+	QPluginLoader *pluginLoader = new QPluginLoader(pluginName);
+
+	// Load the plugin.
+	QVERIFY(pluginLoader->load());
+
+	QObject *plugin = qobject_cast<QObject*> (pluginLoader->instance());
+	NotesEditorInterface* interface =
+			qobject_cast<NotesEditorInterface*>(plugin);
+
+	AgendaUtil *agendaUtil = new AgendaUtil();
+	// Wait for completion of instance view/entryview creation.
+	QTest::qWait(1);
+
+	QVERIFY(agendaUtil);
+
+	AgendaEntry entry;
+	entry.setType(AgendaEntry::TypeNote);
+	entry.setDescription(
+			QString("Test Editing of Note by providing entry local Id"));
+
+	ulong id = agendaUtil->addEntry(entry);
+
+	interface->edit(id);
+
+	// Wait for Editor to launch.
+	QTest::qWait(1000);
+
+	ulong savedId = interface->close(NotesEditorInterface::CloseWithSave);
+
+	// Compare the entry after saving. Using the old entry id since
+	// text is not modified in the editor. Wait can be increased to allow user
+	// to modify the text.
+	AgendaEntry afterSave = agendaUtil->fetchById(id);
+	QCOMPARE(afterSave.description(), entry.description());
+
+	// cleanup.
+	delete agendaUtil;
+
+	// Unload the plugin.
+	QVERIFY(pluginLoader->unload());
+	delete pluginLoader;
+}
+
+
+/*!
+	Test the api NotesEditor::edit(const QFile &handle)
+ */
+void TestNotesEditorPlugin::testEditingTodoWithFileHandle()
+{
+	// Nothing yet.
+}
+
+/*!
+	Test the api NotesEditor::edit(AgendaEntry entry)
+ */
+void TestNotesEditorPlugin::testEditingTodoWithAgendaEntry()
+{
+	HbMainWindow mainWindow;
+	mainWindow.show();
+
+	QDir dir(NOTES_EDITOR_PLUGIN_PATH);
+	QString pluginName = dir.absoluteFilePath(NOTES_EDITOR_PLUGIN_NAME);
+
+	// Create plugin loader.
+	QPluginLoader *pluginLoader = new QPluginLoader(pluginName);
+
+	// Load the plugin.
+	QVERIFY(pluginLoader->load());
+
+	QObject *plugin = qobject_cast<QObject*> (pluginLoader->instance());
+	NotesEditorInterface* interface =
+			qobject_cast<NotesEditorInterface*>(plugin);
+
+	AgendaUtil *agendaUtil = new AgendaUtil();
+	// Wait for completion of instance view/entryview creation.
+	QTest::qWait(1);
+	QVERIFY(agendaUtil);
+
+	// Create a agenda entry with type to-do
+	AgendaEntry entry;
+	entry.setType(AgendaEntry::TypeTodo);
+	entry.setSummary(QString("Test Editing of Todo by providing AgendaEntry"));
+	entry.setDescription(QString("@QTest Framework."));
+	entry.setStartAndEndTime(
+			QDateTime::currentDateTime(),QDateTime::currentDateTime());
+	entry.setStatus(AgendaEntry::TodoNeedsAction);
+	entry.setPriority(2);
+
+	ulong id = agendaUtil->addEntry(entry);
+
+	AgendaEntry storedEntry = agendaUtil->fetchById(id);
+
+	// Call edit on agenda entry
+	interface->edit(storedEntry);
+
+	// Wait for Editor to launch.
+	QTest::qWait(3000);
+
+	ulong afterSaveId = interface->close(NotesEditorInterface::CloseWithSave);
+
+	// Compare the entry after saving.
+	AgendaEntry afterSave = agendaUtil->fetchById(id);
+	QCOMPARE(afterSave.id(),id);
+	QCOMPARE(afterSave.type(),entry.type());
+	QCOMPARE(afterSave.summary(), entry.summary());
+	QCOMPARE(afterSave.description(), entry.description());
+
+	// cleanup.
+	delete agendaUtil;
+
+	// Unload the plugin.
+	QVERIFY(pluginLoader->unload());
+	delete pluginLoader;
+}
+
+/*!
+	Test the api NotesEditor::edit(ulong id)
+ */
+void TestNotesEditorPlugin::testEditingTodoWithId()
+{
+	HbMainWindow window;
+	window.show();
+
+	QDir dir(NOTES_EDITOR_PLUGIN_PATH);
+	QString pluginName = dir.absoluteFilePath(NOTES_EDITOR_PLUGIN_NAME);
+
+	// Create plugin loader.
+	QPluginLoader *pluginLoader = new QPluginLoader(pluginName);
+
+	// Load the plugin.
+	QVERIFY(pluginLoader->load());
+
+	QObject *plugin = qobject_cast<QObject*> (pluginLoader->instance());
+	NotesEditorInterface* interface =
+			qobject_cast<NotesEditorInterface*>(plugin);
+
+	AgendaUtil *agendaUtil = new AgendaUtil();
+	// Wait for completion of instance view/entryview creation.
+	QTest::qWait(1);
+	QVERIFY(agendaUtil);
+
+	// Create a agenda entry with type to-do
+	AgendaEntry entry;
+	entry.setType(AgendaEntry::TypeTodo);
+	entry.setSummary(
+			QString("Test Editing of Todo by providing entry local Id"));
+	entry.setDescription(QString("@QTest Framework"));
+	entry.setStartAndEndTime(
+			QDateTime::currentDateTime(),QDateTime::currentDateTime());
+	entry.setStatus(AgendaEntry::TodoNeedsAction);
+	entry.setPriority(2);
+
+	ulong id = agendaUtil->addEntry(entry);
+	AgendaEntry storedEntry = agendaUtil->fetchById(id);
+
+	// Call edit on agenda entry
+	interface->edit(storedEntry);
+
+	// Wait for Editor to launch.
+	QTest::qWait(3000);
+
+	ulong afterSaveId = interface->close(NotesEditorInterface::CloseWithSave);
+
+	// Compare the entry after saving.
+	AgendaEntry afterSave = agendaUtil->fetchById(id);
+	QCOMPARE(afterSave.id(),id);
+	QCOMPARE(afterSave.type(),entry.type());
+	QCOMPARE(afterSave.summary(), entry.summary());
+	QCOMPARE(afterSave.description(), entry.description());
+
+	// cleanup.
+	delete agendaUtil;
+
+	// Unload the plugin.
+	QVERIFY(pluginLoader->unload());
+	delete pluginLoader;
+}
+
+/*!
+	Test the api NotesEditor::create(CreateType type)
+ */
+void TestNotesEditorPlugin::testCreationOfNote()
+{
+	HbMainWindow window;
+	window.show();
+
+	QDir dir(NOTES_EDITOR_PLUGIN_PATH);
+	QString pluginName = dir.absoluteFilePath(NOTES_EDITOR_PLUGIN_NAME);
+
+	// Create plugin loader.
+	QPluginLoader *pluginLoader = new QPluginLoader(pluginName);
+
+	// Load the plugin.
+	QVERIFY(pluginLoader->load());
+
+	QObject *plugin = qobject_cast<QObject*> (pluginLoader->instance());
+	NotesEditorInterface* interface =
+			qobject_cast<NotesEditorInterface*>(plugin);
+
+	interface->create(NotesEditorInterface::CreateNote);
+
+	// Wait for Editor to launch.
+	QTest::qWait(3000);
+
+	ulong afterSaveId = interface->close(NotesEditorInterface::CloseWithSave);
+
+	// Note is not saved since description is empty
+	// TODO use key press events here
+
+	QVERIFY(!afterSaveId);
+
+	// Unload the plugin.
+	QVERIFY(pluginLoader->unload());
+	delete pluginLoader;
+}
+
+/*!
+	Test the api NotesEditor::create(CreateType type)
+ */
+void TestNotesEditorPlugin::testCreationofTodo()
+{
+	HbMainWindow window;
+	window.show();
+
+	QDir dir(NOTES_EDITOR_PLUGIN_PATH);
+	QString pluginName = dir.absoluteFilePath(NOTES_EDITOR_PLUGIN_NAME);
+
+	// Create plugin loader.
+	QPluginLoader *pluginLoader = new QPluginLoader(pluginName);
+
+	// Load the plugin.
+	QVERIFY(pluginLoader->load());
+
+	QObject *plugin = qobject_cast<QObject*> (pluginLoader->instance());
+	NotesEditorInterface* interface =
+			qobject_cast<NotesEditorInterface*>(plugin);
+
+	interface->create(NotesEditorInterface::CreateTodo);
+
+	// TODO
+	// Needs key interaction to edit the fields in to-do editor.
+
+	// Wait for Editor to launch.
+	QTest::qWait(3000);
+
+	// Unload the plugin.
+	QVERIFY(pluginLoader->unload());
+	delete pluginLoader;
+}
+
+/*!
+	Test the api NotesEditor::close(CloseType type);
+ */
+
+void TestNotesEditorPlugin::testClosingOfNotesEditorWithSave()
+{
+	HbMainWindow window;
+	window.show();
+
+	QDir dir(NOTES_EDITOR_PLUGIN_PATH);
+	QString pluginName = dir.absoluteFilePath(NOTES_EDITOR_PLUGIN_NAME);
+
+	// Create plugin loader.
+	QPluginLoader *pluginLoader = new QPluginLoader(pluginName);
+
+	// Load the plugin.
+	QVERIFY(pluginLoader->load());
+
+	QObject *plugin = qobject_cast<QObject*> (pluginLoader->instance());
+	NotesEditorInterface* interface =
+			qobject_cast<NotesEditorInterface*>(plugin);
+
+	QString noteText("Test Closing Of NotesEditor With Save");
+	// Call edit using the text.
+	interface->edit(noteText);
+
+	// Wait for Editor to launch.
+	QTest::qWait(1000);
+
+	// Call close on editor by saving the note
+	ulong id = interface->close(NotesEditorInterface::CloseWithSave);
+	QVERIFY(id);
+
+	// Create agenda Utility.
+	AgendaUtil *agendaUtil = new AgendaUtil();
+	// Wait for completion of instance view/entryview creation.
+	QTest::qWait(1);
+	QVERIFY(agendaUtil);
+
+	// Fetch the entry using the id
+	AgendaEntry entry = agendaUtil->fetchById(id);
+
+	QCOMPARE(noteText,entry.description());
+
+	// cleanup.
+	delete agendaUtil;
+
+	// Unload the plugin.
+	QVERIFY(pluginLoader->unload());
+	delete pluginLoader;
+}
+
+/*!
+	Test the api NotesEditor::close(CloseType type);
+ */
+void TestNotesEditorPlugin::testClosingOfNotesEditorWithoutSave()
+{
+	HbMainWindow window;
+	window.show();
+
+	QDir dir(NOTES_EDITOR_PLUGIN_PATH);
+	QString pluginName = dir.absoluteFilePath(NOTES_EDITOR_PLUGIN_NAME);
+
+	// Create plugin loader.
+	QPluginLoader *pluginLoader = new QPluginLoader(pluginName);
+
+	// Load the plugin.
+	QVERIFY(pluginLoader->load());
+
+	QObject *plugin = qobject_cast<QObject*> (pluginLoader->instance());
+	NotesEditorInterface* interface =
+			qobject_cast<NotesEditorInterface*>(plugin);
+
+	QString noteText("Test Closing Of Notes Editor Without Save");
+	// Call edit using the text.
+	interface->edit(noteText);
+
+	// Wait for Editor to launch.
+	QTest::qWait(1000);
+
+	// Call close on editor by saving the note
+	ulong id = interface->close(NotesEditorInterface::CloseWithoutSave);
+	QVERIFY(!id);
+
+	// Unload the plugin.
+	QVERIFY(pluginLoader->unload());
+	delete pluginLoader;
+}
+
+/*!
+	Test the api NotesEditor::close(CloseType type);
+ */
+void TestNotesEditorPlugin::testClosingOfTodoEditorWithSave()
+{
+	HbMainWindow window;
+	window.show();
+
+	QDir dir(NOTES_EDITOR_PLUGIN_PATH);
+	QString pluginName = dir.absoluteFilePath(NOTES_EDITOR_PLUGIN_NAME);
+
+	// Create plugin loader.
+	QPluginLoader *pluginLoader = new QPluginLoader(pluginName);
+
+	// Load the plugin.
+	QVERIFY(pluginLoader->load());
+
+	QObject *plugin = qobject_cast<QObject*> (pluginLoader->instance());
+	NotesEditorInterface* interface =
+			qobject_cast<NotesEditorInterface*>(plugin);
+
+	AgendaUtil *agendaUtil = new AgendaUtil();
+	// Wait for completion of instance view/entryview creation.
+	QTest::qWait(1);
+	QVERIFY(agendaUtil);
+
+	// Create a agenda entry with type to-do
+	AgendaEntry entry;
+	entry.setType(AgendaEntry::TypeTodo);
+	entry.setSummary(
+			QString("Test Closing Of Todo Editor With Save"));
+	entry.setDescription(QString("@QTest Framework"));
+	entry.setStartAndEndTime(
+			QDateTime::currentDateTime(),QDateTime::currentDateTime());
+	entry.setStatus(AgendaEntry::TodoNeedsAction);
+	entry.setPriority(2);
+
+	ulong id = agendaUtil->addEntry(entry);
+
+	AgendaEntry storedEntry = agendaUtil->fetchById(id);
+	// Call edit on agenda entry
+	interface->edit(storedEntry);
+
+	// Wait for Editor to launch.
+	QTest::qWait(1000);
+
+	ulong afterSaveId = interface->close(NotesEditorInterface::CloseWithSave);
+
+	AgendaEntry afterSave = agendaUtil->fetchById(id);
+	QCOMPARE(afterSave.id(),id);
+	QCOMPARE(afterSave.type(),entry.type());
+	QCOMPARE(afterSave.summary(), entry.summary());
+	QCOMPARE(afterSave.description(), entry.description());
+
+	// cleanup.
+	delete agendaUtil;
+
+	// Unload the plugin.
+	QVERIFY(pluginLoader->unload());
+	delete pluginLoader;
+}
+
+/*!
+	Test the api NotesEditor::close(CloseType type);
+ */
+void TestNotesEditorPlugin::testClosingOfTodoEditorWithoutSave()
+{
+	HbMainWindow window;
+	window.show();
+
+	QDir dir(NOTES_EDITOR_PLUGIN_PATH);
+	QString pluginName = dir.absoluteFilePath(NOTES_EDITOR_PLUGIN_NAME);
+
+	// Create plugin loader.
+	QPluginLoader *pluginLoader = new QPluginLoader(pluginName);
+
+	// Load the plugin.
+	QVERIFY(pluginLoader->load());
+
+	QObject *plugin = qobject_cast<QObject*> (pluginLoader->instance());
+	NotesEditorInterface* interface =
+			qobject_cast<NotesEditorInterface*>(plugin);
+
+	AgendaUtil *agendaUtil = new AgendaUtil();
+	// Wait for completion of instance view/entryview creation.
+	QTest::qWait(1);
+	QVERIFY(agendaUtil);
+
+	// Create a agenda entry with type to-do
+	AgendaEntry entry;
+	entry.setType(AgendaEntry::TypeTodo);
+	entry.setSummary(
+			QString("Test Closing Of Todo Editor Without Save"));
+	entry.setDescription(QString("@QTest framework"));
+	entry.setStartAndEndTime(
+			QDateTime::currentDateTime(),QDateTime::currentDateTime());
+	entry.setStatus(AgendaEntry::TodoNeedsAction);
+	entry.setPriority(2);
+
+	ulong id = agendaUtil->addEntry(entry);
+
+	AgendaEntry storedEntry = agendaUtil->fetchById(id);
+	// Call edit on agenda entry
+	interface->edit(storedEntry);
+
+	// Wait for Editor to launch.
+	QTest::qWait(3000);
+
+	ulong afterSaveId = interface->close(
+			NotesEditorInterface::CloseWithoutSave);
+	QVERIFY(!afterSaveId);
+
+	// cleanup.
+	delete agendaUtil;
+
+	// Unload the plugin.
+	QVERIFY(pluginLoader->unload());
+	delete pluginLoader;
+}
+
+/*!
+	Test editing of note by owning agenda util.
+ */
+void TestNotesEditorPlugin::testAgendaUtilEditingNoteWithText()
+{
+	HbMainWindow window;
+	window.show();
+
+	QDir dir(NOTES_EDITOR_PLUGIN_PATH);
+	QString pluginName = dir.absoluteFilePath(NOTES_EDITOR_PLUGIN_NAME);
+
+	// Create plugin loader.
+	QPluginLoader *pluginLoader = new QPluginLoader(pluginName);
+
+	// Load the plugin.
+	QVERIFY(pluginLoader->load());
+
+	QObject *plugin = qobject_cast<QObject*> (pluginLoader->instance());
+	NotesEditorInterface* interface =
+			qobject_cast<NotesEditorInterface*>(plugin);
+
+	// Create agenda Utility.
+	AgendaUtil *agendaUtil = new AgendaUtil();
+	// Wait for completion of instance view/entryview creation.
+	QTest::qWait(1);
+	QVERIFY(agendaUtil);
+
+	QString noteText("Test Editing of Note With Text by passing created "
+			"agenda util to notes editor plugin");
+	// Call edit using the text.
+	interface->edit(noteText, agendaUtil);
+
+	// Call close on editor by saving the note
+	ulong id = interface->close(NotesEditorInterface::CloseWithSave);
+	QVERIFY(id);
+
+	// Fetch the entry using the id
+	AgendaEntry entry = agendaUtil->fetchById(id);
+
+	QString entryDescription = entry.description();
+	int compareResult = noteText.compare(entryDescription);
+
+	QVERIFY(!compareResult);
+
+	// cleanup.
+	delete agendaUtil;
+
+	// Unload the plugin.
+	QVERIFY(pluginLoader->unload());
+	delete pluginLoader;
+}
+
+/*!
+	Test editing to-do entry by owning agenda util.
+ */
+void TestNotesEditorPlugin::testAgendaUtilEditingTodoWithId()
+{
+	HbMainWindow window;
+	window.show();
+
+	QDir dir(NOTES_EDITOR_PLUGIN_PATH);
+	QString pluginName = dir.absoluteFilePath(NOTES_EDITOR_PLUGIN_NAME);
+
+	// Create plugin loader.
+	QPluginLoader *pluginLoader = new QPluginLoader(pluginName);
+
+	// Load the plugin.
+	QVERIFY(pluginLoader->load());
+
+	QObject *plugin = qobject_cast<QObject*> (pluginLoader->instance());
+	NotesEditorInterface* interface =
+			qobject_cast<NotesEditorInterface*>(plugin);
+
+	AgendaUtil *agendaUtil = new AgendaUtil();
+	// Wait for completion of instance view/entryview creation.
+	QTest::qWait(1);
+
+	QVERIFY(agendaUtil);
+
+	AgendaEntry entry;
+	entry.setType(AgendaEntry::TypeNote);
+	entry.setDescription(
+			QString("Test Editing of Note by providing entry local Id"));
+
+	ulong id = agendaUtil->addEntry(entry);
+
+	// Edits to-do entry by providing entry id and agendautil.
+	interface->edit(id, agendaUtil);
+
+	// Wait for Editor to launch.
+	QTest::qWait(1000);
+
+	ulong savedId = interface->close(NotesEditorInterface::CloseWithSave);
+
+	// Compare the entry after saving. Using the old entry id since
+	// text is not modified in the editor. Wait can be increased to allow user
+	// to modify the text.
+	AgendaEntry afterSave = agendaUtil->fetchById(id);
+	QCOMPARE(afterSave.description(), entry.description());
+
+	// cleanup.
+	delete agendaUtil;
+
+	// Unload the plugin.
+	QVERIFY(pluginLoader->unload());
+	delete pluginLoader;
+}
+// End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/organizer_plat/notes_editor_api/tsrc/unittest_noteseditorplugin/unittest_noteseditorplugin.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,51 @@
+#
+# 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: 
+# Project specification file for noteseditor unit test.
+#
+
+TEMPLATE = app
+TARGET = utnoteseditorplugin
+CONFIG += \
+		qtestlib \
+		symbian_test \
+		hb
+
+DEPENDPATH += \
+		. \
+		./src
+
+INCLUDEPATH += .
+
+symbian: {
+	TARGET.CAPABILITY = ALL -TCB
+	TARGET.EPOCALLOWDLLDATA = 1
+	TARGET.UID3 = 0xE3883256
+	INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+	
+	LIBS += \
+		-lagendainterface
+		
+	BLD_INF_RULES.prj_testexports += \
+	"../rom/unit_noteseditorplugin.iby		CORE_APP_LAYER_IBY_EXPORT_PATH(unit_noteseditorplugin.iby)"
+}
+
+SOURCES += \
+		unittest_noteseditorplugin.cpp \
+		main.cpp
+
+HEADERS += \
+		./inc/unittest_noteseditorplugin.h
+
+# End of file	--Don't remove this.
--- a/organizer_plat/organizer_plat.pro	Tue Jun 15 15:22:54 2010 +0100
+++ b/organizer_plat/organizer_plat.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -24,6 +24,9 @@
 include(calendar_editor_api/calendar_editor_api.pri)
 include(notes_editor_api/notes_editor_api.pri)
 include(eventviewer_plugin_api/eventviewer_plugin_api.pri)
+include(clock_settings_keys_api/clock_settings_keys_api.pri)
+include(calendar_settings_keys_api/calendar_settings_keys_api.pri)
+include(clock_settingsview_plugin_api/clock_settingsview_plugin_api.pri)
 
 symbian {
     headers.sources = $$PUBLIC_HEADERS
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/organizer_plat/tsrc/group/bld.inf	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,23 @@
+/*
+* 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:   Includes organizer_plat test code
+*
+*/
+
+
+#include "../../agenda_versit_2_api/tsrc/group/bld.inf"
+#include "../../calendar_exporter_api/tsrc/group/bld.inf"
+#include "../../calendar_importer_api/tsrc/group/bld.inf"
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/organizer_plat/tsrc/tsrc.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,27 @@
+#  
+# 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:
+# This is the project specification file for test code under organizer_plat.
+#
+
+TEMPLATE = subdirs
+SUBDIRS +=  ../agenda_interface_api/tsrc \
+			#../calendar_editor_api/tsrc \ TODO : uncomment after fixing build issues
+			../calendar_launcher_api/tsrc \
+			../notes_editor_api/tsrc \
+			../clock_settingsview_plugin_api/tsrc
+
+CONFIG += ordered
+
+# End of file	--Don't remove this
--- a/organizer_pub/calendar_interim_utils2_api/tsrc/bc/calendar/group/BCTestCalendar2.mmp	Tue Jun 15 15:22:54 2010 +0100
+++ b/organizer_pub/calendar_interim_utils2_api/tsrc/bc/calendar/group/BCTestCalendar2.mmp	Thu Jul 22 16:32:51 2010 +0100
@@ -43,8 +43,7 @@
 	#if defined(__S60_)
 	    OS_LAYER_SYSTEMINCLUDE
 	#else // __S60_ not defined
-	    SYSTEMINCLUDE   /epoc32/include 
-	    SYSTEMINCLUDE   /epoc32/include/internal
+	    SYSTEMINCLUDE   /epoc32/include
 	#endif // __S60_
 
 	SOURCEPATH      ../src
@@ -54,20 +53,19 @@
 	#if defined(__S60_)
 	    OS_LAYER_SYSTEMINCLUDE
 	#else // __S60_ not defined
-	    SYSTEMINCLUDE   /epoc32/include 
-	    SYSTEMINCLUDE   /epoc32/include/internal
+	    SYSTEMINCLUDE   /epoc32/include
 	#endif // __S60_
 
 	SOURCEPATH      ../src
 #endif // SBSV2
 
+APP_LAYER_SYSTEMINCLUDE
 SYSTEMINCLUDE   /epoc32/include		
 SYSTEMINCLUDE	/epoc32/include/middleware 	
 SYSTEMINCLUDE	/epoc32/include/domain/middleware 	
 SYSTEMINCLUDE	/epoc32/include/osextensions 	
 SYSTEMINCLUDE	/epoc32/include/domain/osextensions 	
 SYSTEMINCLUDE	/epoc32/include/applications
-SYSTEMINCLUDE   /epoc32/include/internal
 
 SOURCE          BCTestCalendar2.cpp
 SOURCE          BCTestCalendar2Blocks.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/organizer_pub/tsrc/group/bld.inf	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,20 @@
+/*
+* 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: Includes organizer_pub test code
+*
+*/
+
+#include "../../calendar_interim_utils2_api/tsrc/stiff/group/bld.inf"
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/organizer_pub/tsrc/tsrc.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,18 @@
+#  
+# 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:
+# This is the project specification file for organizer_pub test code.
+#
+
+# End of file	--Don't remove this
--- a/pimappservices/calendar/bwins/caltestlibu.def	Tue Jun 15 15:22:54 2010 +0100
+++ b/pimappservices/calendar/bwins/caltestlibu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -45,4 +45,5 @@
 	?RegisterCalFileL@CCalTestLibrary@@QAEXABVTDesC16@@@Z @ 44 NONAME ; void CCalTestLibrary::RegisterCalFileL(class TDesC16 const &)
 	?WaitForAgendaServerClose@CCalTestLibrary@@SAXXZ @ 45 NONAME ; void CCalTestLibrary::WaitForAgendaServerClose(void)
 	?WaitForAlarmEvent@CCalTestLibrary@@QAEHHW4TAlarmChangeEvent@@W4TAlarmState@@H@Z @ 46 NONAME ; int CCalTestLibrary::WaitForAlarmEvent(int, enum TAlarmChangeEvent, enum TAlarmState, int)
+	?CreateCalSubSessionL@CCalTestLibrary@@QAEAAV?$RPointerArray@VCCalSession@@@@ABVTDesC16@@@Z @ 47 NONAME ; class RPointerArray<class CCalSession> & CCalTestLibrary::CreateCalSubSessionL(class TDesC16 const &)
 
--- a/pimappservices/calendar/client/src/calattachment.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/pimappservices/calendar/client/src/calattachment.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -554,12 +554,23 @@
 */
 EXPORT_C void CCalAttachmentFile::FetchFileHandleL(RFile& aFileHandle) const
 	{
-	if (iAttachmentImpl->IsFileHandleSet() || ! iCalSessionImpl)
-		{
-		User::Leave(KErrArgument);
-		}
-
-	iCalSessionImpl->Server().FetchFileHandleL(aFileHandle, iAttachmentImpl->Uid(), iCalSessionImpl->FileId());
+    if ( iAttachmentImpl->IsFileHandleSet() )
+        {
+        aFileHandle.Close();
+        User::LeaveIfError(
+                aFileHandle.Duplicate( iAttachmentImpl->FileHandle() ) );
+        }
+    else if ( iCalSessionImpl )
+        {
+        iCalSessionImpl->Server().FetchFileHandleL(
+                aFileHandle, 
+                iAttachmentImpl->Uid(), 
+                iCalSessionImpl->FileId() );            
+        }
+    else
+        {
+        User::Leave( KErrArgument );
+        }
 	}
 
 /** Load the binary data into the attachment object to be accessed through the CCalAttachment::Value function.
--- a/pimappservices/calendar/client/src/calcalendarinfoimpl.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/pimappservices/calendar/client/src/calcalendarinfoimpl.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -69,9 +69,9 @@
         {
         if (iProperties[position]->Value().Compare(KNullDesC8) == 0)
             {
-            __ASSERT_DEBUG(iProperties[position]->StreamId() != KNullStreamId, CalUtils::Panic(ECalendarInfoNullStreamId));
+            __ASSERT_DEBUG(iFileName && iProperties[position]->StreamId() != KNullStreamId, CalUtils::Panic(ECalendarInfoNullStreamId));
             // Get the property
-            HBufC8* value = iSessionImpl->Server().GetPropertyValueL(iSessionImpl->FileName(), iProperties[position]->StreamId());
+            HBufC8* value = iSessionImpl->Server().GetPropertyValueL(iFileName->Des(), iProperties[position]->StreamId());
             iProperties[position]->SetValue(value);
             }
         else if (iProperties[position]->State() == CAgnCalendarInfoProperty::EDeleted)
--- a/pimappservices/calendar/client/src/calclient.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/pimappservices/calendar/client/src/calclient.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -35,8 +35,6 @@
 #include "calcalendarinfoimpl.h"
 #include "agmfilechangenotification.h"
 
-const TUint KDefaultMessageSlots = 3;
-
 _LIT(KAgendaMutex, "AgnMutex");
 
 //
@@ -205,7 +203,7 @@
 	
 TInt RAgendaServ::DoConnect()
 	{
-	return CreateSession(KAgendaServerName,Version(), KDefaultMessageSlots);
+	return CreateSession(KAgendaServerName,Version());
 	}
 
 
@@ -1808,11 +1806,18 @@
 				{
 				if (type == CCalEntry::ETodo)
 					{
-					changeItem.iEntryType = MCalChangeCallBack2::EChangeEntryTodo;
+					changeItem.iEntryType =
+							MCalChangeCallBack2::EChangeEntryTodo;
+					}
+				else if (type == CCalEntry::ENote)
+					{
+					changeItem.iEntryType =
+							MCalChangeCallBack2::EChangeEntryNote;
 					}
 				else
 					{
-					changeItem.iEntryType = MCalChangeCallBack2::EChangeEntryEvent;
+					changeItem.iEntryType =
+							MCalChangeCallBack2::EChangeEntryEvent;
 					}
 				}
 			aChangeItems.AppendL(changeItem);
--- a/pimappservices/calendar/client/src/calentryimpl.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/pimappservices/calendar/client/src/calentryimpl.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -636,11 +636,11 @@
 	const TAgnRpt* KRpt = KRptDef->RRule();
 
 	// get the DTSTART property
-	if (SimpleEntry()->Type() == CCalEntry::ETodo)
-		{
-		aRule.SetDtStart(EndTimeL());
-		}
-	else
+//	if (SimpleEntry()->Type() == CCalEntry::ETodo)
+//		{
+//		aRule.SetDtStart(EndTimeL());
+//		}
+//	else
 		{
 		aRule.SetDtStart(StartTimeL());
 		}
--- a/pimappservices/calendar/eabi/caltestlibu.def	Tue Jun 15 15:22:54 2010 +0100
+++ b/pimappservices/calendar/eabi/caltestlibu.def	Thu Jul 22 16:32:51 2010 +0100
@@ -52,4 +52,5 @@
 	_ZTV15CCalTestLibrary @ 51 NONAME
 	_ZN15CCalTestLibrary24WaitForAgendaServerCloseEv @ 52 NONAME
 	_ZN15CCalTestLibrary17WaitForAlarmEventEi17TAlarmChangeEvent11TAlarmStatei @ 53 NONAME
+	_ZN15CCalTestLibrary20CreateCalSubSessionLERK7TDesC16 @ 54 NONAME
 
--- a/pimappservices/calendar/inc/calchangecallback.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/pimappservices/calendar/inc/calchangecallback.h	Thu Jul 22 16:32:51 2010 +0100
@@ -145,7 +145,9 @@
 		/** Entry type is event. */
 		EChangeEntryEvent,
 		/** All entry types. */
-		EChangeEntryAll
+		EChangeEntryAll,
+		/** Entry type is note */
+		EChangeEntryNote
 		};
 
 	/**
--- a/pimappservices/calendar/server/inc/agsentrymodel.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/pimappservices/calendar/server/inc/agsentrymodel.h	Thu Jul 22 16:32:51 2010 +0100
@@ -212,6 +212,7 @@
 	TTime TzRulesLastModifiedDateL();
 	void CheckTzDbModificationL();
 	void HandleTzRulesChangeL(const TTime& aTime);
+	TBool IsIndexFileAvailableL();
 
 // Calendar file conversion operations
 	void LoadNewStreamStoreL(CStreamStore& aStore, const TStreamId& aModelStreamId, CAgnEntryManager& aEntryManager, CAgnTzRuleIndex& aTzRuleIndex);
@@ -229,7 +230,7 @@
 	TBool GenerateIndexFileName(TFileName& aFileName);
 	TCalCollectionId CollectionId() const;
 	const CAgnServFile& AgnServFile();
-
+	void ResetDeleteRollbackArray();
 
 private:
 	void ConstructL(CAgnServFile* aAgnServerFile);
--- a/pimappservices/calendar/server/src/agsalarm.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/pimappservices/calendar/server/src/agsalarm.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -680,8 +680,15 @@
 	else
 		{
 		aAlarmInfo.iRecurrenceId = entry->RecurrenceId().UtcL();
-		}
-	aAlarmInfo.iGlobalIdentifier = iModel->GetEntryGuidL(*entry);
+		}	
+	
+	// Check the length of the Uid from the entry if it is less than the 
+	// the supported length assign it to the aAlarmInfo.
+	// as per the RFC we are supporting 256 chars most of  app UID is within this range
+	// in future if anyone supports more than this length we need to handle this here .
+	if (iModel->GetEntryGuidL(*entry).Length() <= KAgnEntryMaxGuidLength)	    
+	    aAlarmInfo.iGlobalIdentifier = iModel->GetEntryGuidL(*entry);
+	
 	CleanupStack::PopAndDestroy(entry);
 	}
 	
--- a/pimappservices/calendar/server/src/agsasyncdelete.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/pimappservices/calendar/server/src/agsasyncdelete.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -246,7 +246,7 @@
 				CleanupStack::PopAndDestroy(entry);
 				}
 			}
-			
+		iModel.ResetDeleteRollbackArray();
 		iTidyDeleteArray->Reset();
 		iModel.FlushL();
 		}
@@ -288,7 +288,11 @@
 			for (TInt i = 0; i < KCount && todelete; ++i)
 				{
 				const CAgnSimpleEntry* KChildEntry = iModel.GetSimpleEntryFromIndexes(KChildIds[i].ChildId());
-				todelete = FallInTimeRangeL(*KChildEntry);
+				if(KChildEntry != NULL)
+				    {
+                    todelete = FallInTimeRangeL(*KChildEntry);
+				    }
+				
 				}
 			}
 
--- a/pimappservices/calendar/server/src/agsattachmentindex.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/pimappservices/calendar/server/src/agsattachmentindex.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -281,7 +281,8 @@
 		{
 		// check every attachment
 		const CAgnAttachmentIndexItem* KAttachmentItem = iIndex[i];
-		for (TInt j = 0; j < KAttachmentItem->Entries().Count(); ++j)
+		const TInt entryCount = KAttachmentItem->Entries().Count();
+		for (TInt j = 0; j < entryCount; ++j)
 			{
 			// check every entry associated with each attachment
 			if (KEntryLocalUid == (KAttachmentItem->Entries())[j])
--- a/pimappservices/calendar/server/src/agsentrymanager.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/pimappservices/calendar/server/src/agsentrymanager.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -574,7 +574,7 @@
 		}
 	CleanupStack::PopAndDestroy();
 	iLastRestored = type;
-	return (count);
+	return (buffer->Count());
 	}
 
 CAgnEntry* CAgnEntryManager::SearchBuffers(const TAgnEntryId& aEntryId, TInt& aPos)
--- a/pimappservices/calendar/server/src/agsentrymodel.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/pimappservices/calendar/server/src/agsentrymodel.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -85,6 +85,10 @@
 		iAttachmentIndex = new (ELeave) CAgnAttachmentIndex;
 		CreateAlarmForServerL();
 		}
+	
+	User::LeaveIfError(iFs.Connect());
+    User::LeaveIfError( iFs.ShareProtected() );
+    
 	iIndexFileIsDirty = ETrue; 	// for safety assume that the index
 					// file is out of date. We can correct this
 					// when we read the file
@@ -113,6 +117,7 @@
 	delete iModelStreamIdSet;
 	delete iEntryManager;
 	delete iCalConverter;
+	iFs.Close();
 	}
 
 const CAgnServFile& CAgnEntryModel::AgnServFile()
@@ -120,6 +125,14 @@
 	return *iAgnServerFile;
 	}
 
+/**
+ * Resets delete rollback array before the callback
+ */	
+void CAgnEntryModel::ResetDeleteRollbackArray()
+	{
+	iDeleteRollbackArray.ResetAndDestroy();
+	}
+
 /** Load up the stream network
  */
 void CAgnEntryModel::DoOpenL(const TStreamId& aModelStreamId)
@@ -503,9 +516,11 @@
 				_DBGLOG_VERBOSE(AgmDebug::DebugLog("StoreL: Existing entry types is different to incoming entry's type");)
 				_DBGLOG_VERBOSE(AgmDebug::DebugLog("StoreL: Delete the existing entry and add the incoming entry as a new one");)
 				
-				// if the entry is a different type, delete the old entry and add the new one 
+				// if the entry is a different type, add the new one first and delete only later
+                // This change is needed if the entry having attachments, it will be shared by two 
+                //entries, so that attachments will not be deleted, while deleting it later. 
+				returnId = AddEntryL(aEntry);
 				DeleteEntryL(*existingEntryToReplace, ETrue, iChangeFilter);
-				returnId = AddEntryL(aEntry);
 				}
 
 			CleanupStack::PopAndDestroy(existingEntryToReplace);
@@ -1398,22 +1413,16 @@
 // file needs to be rebuilt and to no try to delete the file more than once.
 void CAgnEntryModel::MarkIndexFileAsDirtyL()
 	{
-	if (iIndexFileIsDirty)
-		{
-		return; // the file is already marked as dirty
-		}
-		
-	TFileName idxfilename;
-	if (!GenerateIndexFileName(idxfilename))
-		{
-		User::Leave(KErrBadName);
-		}
-	
-	TInt connectErr = iFs.Connect();
-	User::LeaveIfError(connectErr);
-	
-	iFs.Delete(idxfilename); // ignore return as there is nothing we can do with it
-	
+
+    if(IsIndexFileAvailableL())
+        {		
+            TFileName idxfilename;
+            if (!GenerateIndexFileName(idxfilename))
+                {
+                User::Leave(KErrBadName);
+                }           
+            iFs.Delete(idxfilename); // ignore return as there is nothing we can do with it           
+        }        
 	iIndexFileIsDirty = ETrue;
 	}
 	
@@ -1447,9 +1456,6 @@
 		User::Leave(KErrBadName);
 		}
 	
-	TInt connectErr = iFs.Connect();
-	User::LeaveIfError(connectErr);
-	
 	RFile idxFile;
 	TInt errReadIdx = idxFile.Open(iFs, idxfilename, EFileRead);
 	CleanupClosePushL(idxFile);
@@ -1512,6 +1518,29 @@
 	return EFalse;
 	}
 
+// This method check the index file is exist.
+// It returns:
+//      ETrue - File is already exist
+//      EFalse - File is not available
+TBool CAgnEntryModel::IsIndexFileAvailableL()
+    {
+    TFileName idxfilename;
+    if (!GenerateIndexFileName(idxfilename))
+        {
+        User::Leave(KErrBadName);
+        }
+   
+    RFile idxFile;
+    TInt errReadIdx = idxFile.Open(iFs, idxfilename, EFileRead);
+    CleanupClosePushL(idxFile);
+    if((errReadIdx == KErrNotFound))
+        {
+            CleanupStack::PopAndDestroy();
+            return EFalse;
+        }
+    CleanupStack::PopAndDestroy(&idxFile);
+    return ETrue;
+}
 
 // This method attempts to save all indices to the index file.
 // If any errors are encountered it will Leave.
@@ -1524,9 +1553,7 @@
 		{
 		User::Leave(KErrBadName);
 		}
-	TInt connectErr = iFs.Connect();
-	User::LeaveIfError(connectErr);
-
+	
 	RFile idxFile;
 	TInt errWriteIdx = idxFile.Replace(iFs, idxfilename, EFileWrite);
 	User::LeaveIfError(errWriteIdx);
@@ -2678,6 +2705,15 @@
 
 	NotifyingL(MCalChangeCallBack2::EChangeModify, aEntry, instanceInfoBefore);
 	
+	if(iChangeFilter && iTzRuleIndex)
+        {
+        //Remove the tz rule from tz rule index
+        //we have to do it after CAgnEntryModel::NotifyingL that is indirectly using the
+        //tz rule in oldEntry.
+        iTzRuleIndex->RemoveTzRuleL(*oldEntry);
+        }
+  
+	
 	CleanupStack::PopAndDestroy(instanceInfoBefore);
 	CleanupStack::PopAndDestroy(oldEntry);
 	
--- a/pimappservices/calendar/server/src/agsfilemanager.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/pimappservices/calendar/server/src/agsfilemanager.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -1243,7 +1243,7 @@
         }
     else
         {
-        iAgnServer.AlarmServer().SetAlarmStatusForCalendarFile(fileName, EAlarmStatusEnabled); 
+        QueueAlarmsImmediately();
         }
     
     User::LeaveIfError(iStore->Commit());
--- a/pimappservices/calendar/server/src/agsmain.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/pimappservices/calendar/server/src/agsmain.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -260,6 +260,7 @@
 	iProxy = CAgnTlsProxy::CreateL(CAgnTlsProxy::TAgnTlsTzRulesType_Server);
 			
 	User::LeaveIfError(iFs.Connect());
+	User::LeaveIfError( iFs.ShareProtected() );
 	User::LeaveIfError(iAlarmServer.Connect());
 	iFileMgr = CAgnServFileMgr::NewL(iFs, *this);
 	iFileMgr->CreatePermanentDataL();
--- a/pimappservices/calendar/server/src/agssess.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/pimappservices/calendar/server/src/agssess.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -142,7 +142,24 @@
 			{
 			return EFalse;
 			}
-		
+
+		// Check for the requested entry type and the change type.
+		// Don't notify clients which are listening for event and
+		// to-do notifictaions when note event is modified.
+		if ( ((iEntryType == MCalChangeCallBack2::EChangeEntryEvent) ||
+			(iEntryType == MCalChangeCallBack2::EChangeEntryTodo)) &&
+			(aChange.iEntryType == CCalEntry::ENote))
+			{
+			return EFalse;
+			}
+
+		// Notify clients which are listening for event type note modifications.
+		if (iEntryType == MCalChangeCallBack2::EChangeEntryNote &&
+			aChange.iEntryType == CCalEntry::ENote)
+			{
+			return ETrue;
+			}
+
 		// Check the entry is within the time range specified by the filter
 		// aChange.iRepeatRule gives the repeat data for the newly stored entry. If this operation is an update,
 		// then aChange.iOriginalRepeatRule gives the repeat data for the old entry.
--- a/pimappservices/calendar/server/src/agstzruleindex.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/pimappservices/calendar/server/src/agstzruleindex.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -592,7 +592,7 @@
  @param aOldEntry reference to the original entry to be updated.
  @param aNewEntry reference to the entry containing updated content.
  */
-void CAgnTzRuleIndex::UpdateTzRuleL(CAgnEntry& aOldEntry, CAgnEntry& aNewEntry)
+void CAgnTzRuleIndex::UpdateTzRuleL(CAgnEntry& /*aOldEntry*/, CAgnEntry& aNewEntry)
 	{
 	CAgnTzRules* newTzZone = GetTzRulesFromEntry(aNewEntry);
 	if (newTzZone != NULL && newTzZone->HasValidTzZoneStreamId())
@@ -620,7 +620,6 @@
 		AddTzRuleL(aNewEntry);
 		}
 
-	RemoveTzRuleL(aOldEntry);
 	}
 
 void CAgnTzRuleIndex::UpdateItemsInStoreL(
--- a/pimappservices/calendar/shared/src/agmcalendarinfo.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/pimappservices/calendar/shared/src/agmcalendarinfo.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -121,8 +121,9 @@
 EXPORT_C CDesC8Array* CAgnCalendarInfo::PropertyKeysL() const
     {
     const TInt KPropertyCount(iProperties.Count());
+    const TInt propertyCount = KPropertyCount==0 ? 1 : KPropertyCount;
     
-    CDesC8Array* propertyKeys = new(ELeave) CDesC8ArrayFlat(KPropertyCount);
+    CDesC8Array* propertyKeys = new(ELeave) CDesC8ArrayFlat(propertyCount);
     CleanupStack::PushL(propertyKeys);
     
     for (TInt i(0) ; i < KPropertyCount ; ++i)
--- a/pimappservices/calendar/shared/src/agmcalendartime.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/pimappservices/calendar/shared/src/agmcalendartime.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -101,6 +101,14 @@
 			iTime = AgnDateTime::MaxDate();
 			}
  		iLocalOffsetInMinutes = KOffsetUnspecified;
+ 		if ( ! aFloating)
+            { 
+            SetFloatingFlag(EFalse);
+            }
+ 		else
+            {
+            SetFloatingFlag(ETrue);
+            }
 		}
 	else
 		{
--- a/pimappservices/calendar/shared/src/agmrptdef.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/pimappservices/calendar/shared/src/agmrptdef.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -2700,8 +2700,16 @@
 @internalComponent
 */
 	{
-	delete iRRule;
-	delete iTimeZone;
+    if (iRRule)
+        {
+        delete iRRule;
+        iRRule = NULL;
+        }
+    if (iTimeZone)
+        {
+        delete iTimeZone;
+        iTimeZone = NULL;
+        }
 
 	ClearTimeArray(iSporadicDates);
 	ClearTimeArray(iExceptions);
@@ -3885,7 +3893,14 @@
 @return The start date expressed as Current System Local Time.
 */
 	{
-	return iOwningEntry.EntryTime();
+	if (iOwningEntry.Type() ==  CCalEntry::ETodo)
+		{
+		return iOwningEntry.StartTime();
+		}
+	else
+		{
+		return iOwningEntry.EntryTime();
+		}
 	}
 
 EXPORT_C void CAgnRptDef::SetUntilTime(const TAgnCalendarTime& aUntilTime)
--- a/pimappservices/calendar/shared/src/agmsimpleentry.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/pimappservices/calendar/shared/src/agmsimpleentry.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -67,7 +67,11 @@
 @internalComponent
 */
 	{
-	delete iRptDef;
+    if (iRptDef)
+        {
+        delete iRptDef;
+        iRptDef = NULL;
+        }
 	}
 
 
@@ -394,8 +398,15 @@
 			// Ensure that the start date actually falls on a repeating instance. For example,
 			// if the repeat rule is every Wednesday, and the DtStart is a Monday, it should be 
 			// nudged forwards to the Wednesday of that week.
-
-			TTime startTimeUtc = EntryTime().UtcL();
+			TTime startTimeUtc;
+			if (Type() == CCalEntry::ETodo)
+				{
+				startTimeUtc = StartTime().UtcL();
+				}
+			else
+				{
+			    startTimeUtc = EntryTime().UtcL();
+				}
 
 			startTimeUtc -= TTimeIntervalMicroSeconds(1);
 			TTime firstInstanceUtc;
@@ -428,7 +439,7 @@
 	TTime startTime = aNewEntryTimeLocal;
 	if (Type() == CCalEntry::ETodo)
 		{
-		startTime = DurationMinusL(startTime);
+		//startTime = DurationMinusL(startTime);
 		}
 	TAgnCalendarTime startAgnTime;
 	TAgnCalendarTime endAgnTime;
--- a/pimappservices/calendar/tsrc/caltestlib.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/pimappservices/calendar/tsrc/caltestlib.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -21,6 +21,7 @@
 #include <caldataexchange.h>
 #include <caldataformat.h>
 #include <calsession.h>
+#include <calcalendarinfo.h>
 #include <calprogresscallback.h>
 #include <e32test.h>
 #include <consolealarmalertservermain.h>
@@ -120,6 +121,7 @@
 void CCalTestLibrary::CloseCalendarSession(TBool aWaitForAgendaToClose)
 	{
 	iChunkMutex.Wait();
+	iSubCalSessions.ResetAndDestroy();
 	delete iSession;
 	iSession = NULL;	
 	if (iRefCount && (--*iRefCount <= 0) && aWaitForAgendaToClose)
@@ -399,6 +401,16 @@
 	
 	if (aIsCalFile)
 		{
+		
+		for(TInt i = 0; i < iSubCalSessions.Count();i++)
+		    {
+		    CCalCalendarInfo* info = iSubCalSessions[i]->CalendarInfoL();
+		    HBufC* fileName = info->FileNameL().AllocLC();
+		    delete info;
+		    iSubCalSessions[i]->DeleteCalFileL(*fileName);
+		    CleanupStack::PopAndDestroy(fileName);
+		    }
+		
 		iSession->DeleteCalFileL(aFileName);
 		TInt indx=-1;
 		if(iDelFileFlag)
@@ -948,4 +960,24 @@
 	return tickPeriod * durationInTicks;	
 	}
 
+EXPORT_C RPointerArray<CCalSession>& CCalTestLibrary::CreateCalSubSessionL(const TDesC& aFileName)
+    {
+    CCalSession* session = CCalSession::NewL(*iSession);
+    CCalCalendarInfo* calendarInfo = CCalCalendarInfo::NewL();
+    calendarInfo->SetColor(KRgbRed);
+    calendarInfo->SetNameL(_L("test"));
+    calendarInfo->SetEnabled(ETrue);
+    
+    TRAPD(err,session->CreateCalFileL(aFileName,*calendarInfo));
+    if(err == KErrAlreadyExists)
+        {
+        session->DeleteCalFileL(aFileName);
+        session->CreateCalFileL(aFileName,*calendarInfo);
+        }
+    session->OpenL(aFileName);
+    iSubCalSessions.Append(session);
+    
+    delete calendarInfo;
+    return iSubCalSessions;
+    }
 
--- a/pimappservices/calendar/tsrc/caltestlib.h	Tue Jun 15 15:22:54 2010 +0100
+++ b/pimappservices/calendar/tsrc/caltestlib.h	Thu Jul 22 16:32:51 2010 +0100
@@ -105,6 +105,9 @@
 
 	// Used to append the file to the delete list
 	IMPORT_C void RegisterCalFileL(const TDesC& aFileName);
+	
+	// Create a calendar file. It leaves if the file exists.
+	IMPORT_C RPointerArray<CCalSession>& CreateCalSubSessionL(const TDesC& aFileName);
 
 
 // Session and Views handling
@@ -220,6 +223,7 @@
 	TBool				iDelFileFlag;
 	RMutex				iChunkMutex;
 	RASCliSession		iAlarmServer;
+	RPointerArray<CCalSession> iSubCalSessions;
 	};
 
 
--- a/pimappservices/calendar/tsrc/instance_iterator/tcal_fetchinstance.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/pimappservices/calendar/tsrc/instance_iterator/tcal_fetchinstance.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -435,8 +435,24 @@
 	test.Printf(_L("test the instance time"));
 	test(repeatingTodoInstance1->Time().TimeLocalL() == instanceTime1.TimeLocalL());
 	test.Printf(_L("test the entry start and end times"));
-	test(repeatingTodoInstance1->Entry().StartTimeL().TimeLocalL() == startTime.TimeLocalL());
-	test(repeatingTodoInstance1->Entry().EndTimeL().TimeLocalL() == endTime.TimeLocalL());
+	
+	// Modified Start-> if DtStart date is equal to end date then align start date with DtStart date and 
+	// end date = end date + duration of the entry. 
+	// Thus moving the time window based on DtStart date   
+	test(repeatingTodoInstance1->Entry().StartTimeL().TimeLocalL() == endTime.TimeLocalL()); 
+	
+	TTime newEndTime(endTime.TimeLocalL());
+	TTimeIntervalMinutes deltaMinutes;
+	endTime.TimeLocalL().MinutesFrom(startTime.TimeLocalL(), deltaMinutes);
+	newEndTime += deltaMinutes;
+	    
+	TTimeIntervalMicroSeconds deltaMicroSeconds = 
+	        endTime.TimeLocalL().MicroSecondsFrom(startTime.TimeLocalL() + deltaMinutes);
+	newEndTime += deltaMicroSeconds;
+	
+	test(repeatingTodoInstance1->Entry().EndTimeL().TimeLocalL() == newEndTime);
+	//Modified End<-
+	
 	test.Printf(_L("fetch the description"));
 	test(repeatingTodoInstance1->Entry().DescriptionL().Compare(KEntryDescription) == 0);
 	CleanupStack::PopAndDestroy(repeatingTodoInstance1);
@@ -448,8 +464,24 @@
 	test.Printf(_L("test the instance time"));
 	test(repeatingTodoInstance2->Time().TimeLocalL() == instanceTime2.TimeLocalL());
 	test.Printf(_L("test the entry start and end times"));
-	test(repeatingTodoInstance2->Entry().StartTimeL().TimeLocalL() == startTime.TimeLocalL());
-	test(repeatingTodoInstance2->Entry().EndTimeL().TimeLocalL() == endTime.TimeLocalL());
+	
+	// Modified Start-> if DtStart date is equal to end date then align start date with DtStart date and 
+    // end date = end date + duration of the entry. 
+    // Thus moving the time window based on DtStart date   
+    test(repeatingTodoInstance2->Entry().StartTimeL().TimeLocalL() == endTime.TimeLocalL()); 
+    
+    newEndTime = endTime.TimeLocalL();
+    
+    endTime.TimeLocalL().MinutesFrom(startTime.TimeLocalL(), deltaMinutes);
+    newEndTime += deltaMinutes;
+        
+    deltaMicroSeconds = 
+            endTime.TimeLocalL().MicroSecondsFrom(startTime.TimeLocalL() + deltaMinutes);
+    newEndTime += deltaMicroSeconds;
+    
+    test(repeatingTodoInstance2->Entry().EndTimeL().TimeLocalL() == newEndTime);
+    //Modified End<-
+    
 	test.Printf(_L("fetch the description"));
 	test(repeatingTodoInstance2->Entry().DescriptionL().Compare(KEntryDescription) == 0);
 	CleanupStack::PopAndDestroy(repeatingTodoInstance2);
@@ -461,8 +493,24 @@
 	test.Printf(_L("test the instance time"));
 	test(repeatingTodoInstance3->Time().TimeLocalL() == instanceTime3.TimeLocalL());
 	test.Printf(_L("test the entry start and end times"));
-	test(repeatingTodoInstance3->Entry().StartTimeL().TimeLocalL() == startTime.TimeLocalL());
-	test(repeatingTodoInstance3->Entry().EndTimeL().TimeLocalL() == endTime.TimeLocalL());
+	
+	// Modified Start-> if DtStart date is equal to end date then align start date with DtStart date and 
+    // end date = end date + duration of the entry. 
+    // Thus moving the time window based on DtStart date   
+    test(repeatingTodoInstance3->Entry().StartTimeL().TimeLocalL() == endTime.TimeLocalL()); 
+    
+    newEndTime = endTime.TimeLocalL();
+    
+    endTime.TimeLocalL().MinutesFrom(startTime.TimeLocalL(), deltaMinutes);
+    newEndTime += deltaMinutes;
+        
+    deltaMicroSeconds = 
+            endTime.TimeLocalL().MicroSecondsFrom(startTime.TimeLocalL() + deltaMinutes);
+    newEndTime += deltaMicroSeconds;
+    
+    test(repeatingTodoInstance3->Entry().EndTimeL().TimeLocalL() == newEndTime);
+    //Modified End<-
+    
 	test.Printf(_L("fetch the description"));
 	test(repeatingTodoInstance3->Entry().DescriptionL().Compare(KEntryDescription) == 0);
 	CleanupStack::PopAndDestroy(repeatingTodoInstance3);
@@ -474,8 +522,24 @@
 	test.Printf(_L("test the instance time"));
 	test(repeatingTodoInstance4->Time().TimeLocalL() == instanceTime4.TimeLocalL());
 	test.Printf(_L("test the entry start and end times"));
-	test(repeatingTodoInstance4->Entry().StartTimeL().TimeLocalL() == startTime.TimeLocalL());
-	test(repeatingTodoInstance4->Entry().EndTimeL().TimeLocalL() == endTime.TimeLocalL());
+	
+	// Modified Start-> if DtStart date is equal to end date then align start date with DtStart date and 
+    // end date = end date + duration of the entry. 
+    // Thus moving the time window based on DtStart date   
+    test(repeatingTodoInstance4->Entry().StartTimeL().TimeLocalL() == endTime.TimeLocalL()); 
+    
+    newEndTime = endTime.TimeLocalL();
+    
+    endTime.TimeLocalL().MinutesFrom(startTime.TimeLocalL(), deltaMinutes);
+    newEndTime += deltaMinutes;
+        
+    deltaMicroSeconds = 
+            endTime.TimeLocalL().MicroSecondsFrom(startTime.TimeLocalL() + deltaMinutes);
+    newEndTime += deltaMicroSeconds;
+    
+    test(repeatingTodoInstance4->Entry().EndTimeL().TimeLocalL() == newEndTime);
+    //Modified End<-
+    
 	test.Printf(_L("fetch the description"));
 	test(repeatingTodoInstance4->Entry().DescriptionL().Compare(KEntryDescription) == 0);
 	CleanupStack::PopAndDestroy(repeatingTodoInstance4);
@@ -486,8 +550,24 @@
 	test.Printf(_L("test the instance time"));
 	test(rDateInstance->Time().TimeLocalL() == rDateTime.TimeLocalL());
 	test.Printf(_L("test the entry start and end times"));
-	test(rDateInstance->Entry().StartTimeL().TimeLocalL() == startTime.TimeLocalL());
-	test(rDateInstance->Entry().EndTimeL().TimeLocalL() == endTime.TimeLocalL());
+	
+	// Modified Start-> if DtStart date is equal to end date then align start date with DtStart date and 
+    // end date = end date + duration of the entry. 
+    // Thus moving the time window based on DtStart date   
+    test(rDateInstance->Entry().StartTimeL().TimeLocalL() == endTime.TimeLocalL()); 
+    
+    newEndTime = endTime.TimeLocalL();
+    
+    endTime.TimeLocalL().MinutesFrom(startTime.TimeLocalL(), deltaMinutes);
+    newEndTime += deltaMinutes;
+        
+    deltaMicroSeconds = 
+            endTime.TimeLocalL().MicroSecondsFrom(startTime.TimeLocalL() + deltaMinutes);
+    newEndTime += deltaMicroSeconds;
+    
+    test(rDateInstance->Entry().EndTimeL().TimeLocalL() == newEndTime);
+    //Modified End<-
+    
 	test.Printf(_L("fetch the description"));
 	test(rDateInstance->Entry().DescriptionL().Compare(KEntryDescription) == 0);
 	CleanupStack::PopAndDestroy(rDateInstance);
--- a/pimappservices/calendar/tsrc/tcal_dataexchange.cpp	Tue Jun 15 15:22:54 2010 +0100
+++ b/pimappservices/calendar/tsrc/tcal_dataexchange.cpp	Thu Jul 22 16:32:51 2010 +0100
@@ -133,7 +133,7 @@
 _LIT(KSUMMARY,          "First Entry");
 _LIT(KAttachmentFile, "tcal_datax_attachment.vcs");
 _LIT(KAttachmentCidFile, "c:\\calendar_attachments\\tcal_attach.jpg");
-
+_LIT(KCalendarAttachmentsDir, "c:\\private\\10003a5b\\attachments");
 
 _LIT8(KTzEuropeHelsinki, "Europe/Helsinki");
 _LIT8(KTzAmericaVancouver, "America/Vancouver");
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tsrc/group/bld.inf	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,21 @@
+/*
+* 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:   Includes organizer test code
+*
+*/
+
+#include "../../organizer_plat/tsrc/group/bld.inf"
+#include "../../organizer_pub/tsrc/group/bld.inf"
+
+// End of File.
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tsrc/tsrc.pro	Thu Jul 22 16:32:51 2010 +0100
@@ -0,0 +1,30 @@
+#  
+# 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:
+# This is the project specification file for organizer test code.
+#
+
+TEMPLATE = subdirs
+SUBDIRS +=  ../agendainterface/tsrc \
+			../alarmui/tsrc \
+			../calendarui/tsrc \
+			../clock/tsrc \
+			../notes/tsrc \
+			../organizer_plat/tsrc \
+			../organizer_pub/tsrc \
+			../pimappsupport/tsrc
+
+CONFIG += ordered
+
+# End of file	--Don't remove this