201025
authorhgs
Mon, 28 Jun 2010 15:22:02 +0530
changeset 45 b6db4fd4947b
parent 23 fd30d51f876b
child 46 ecd7b9840282
201025
agendainterface/agendautil/agendautil.pro
agendainterface/agendautil/bwins/agendainterfaceu.def
agendainterface/agendautil/eabi/agendainterfaceu.def
agendainterface/agendautil/inc/agendaentry.h
agendainterface/agendautil/inc/agendautil.h
agendainterface/agendautil/inc/agendautil_p.h
agendainterface/agendautil/src/agendaentry.cpp
agendainterface/agendautil/src/agendautil.cpp
agendainterface/agendautil/src/agendautil_p.cpp
agendainterface/bwins/agendainterfaceu.def
agendainterface/eabi/agendainterfaceu.def
agendainterface/inc/CleanupResetAndDestroy.h
agendainterface/inc/CleanupResetAndDestroy.inl
agendainterface/inc/agendautil.h
agendainterface/tsrc/tsrc.pro
alarmui/BWINS/ALMALERTU.DEF
alarmui/BWINS/ALMALERTu.def
alarmui/BWINS/AknAlarmServiceU.DEF
alarmui/BWINS/AknAlarmServiceu.def
alarmui/DataSrc/AlmAlert.rss
alarmui/EABI/AknAlarmServiceU.DEF
alarmui/EABI/AlmAlertU.DEF
alarmui/alarmalertwidget/alarmalertinterface/bwins/alarmalertwidgetu.def
alarmui/alarmalertwidget/alarmalertinterface/eabi/alarmalertwidgetu.def
alarmui/alarmalertwidget/alarmalertinterface/inc/alarmalertwidget.h
alarmui/alarmalertwidget/alarmalertinterface/inc/alarmalertwrapper.h
alarmui/alarmalertwidget/alarmalertinterface/src/alarmalertwidget.cpp
alarmui/alarmalertwidget/alarmalertinterface/src/alarmalertwrapper.cpp
alarmui/alarmalertwidget/alarmalertplugin/alarmalertplugin.pro
alarmui/alarmalertwidget/alarmalertplugin/data/alarmalert.qrc
alarmui/alarmalertwidget/alarmalertplugin/data/alarmui_en_GB.qm
alarmui/alarmalertwidget/alarmalertplugin/data/xml/alarmalert_calendar_unlocked.docml
alarmui/alarmalertwidget/alarmalertplugin/data/xml/alarmalert_clock_unlocked.docml
alarmui/alarmalertwidget/alarmalertplugin/data/xml/alarmalert_todo_unlocked.docml
alarmui/alarmalertwidget/alarmalertplugin/inc/alarmalert.h
alarmui/alarmalertwidget/alarmalertplugin/inc/alarmalertwidget_p.h
alarmui/alarmalertwidget/alarmalertplugin/src/alarmalertplugin.cpp
alarmui/alarmalertwidget/alarmalertplugin/src/alarmalertwidget_p.cpp
alarmui/alarmalertwidget/bwins/alarmalertwidgetu.def
alarmui/alarmalertwidget/eabi/alarmalertwidgetu.def
alarmui/eabi/AknAlarmServiceu.def
alarmui/eabi/AlmAlertu.def
alarmui/src/AlmAlarmControl.cpp
alarmui/src/alarmutils.cpp
alarmui/stubsis/alarmui_stub.pkg
alarmui/tsrc/tsrc.pro
calendarui/agendaeventviewer/agendaeventviewer.pro
calendarui/agendaeventviewer/bwins/agendaeventvieweru.def
calendarui/agendaeventviewer/data/agendaeventviewer.docml
calendarui/agendaeventviewer/data/agendaeventviewer.qrc
calendarui/agendaeventviewer/data/agendaeventvieweritem.css
calendarui/agendaeventviewer/data/agendaeventvieweritem.widgetml
calendarui/agendaeventviewer/data/agendaeventvieweritem_color.css
calendarui/agendaeventviewer/data/caleneventviewer_en_GB.qm
calendarui/agendaeventviewer/eabi/agendaeventvieweru.def
calendarui/agendaeventviewer/inc/agendaeventview.h
calendarui/agendaeventviewer/inc/agendaeventviewer_p.h
calendarui/agendaeventviewer/inc/agendaeventvieweritem.h
calendarui/agendaeventviewer/src/agendaeventview.cpp
calendarui/agendaeventviewer/src/agendaeventviewer_p.cpp
calendarui/agendaeventviewer/src/agendaeventvieweritem.cpp
calendarui/application/application.pro
calendarui/application/inc/calenserviceprovider.h
calendarui/application/src/calenserviceprovider.cpp
calendarui/application/src/main.cpp
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/calendarui.pro
calendarui/caleneditor/bwins/caleneditoru.def
calendarui/caleneditor/caleneditor.pro
calendarui/caleneditor/data/caleneditor.qrc
calendarui/caleneditor/data/caleneditor_en_GB.qm
calendarui/caleneditor/data/caleneditorlocationitem.docml
calendarui/caleneditor/data/caleneditorview.docml
calendarui/caleneditor/eabi/caleneditoru.def
calendarui/caleneditor/inc/caleneditor.h
calendarui/caleneditor/inc/caleneditor_p.h
calendarui/caleneditor/inc/caleneditorcommon.h
calendarui/caleneditor/inc/caleneditorcustomitem.h
calendarui/caleneditor/inc/caleneditorreminderfield.h
calendarui/caleneditor/inc/caleneditorrepeatfield.h
calendarui/caleneditor/src/caleneditor.cpp
calendarui/caleneditor/src/caleneditor_p.cpp
calendarui/caleneditor/src/caleneditorcustomitem.cpp
calendarui/caleneditor/src/caleneditorreminderfield.cpp
calendarui/caleneditor/src/caleneditorrepeatfield.cpp
calendarui/calenlauncher/bwins/calenlauncheru.def
calendarui/calenlauncher/eabi/calenlauncheru.def
calendarui/calenlauncher/inc/calenlauncher.h
calendarui/calenplugins/agendaeventviewerplugin/agendaeventviewerplugin.pro
calendarui/calenplugins/calenplugins.pro
calendarui/calenplugins/calensettingsplugin/calensettingsplugin.pro
calendarui/calenplugins/calensettingsplugin/inc/calendarsettingsview.h
calendarui/calenplugins/calensettingsplugin/inc/calensettingsplugin.h
calendarui/calenplugins/calensettingsplugin/src/calendarsettingsview.cpp
calendarui/calenplugins/calensettingsplugin/src/calensettingsplugin.cpp
calendarui/calenviewerservice/calenviewerservice.pro
calendarui/calenviewerservice/data/calenviewerservice_conf.xml
calendarui/calenviewerservice/inc/calenviewerservice.h
calendarui/calenviewerservice/src/calenviewerservice.cpp
calendarui/calenviewerservice/src/main.cpp
calendarui/calenviewerservice/traces/OstTraceDefinitions.h
calendarui/calenviewerservice/traces/calenviewerserviceTraces.h
calendarui/calenviewerservice/traces/fixed_id.definitions
calendarui/calenviewerservice/traces/mainTraces.h
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/commonutils/bwins/calencommonutilsu.def
calendarui/commonutils/eabi/calencommonutilsu.def
calendarui/commonutils/inc/calenagendautils.h
calendarui/commonutils/inc/calendateutils.h
calendarui/commonutils/src/calenagendautils.cpp
calendarui/commonutils/src/calendateutils.cpp
calendarui/conf/calendarUI.confml
calendarui/conf/calendarUI_101F874B.crml
calendarui/controller/bwins/calencontrolleru.def
calendarui/controller/controller.pro
calendarui/controller/data/calendar.qrc
calendarui/controller/data/calendar_en_GB.qm
calendarui/controller/data/xml/calenagendaview.docml
calendarui/controller/data/xml/calenmonthview.docml
calendarui/controller/eabi/calencontrolleru.def
calendarui/controller/inc/calenactionuiutils.h
calendarui/controller/inc/calencontroller.h
calendarui/controller/inc/calendeleteui.h
calendarui/controller/inc/calennotificationhandler.h
calendarui/controller/inc/calenstatetable.h
calendarui/controller/inc/calenviewmanager.h
calendarui/controller/src/calenactionui.cpp
calendarui/controller/src/calenactionuiutils.cpp
calendarui/controller/src/calenbackgroundstate.cpp
calendarui/controller/src/calencontroller.cpp
calendarui/controller/src/calendeleteui.cpp
calendarui/controller/src/calendocloader.cpp
calendarui/controller/src/caleneditui.cpp
calendarui/controller/src/calenidlestate.cpp
calendarui/controller/src/calensettingsstate.cpp
calendarui/controller/src/calenstatemachine.cpp
calendarui/controller/src/calenviewmanager.cpp
calendarui/customisationmanager/bwins/calencustomisationmanageru.def
calendarui/customisationmanager/eabi/calencustomisationmanageru.def
calendarui/customisationmanager/inc/calencustomisationmanager.h
calendarui/customisationmanager/src/calencustomisationmanager.cpp
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/globaldata/bwins/calenglobaldatau.def
calendarui/globaldata/eabi/calenglobaldatau.def
calendarui/globaldata/inc/calencontext.h
calendarui/globaldata/inc/calencontextimpl.h
calendarui/globaldata/src/calencontextimpl.cpp
calendarui/inc/CalenConstants.h
calendarui/inc/CalenUid.h
calendarui/inc/CalendarInternalCRKeys.h
calendarui/inc/CalendarPrivateCRKeys.h
calendarui/inc/calenagendautils.h
calendarui/inc/calencommandhandler.h
calendarui/inc/calencommon.h
calendarui/inc/calendateutils.h
calendarui/inc/hb_calencommands.hrh
calendarui/loc/calendar.loc
calendarui/regionalplugins/bwins/calenlunarchinesepluginu.def
calendarui/regionalplugins/calenregionalutil/calenregionalutil.pro
calendarui/regionalplugins/calenregionalutil/data/calenregional_en_GB.qm
calendarui/regionalplugins/calenregionalutil/data/calenregionalutil.qrc
calendarui/regionalplugins/calenregionalutil/data/calenregionalutil.rss
calendarui/regionalplugins/calenregionalutil/eabi/calenregionalutilu.def
calendarui/regionalplugins/calenregionalutil/group/bld.inf
calendarui/regionalplugins/calenregionalutil/group/calenregionalutil.mmp
calendarui/regionalplugins/calenregionalutil/inc/calenlunarlocalizer.h
calendarui/regionalplugins/calenregionalutil/src/calenextrarowformatter.cpp
calendarui/regionalplugins/calenregionalutil/src/calenlunarinfo.cpp
calendarui/regionalplugins/calenregionalutil/src/calenlunarlocalizer.cpp
calendarui/regionalplugins/calenregionalutil/src/calensolarterms.cpp
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/lunarVietnamese/src/calenlunarvietnameseplugin.cpp
calendarui/regionalplugins/lunarchinese/bwins/calenlunarchinesepluginu.def
calendarui/regionalplugins/lunarchinese/data/2002EA3C.rss
calendarui/regionalplugins/lunarchinese/data/CalenLunarChinesePluginData.rss
calendarui/regionalplugins/lunarchinese/eabi/calenlunarchinesepluginu.def
calendarui/regionalplugins/lunarchinese/inc/CalenLunarChinesePlugin.h
calendarui/regionalplugins/lunarchinese/lunarchinese.pro
calendarui/regionalplugins/lunarchinese/src/CalenLunarChinesePlugin.cpp
calendarui/regionalplugins/regionalplugins.pro
calendarui/rom/Calendar.iby
calendarui/rom/CalendarResources.iby
calendarui/rom/calendar.iby
calendarui/rom/calendarresources.iby
calendarui/rom/calenlunarchinese_variant.iby
calendarui/rom/calenregionalutil.iby
calendarui/rom/calenviewerservice.iby
calendarui/settings/bwins/calensettingsu.def
calendarui/settings/eabi/calensettingsu.def
calendarui/settings/inc/calensettings.h
calendarui/settings/settings.pro
calendarui/settings/src/calensettings.cpp
calendarui/sis/calendar.pkg
calendarui/sis/createandsign.bat
calendarui/sis/nokia_rndcert_02.der
calendarui/sis/nokia_rndcert_02.key
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/stubsis/calendar_stub.pkg
calendarui/stubsis/calendar_stub.sis
calendarui/tsrc/tsrc.pro
calendarui/tsrc/unittest_calencommonutils/inc/test_calenagendautils.h
calendarui/tsrc/unittest_calencommonutils/inc/test_calendateutils.h
calendarui/tsrc/unittest_calencommonutils/rom/unittest_calencommonutils.iby
calendarui/tsrc/unittest_calencommonutils/src/main.cpp
calendarui/tsrc/unittest_calencommonutils/src/test_calenagendautils.cpp
calendarui/tsrc/unittest_calencommonutils/src/test_calendateutils.cpp
calendarui/tsrc/unittest_calencommonutils/unittest_calencommonutils.pro
calendarui/tsrc/unittest_calenviewerservice/data/meeting.ics
calendarui/tsrc/unittest_calenviewerservice/data/meeting.vcs
calendarui/tsrc/unittest_calenviewerservice/inc/test_calenviewerservice.h
calendarui/tsrc/unittest_calenviewerservice/rom/unittest_calenviewerservice.iby
calendarui/tsrc/unittest_calenviewerservice/src/main.cpp
calendarui/tsrc/unittest_calenviewerservice/src/test_calenviewerservice.cpp
calendarui/tsrc/unittest_calenviewerservice/unittest_calenviewerservice.pro
calendarui/views/bwins/calenviewsu.def
calendarui/views/dayview/dayview.pri
calendarui/views/dayview/inc/calendaycommonheaders.h
calendarui/views/dayview/inc/calendaycontainer.h
calendarui/views/dayview/inc/calendaycontentscrollarea.h
calendarui/views/dayview/inc/calendaycontentwidget.h
calendarui/views/dayview/inc/calendayeventspane.h
calendarui/views/dayview/inc/calendayhourelement.h
calendarui/views/dayview/inc/calendayhourscrollarea.h
calendarui/views/dayview/inc/calendayinfo.h
calendarui/views/dayview/inc/calendayitem.h
calendarui/views/dayview/inc/calendayitemview.h
calendarui/views/dayview/inc/calendaymodel.h
calendarui/views/dayview/inc/calendaymodelmanager.h
calendarui/views/dayview/inc/calendaystatusstrip.h
calendarui/views/dayview/inc/calendayutils.h
calendarui/views/dayview/inc/calendayview.h
calendarui/views/dayview/resources/calendayhourelement.css
calendarui/views/dayview/resources/calendayhourelement.widgetml
calendarui/views/dayview/resources/calendayitem.css
calendarui/views/dayview/resources/calendayitem.widgetml
calendarui/views/dayview/resources/calendaywidgets.qrc
calendarui/views/dayview/resources/fade_in.fxml
calendarui/views/dayview/resources/fade_out.fxml
calendarui/views/dayview/src/calendaycontainer.cpp
calendarui/views/dayview/src/calendaycontentscrollarea.cpp
calendarui/views/dayview/src/calendaycontentwidget.cpp
calendarui/views/dayview/src/calendayeventspane.cpp
calendarui/views/dayview/src/calendayhourelement.cpp
calendarui/views/dayview/src/calendayhourscrollarea.cpp
calendarui/views/dayview/src/calendayinfo.cpp
calendarui/views/dayview/src/calendayitem.cpp
calendarui/views/dayview/src/calendayitemview.cpp
calendarui/views/dayview/src/calendaymodel.cpp
calendarui/views/dayview/src/calendaymodelmanager.cpp
calendarui/views/dayview/src/calendaystatusstrip.cpp
calendarui/views/dayview/src/calendayutils.cpp
calendarui/views/dayview/src/calendayview.cpp
calendarui/views/dayview/tsrc/tsrc.pro
calendarui/views/dayview/tsrc/unittests/unittest_calendaycontainer/calendayinfo.h
calendarui/views/dayview/tsrc/unittests/unittest_calendaycontainer/calendayview.h
calendarui/views/dayview/tsrc/unittests/unittest_calendaycontainer/caleninstanceid.h
calendarui/views/dayview/tsrc/unittests/unittest_calendaycontainer/hbinstance.h
calendarui/views/dayview/tsrc/unittests/unittest_calendaycontainer/rom/unittest_calendaycontainer.iby
calendarui/views/dayview/tsrc/unittests/unittest_calendaycontainer/unittest_calendaycontainer.cpp
calendarui/views/dayview/tsrc/unittests/unittest_calendaycontainer/unittest_calendaycontainer.pro
calendarui/views/dayview/tsrc/unittests/unittest_calendaycontentwidget/calendaycontentwidgetheaders.h
calendarui/views/dayview/tsrc/unittests/unittest_calendaycontentwidget/calendaymodelmanager.h
calendarui/views/dayview/tsrc/unittests/unittest_calendaycontentwidget/rom/unittest_calendaycontentwidget.iby
calendarui/views/dayview/tsrc/unittests/unittest_calendaycontentwidget/unittest_calendaycontentwidget.cpp
calendarui/views/dayview/tsrc/unittests/unittest_calendaycontentwidget/unittest_calendaycontentwidget.pro
calendarui/views/dayview/tsrc/unittests/unittest_calendayeventspane/rom/unittest_calendayeventspane.iby
calendarui/views/dayview/tsrc/unittests/unittest_calendayeventspane/unittest_calendayeventspane.cpp
calendarui/views/dayview/tsrc/unittests/unittest_calendayeventspane/unittest_calendayeventspane.pro
calendarui/views/dayview/tsrc/unittests/unittest_calendayhourelement/rom/unittest_calendayhourelement.iby
calendarui/views/dayview/tsrc/unittests/unittest_calendayhourelement/unittest_calendayhourelement.cpp
calendarui/views/dayview/tsrc/unittests/unittest_calendayhourelement/unittest_calendayhourelement.pro
calendarui/views/dayview/tsrc/unittests/unittest_calendayhourscrollarea/rom/unittest_calendayhourscrollarea.iby
calendarui/views/dayview/tsrc/unittests/unittest_calendayhourscrollarea/unittest_calendayhourscrollarea.cpp
calendarui/views/dayview/tsrc/unittests/unittest_calendayhourscrollarea/unittest_calendayhourscrollarea.pro
calendarui/views/dayview/tsrc/unittests/unittest_calendayinfo/rom/unittest_calendayinfo.iby
calendarui/views/dayview/tsrc/unittests/unittest_calendayinfo/unittest_calendayinfo.cpp
calendarui/views/dayview/tsrc/unittests/unittest_calendayinfo/unittest_calendayinfo.pro
calendarui/views/dayview/tsrc/unittests/unittest_calendayitem/rom/unittest_calendayitem.iby
calendarui/views/dayview/tsrc/unittests/unittest_calendayitem/unittest_calendayitem.cpp
calendarui/views/dayview/tsrc/unittests/unittest_calendayitem/unittest_calendayitem.pro
calendarui/views/dayview/tsrc/unittests/unittest_calendayitemview/calencontext.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayitemview/calendaycontainer.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayitemview/calendayinfo.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayitemview/calendaymodel.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayitemview/calenservices.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayitemview/hbinstance.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayitemview/rom/unittest_calendayitemview.iby
calendarui/views/dayview/tsrc/unittests/unittest_calendayitemview/unittest_calendayitemview.cpp
calendarui/views/dayview/tsrc/unittests/unittest_calendayitemview/unittest_calendayitemview.pro
calendarui/views/dayview/tsrc/unittests/unittest_calendaymodel/calenservices.h
calendarui/views/dayview/tsrc/unittests/unittest_calendaymodel/rom/unittest_calendaymodel.iby
calendarui/views/dayview/tsrc/unittests/unittest_calendaymodel/unittest_calendaymodel.cpp
calendarui/views/dayview/tsrc/unittests/unittest_calendaymodel/unittest_calendaymodel.pro
calendarui/views/dayview/tsrc/unittests/unittest_calendaymodelmanager/calencontext.h
calendarui/views/dayview/tsrc/unittests/unittest_calendaymodelmanager/calendaymodel.h
calendarui/views/dayview/tsrc/unittests/unittest_calendaymodelmanager/calenservices.h
calendarui/views/dayview/tsrc/unittests/unittest_calendaymodelmanager/rom/unittest_calendaymodelmanager.iby
calendarui/views/dayview/tsrc/unittests/unittest_calendaymodelmanager/unittest_calendaymodelmanager.cpp
calendarui/views/dayview/tsrc/unittests/unittest_calendaymodelmanager/unittest_calendaymodelmanager.pro
calendarui/views/dayview/tsrc/unittests/unittest_calendaystatusstrip/calendaystatusstriptest.h
calendarui/views/dayview/tsrc/unittests/unittest_calendaystatusstrip/rom/unittest_calendaystatusstrip.iby
calendarui/views/dayview/tsrc/unittests/unittest_calendaystatusstrip/unittest_calendaystatusstrip.cpp
calendarui/views/dayview/tsrc/unittests/unittest_calendaystatusstrip/unittest_calendaystatusstrip.pro
calendarui/views/dayview/tsrc/unittests/unittest_calendayutils/hbinstance.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayutils/rom/unittest_calendayutils.iby
calendarui/views/dayview/tsrc/unittests/unittest_calendayutils/unittest_calendayutils.cpp
calendarui/views/dayview/tsrc/unittests/unittest_calendayutils/unittest_calendayutils.pro
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/CalenUid.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/CalendarPrivateCRKeys.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calencontext.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calendateutils.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calendaycontentscrollarea.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calendaycontentwidget.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calendayhourscrollarea.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calendaymodelmanager.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calendayutils.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calendocloader.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calennativeview.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calennotificationhandler.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calenpluginlabel.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calenservices.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/calenview.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/hb_calencommands.hrh
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/hbeffect.h
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/rom/unittest_calendayview.iby
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/unittest_calendayview.cpp
calendarui/views/dayview/tsrc/unittests/unittest_calendayview/unittest_calendayview.pro
calendarui/views/dayview/tsrc/unittests/unittests.pro
calendarui/views/eabi/calenviewsu.def
calendarui/views/inc/calenagendaview.h
calendarui/views/inc/calenagendaviewwidget.h
calendarui/views/inc/calendayview.h
calendarui/views/inc/calendayviewwidget.h
calendarui/views/inc/caleneventlistviewitem.h
calendarui/views/inc/calengriditemprototype.h
calendarui/views/inc/calenmonthgrid.h
calendarui/views/inc/calenmonthview.h
calendarui/views/inc/calennativeview.h
calendarui/views/inc/calenpluginlabel.h
calendarui/views/inc/calenpreviewpane.h
calendarui/views/inc/calensettingsview.h
calendarui/views/inc/calentodayindicatorlinedrawer.h
calendarui/views/resources/caleneventlistviewitem.css
calendarui/views/resources/caleneventlistviewitem.widgetml
calendarui/views/resources/caleneventlistviewitem_color.css
calendarui/views/resources/calengriditemprototype.css
calendarui/views/resources/calenresources.qrc
calendarui/views/resources/view_hide_back.fxml
calendarui/views/resources/view_show_back.fxml
calendarui/views/src/calenagendaview.cpp
calendarui/views/src/calenagendaviewwidget.cpp
calendarui/views/src/calendayview.cpp
calendarui/views/src/calendayviewwidget.cpp
calendarui/views/src/caleneventlistviewitem.cpp
calendarui/views/src/calengriditemprototype.cpp
calendarui/views/src/calenmonthgrid.cpp
calendarui/views/src/calenmonthview.cpp
calendarui/views/src/calennativeview.cpp
calendarui/views/src/calenpluginlabel.cpp
calendarui/views/src/calenpreviewpane.cpp
calendarui/views/src/calensettingsview.cpp
calendarui/views/src/calenthicklinesdrawer.cpp
calendarui/views/src/calentodayindicatorlinedrawer.cpp
calendarui/views/views.pro
clock/clock.pro
clock/clockengines/clockserver/server/inc/clockprivatecrkeys.h
clock/clockengines/clockserver/server/src/clockserver.cpp
clock/clockengines/clockserver/server/src/clockserverimpl.cpp
clock/clockmw/bwins/clockalarmclientu.def
clock/clockmw/bwins/clocksettingsutilityu.def
clock/clockmw/bwins/clockstopwatchengineu.def
clock/clockmw/bwins/timezoneclientu.def
clock/clockmw/clockalarms/bwins/clockalarmclientu.def
clock/clockmw/clockalarms/eabi/clockalarmclientu.def
clock/clockmw/clockalarms/inc/alarmclient.h
clock/clockmw/clockalarms/src/alarmclient.cpp
clock/clockmw/clockalarms/src/alarmlistener.cpp
clock/clockmw/clocksettingsutility/bwins/clocksettingsutilityu.def
clock/clockmw/clocksettingsutility/eabi/clocksettingsutilityu.def
clock/clockmw/clocksettingsutility/inc/settingsutility.h
clock/clockmw/clocksettingsutility/src/settingsutility.cpp
clock/clockmw/clocktimezone/bwins/timezoneclientu.def
clock/clockmw/clocktimezone/clocktimezone.pro
clock/clockmw/clocktimezone/eabi/timezoneclientu.def
clock/clockmw/clocktimezone/inc/timezoneclient.h
clock/clockmw/clocktimezone/src/timezoneclient.cpp
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/bwins/clockwidgetprotou.def
clock/clockui/clockalarmeditor/bwins/clockalarmeditoru.def
clock/clockui/clockalarmeditor/clockalarmeditor.pro
clock/clockui/clockalarmeditor/data/clockalarmeditor.qrc
clock/clockui/clockalarmeditor/data/translations/clockalarmeditor.qm
clock/clockui/clockalarmeditor/data/translations/clockalarmeditor.ts
clock/clockui/clockalarmeditor/data/xml/clockalarmeditor.docml
clock/clockui/clockalarmeditor/eabi/clockalarmeditoru.def
clock/clockui/clockalarmeditor/inc/clockalarmeditor.h
clock/clockui/clockalarmeditor/src/clockalarmeditor.cpp
clock/clockui/clockappcontroller/bwins/clockappcontrolleru.def
clock/clockui/clockappcontroller/eabi/clockappcontrolleru.def
clock/clockui/clockappcontroller/src/clockappcontroller.cpp
clock/clockui/clockappcontroller/src/clockappcontrollerifimpl.cpp
clock/clockui/clockapplication/clockapplication.pro
clock/clockui/clockapplication/src/main.cpp
clock/clockui/clockcityselectionlist/bwins/clockcityselectionlistu.def
clock/clockui/clockcityselectionlist/clockcityselectionlist.pro
clock/clockui/clockcityselectionlist/data/clockcityselectionlist.qrc
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/data/xml/clockcityselectionlist.docml
clock/clockui/clockcityselectionlist/eabi/clockcityselectionlistu.def
clock/clockui/clockcityselectionlist/inc/clockcityselectionlist.h
clock/clockui/clockcityselectionlist/inc/clockcityselectionlist_p.h
clock/clockui/clockcityselectionlist/inc/clockcityselectionlistprototype.h
clock/clockui/clockcityselectionlist/src/clockcityselectionlist.cpp
clock/clockui/clockcityselectionlist/src/clockcityselectionlist_p.cpp
clock/clockui/clockcityselectionlist/src/clockcityselectionlistprototype.cpp
clock/clockui/clockplugins/clockplugins.pro
clock/clockui/clockplugins/clocksettingsviewplugin/clocksettingsviewplugin.pro
clock/clockui/clockplugins/clocksettingsviewplugin/inc/clocksettingsviewplugin.h
clock/clockui/clockplugins/clocksettingsviewplugin/src/clocksettingsviewplugin.cpp
clock/clockui/clockplugins/datetimesettingsplugin/datetimesettingsplugin.pro
clock/clockui/clockplugins/datetimesettingsplugin/inc/datetimesettingsplugin.h
clock/clockui/clockplugins/datetimesettingsplugin/inc/datetimesettingsview.h
clock/clockui/clockplugins/datetimesettingsplugin/src/datetimesettingsplugin.cpp
clock/clockui/clockplugins/datetimesettingsplugin/src/datetimesettingsview.cpp
clock/clockui/clocksettingsview/bwins/clocksettingsviewu.def
clock/clockui/clocksettingsview/clocksettingsview.pro
clock/clockui/clocksettingsview/data/clocksettingsview.qrc
clock/clockui/clocksettingsview/data/translations/clocksettingsview.qm
clock/clockui/clocksettingsview/data/translations/clocksettingsview.ts
clock/clockui/clocksettingsview/data/xml/clockregionalsettingsview.docml
clock/clockui/clocksettingsview/data/xml/clocksettingsview.docml
clock/clockui/clocksettingsview/eabi/clocksettingsviewu.def
clock/clockui/clocksettingsview/inc/clockregionalsettingsview.h
clock/clockui/clocksettingsview/inc/clocksettingsview.h
clock/clockui/clocksettingsview/inc/settingscustomitem.h
clock/clockui/clocksettingsview/src/clockregionalsettingsview.cpp
clock/clockui/clocksettingsview/src/clocksettingsdocloader.cpp
clock/clockui/clocksettingsview/src/clocksettingsview.cpp
clock/clockui/clocksettingsview/src/settingscustomitem.cpp
clock/clockui/clockviewmanager/bwins/clockviewmanageru.def
clock/clockui/clockviewmanager/clockviewmanager.pro
clock/clockui/clockviewmanager/eabi/clockviewmanageru.def
clock/clockui/clockviewmanager/inc/clockviewmanager.h
clock/clockui/clockviewmanager/src/clockdocloader.cpp
clock/clockui/clockviewmanager/src/clockviewmanager.cpp
clock/clockui/clockviews/bwins/clockviewsu.def
clock/clockui/clockviews/clockviews.pro
clock/clockui/clockviews/data/clockviews.qrc
clock/clockui/clockviews/data/style/clockalarmlistitemprototype.css
clock/clockui/clockviews/data/style/clockalarmlistitemprototype_color.css
clock/clockui/clockviews/data/style/clockhomecityitem.css
clock/clockui/clockviews/data/style/clockhomecityitem.widgetml
clock/clockui/clockviews/data/style/clockhomecityitem_color.css
clock/clockui/clockviews/data/style/hblistviewitem.css
clock/clockui/clockviews/data/style/hblistviewitem.widgetml
clock/clockui/clockviews/data/style/hblistviewitem_color.css
clock/clockui/clockviews/data/style/listitemprototype.css
clock/clockui/clockviews/data/style/listitemprototype.widgetml
clock/clockui/clockviews/data/xml/clockmainview.docml
clock/clockui/clockviews/data/xml/clockworldview.docml
clock/clockui/clockviews/eabi/clockviewsu.def
clock/clockui/clockviews/inc/clockalarmlistitemprototype.h
clock/clockui/clockviews/inc/clockhomecityitem.h
clock/clockui/clockviews/inc/clockmainview.h
clock/clockui/clockviews/inc/clockviewsdefines.h
clock/clockui/clockviews/inc/clockworldview.h
clock/clockui/clockviews/inc/listitemprototype.h
clock/clockui/clockviews/src/clockalarmlistitemprototype.cpp
clock/clockui/clockviews/src/clockalarmlistmodel.cpp
clock/clockui/clockviews/src/clockhomecityitem.cpp
clock/clockui/clockviews/src/clockmainview.cpp
clock/clockui/clockviews/src/clockworldview.cpp
clock/clockui/clockviews/src/listitemprototype.cpp
clock/clockui/clockwidget/clockwidget.pro
clock/clockui/clockwidget/clockwidgetimpl/bwins/clockwidgetu.def
clock/clockui/clockwidget/clockwidgetimpl/clockwidgetimpl.pro
clock/clockui/clockwidget/clockwidgetimpl/clockwidgetimpl.qrc
clock/clockui/clockwidget/clockwidgetimpl/eabi/clockwidgetu.def
clock/clockui/clockwidget/clockwidgetimpl/inc/analogclockwidget.h
clock/clockui/clockwidget/clockwidgetimpl/inc/clockwidget.h
clock/clockui/clockwidget/clockwidgetimpl/inc/clockwidgetdefines.h
clock/clockui/clockwidget/clockwidgetimpl/inc/digitalclockwidget.h
clock/clockui/clockwidget/clockwidgetimpl/resource/analogclockwidget.css
clock/clockui/clockwidget/clockwidgetimpl/resource/analogclockwidget.widgetml
clock/clockui/clockwidget/clockwidgetimpl/resource/digitalclockwidget.css
clock/clockui/clockwidget/clockwidgetimpl/resource/digitalclockwidget.widgetml
clock/clockui/clockwidget/clockwidgetimpl/resource/digitalclockwidget_color.css
clock/clockui/clockwidget/clockwidgetimpl/src/analogclockwidget.cpp
clock/clockui/clockwidget/clockwidgetimpl/src/clockwidget.cpp
clock/clockui/clockwidget/clockwidgetimpl/src/digitalclockwidget.cpp
clock/clockui/clockwidget/clockwidgetplugin/clockwidgetplugin.h
clock/clockui/clockwidget/clockwidgetplugin/clockwidgetplugin.pro
clock/clockui/clockwidget/clockwidgetplugin/main.cpp
clock/clockui/clockwidget/inc/analogclock.h
clock/clockui/clockwidget/inc/clockwidgetdefines.h
clock/clockui/clockwidget/inc/digitalclock.h
clock/clockui/clockwidget/inc/skinnableclock.h
clock/clockui/clockwidget/src/analogclock.cpp
clock/clockui/clockwidget/src/digitalclock.cpp
clock/clockui/clockwidget/src/skinnableclock.cpp
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/clockui/eabi/clockwidgetprotou.def
clock/conf/CI_clockapp.confml
clock/conf/clockapp.confml
clock/conf/clockapp_101F874D.crml
clock/conf/clockapp_101F8876.crml
clock/data/alarm/qtg_test_alarm.svg
clock/data/alarm/qtg_test_noalarm.svg
clock/data/alarm/qtg_test_repeat.svg
clock/data/clock.qrc
clock/data/timer/knob_arc_indicator_1min.svg
clock/data/timer/qtg_graf_timer2_arrow.svg
clock/data/timer/qtg_graf_timer2_base.svg
clock/data/timer/qtg_graf_timer2_button.svg
clock/data/timer/qtg_graf_timer2_colorindication.svg
clock/data/timer/qtg_graf_timer2_pointer.svg
clock/data/timer/qtg_graf_timer2_time24.svg
clock/data/timer/qtg_graf_timer2_time60.svg
clock/data/timer/qtg_graf_timer_bg.svg
clock/data/timer/qtg_graf_timer_overlay.svg
clock/data/timer/qtg_graf_timer_pointer.svg
clock/data/toolbar/qtg_test_addnewcity.svg
clock/data/toolbar/qtg_test_alarm.svg
clock/data/toolbar/qtg_test_analyze.svg
clock/data/toolbar/qtg_test_lap.svg
clock/data/toolbar/qtg_test_newalarm.svg
clock/data/toolbar/qtg_test_reset.svg
clock/data/toolbar/qtg_test_split.svg
clock/data/toolbar/qtg_test_start.svg
clock/data/toolbar/qtg_test_stop.svg
clock/data/toolbar/qtg_test_stopwatch.svg
clock/data/toolbar/qtg_test_timer.svg
clock/data/toolbar/qtg_test_worldclock.svg
clock/data/translations/clock.qm
clock/data/translations/clock.ts
clock/data/worldclock/qgn_clock_time_zone.svg
clock/data/worldclock/qgn_indi_dst_add.svg
clock/data/worldclock/qgn_indi_find.svg
clock/data/worldclock/qgn_test_city_default.svg
clock/data/worldclock/qtg_test_homecity.svg
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
clock/inc/clockcommon.h
clock/inc/clockprivatecrkeys.h
clock/rom/clock.iby
clock/rom/clockengines.iby
clock/sis/clock.pkg
clock/sis/createandsign.bat
clock/sis/nokia_rndcert_02.der
clock/sis/nokia_rndcert_02.key
clock/stubsis/clock_stub.pkg
clock/stubsis/clock_stub.sis
clock/tsrc/tsrc.pro
notes/data/notes.qrc
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/notes.pro
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/notesappcontroller/bwins/notesappcontrolleru.def
notes/notesui/notesappcontroller/eabi/notesappcontrolleru.def
notes/notesui/notesappcontroller/src/notesappcontroller.cpp
notes/notesui/notesappcontroller/src/notesappcontrollerifimpl.cpp
notes/notesui/notesapplication/notesapplication.pro
notes/notesui/notesapplication/rndcert.der
notes/notesui/notesapplication/rndcert.key
notes/notesui/notesapplication/src/main.cpp
notes/notesui/noteseditor/bwins/noteseditoru.def
notes/notesui/noteseditor/data/noteseditor.qrc
notes/notesui/noteseditor/data/translations/notes.qm
notes/notesui/noteseditor/data/translations/notes.ts
notes/notesui/noteseditor/data/xml/notesnoteeditor.docml
notes/notesui/noteseditor/data/xml/todoeditor.docml
notes/notesui/noteseditor/eabi/noteseditoru.def
notes/notesui/noteseditor/inc/noteseditor.h
notes/notesui/noteseditor/inc/noteseditor_p.h
notes/notesui/noteseditor/inc/noteseditordefines.h
notes/notesui/noteseditor/inc/notesnoteeditor.h
notes/notesui/noteseditor/inc/notestodoeditor.h
notes/notesui/noteseditor/inc/notestodoeditorcustomitem.h
notes/notesui/noteseditor/noteseditor.pro
notes/notesui/noteseditor/src/noteseditor.cpp
notes/notesui/noteseditor/src/noteseditor_p.cpp
notes/notesui/noteseditor/src/notesnoteeditor.cpp
notes/notesui/noteseditor/src/notestodoeditor.cpp
notes/notesui/noteseditor/src/notestodoeditorcustomitem.cpp
notes/notesui/notesmodel/bwins/notesmodelu.def
notes/notesui/notesmodel/eabi/notesmodelu.def
notes/notesui/notesmodel/inc/notesmodel.h
notes/notesui/notesmodel/src/notesmodel.cpp
notes/notesui/notesmodelhandler/bwins/notesmodelhandleru.def
notes/notesui/notesmodelhandler/eabi/notesmodelhandleru.def
notes/notesui/notesplugins/noteseditorplugin/inc/noteseditorplugin.h
notes/notesui/notesplugins/noteseditorplugin/noteseditorplugin.pro
notes/notesui/notesplugins/noteseditorplugin/src/noteseditorplugin.cpp
notes/notesui/notesplugins/notesplugins.pro
notes/notesui/notesui.pro
notes/notesui/notesviewmanager/bwins/notesviewmanageru.def
notes/notesui/notesviewmanager/eabi/notesviewmanageru.def
notes/notesui/notesviewmanager/inc/notesviewmanager.h
notes/notesui/notesviewmanager/src/notesviewmanager.cpp
notes/notesui/notesviews/bwins/notesviewsu.def
notes/notesui/notesviews/eabi/notesviewsu.def
notes/notesui/notesviews/inc/notescollectionview.h
notes/notesui/notesviews/inc/notesfavoriteview.h
notes/notesui/notesviews/inc/notesmainview.h
notes/notesui/notesviews/inc/notesnoteview.h
notes/notesui/notesviews/inc/notestodoview.h
notes/notesui/notesviews/inc/notesviewsdefines.h
notes/notesui/notesviews/src/notescollectionview.cpp
notes/notesui/notesviews/src/notesfavoriteview.cpp
notes/notesui/notesviews/src/notesmainview.cpp
notes/notesui/notesviews/src/notesnoteview.cpp
notes/notesui/notesviews/src/notestodoview.cpp
notes/rom/notes.iby
notes/sis/createandsign.bat
notes/sis/nokia_rndcert_02.der
notes/sis/nokia_rndcert_02.key
notes/sis/notes.pkg
notes/siscreate.bat
notes/stubsis/notes_stub.pkg
notes/stubsis/notes_stub.sis
notes/tsrc/rom/unit_notes.iby
notes/tsrc/rom/unit_noteseditor.iby
notes/tsrc/tsrc.pro
notes/tsrc/unittest_noteseditor/inc/unittest_noteseditor.h
notes/tsrc/unittest_noteseditor/src/main.cpp
notes/tsrc/unittest_noteseditor/src/unittest_noteseditor.cpp
notes/tsrc/unittest_noteseditor/unittest_noteseditor.pkg
notes/tsrc/unittest_noteseditor/unittest_noteseditor.pro
notes/tsrc/unittest_notesmodel/src/unittest_notesmodel.cpp
notes/tsrc/unittest_notesmodel/unittest_notesmodel.pkg
notes/tsrc/unittest_notesmodel/unittest_notesmodel.pro
organizer.pro
organizer_info/organizer_metadata/organizer_metadata.mrp
organizer_plat/agenda_interface_api/inc/agendaentry.h
organizer_plat/agenda_interface_api/inc/agendautil.h
organizer_plat/agenda_interface_api/tsrc/tsrc.pro
organizer_plat/agenda_interface_api/tsrc/unittest_agendautil/src/unittest_agendautil.cpp
organizer_plat/agenda_interface_api/tsrc/unittest_agendautil/unittest_agendautil.pro
organizer_plat/agenda_versit_2_api/tsrc/group/testagnversit2.mmp
organizer_plat/agenda_versit_2_api/tsrc/src/testagnversit2.cpp
organizer_plat/calendar_editor_api/tsrc/unittest_caleneditor/unittest_caleneditor.pro
organizer_plat/calendar_exporter_api/inc/CalenExporter.h
organizer_plat/calendar_importer_api/inc/CalenImporter.h
organizer_plat/calendar_importer_api/tsrc/src/calenimportertestblocks.cpp
organizer_plat/calendar_launcher_api/inc/CalenLauncher.h
organizer_plat/calendar_launcher_api/inc/calenlauncher.h
organizer_plat/calendar_launcher_api/tsrc/tsrc.pro
organizer_plat/calendar_launcher_api/tsrc/unittest_calenlauncher/src/unittest_calenlauncher.cpp
organizer_plat/calendar_launcher_api/tsrc/unittest_calenlauncher/unittest_calenlauncher.pro
organizer_plat/calendar_settings_keys_api/calendar_settings_keys_api.pri
organizer_plat/calendar_settings_keys_api/inc/calendardomaincrkeys.h
organizer_plat/clock_settings_keys_api/clock_settings_keys_api.pri
organizer_plat/clock_settings_keys_api/inc/clockdomaincrkeys.h
organizer_plat/clock_settingsview_plugin_api/clock_settingsview_plugin_api.pri
organizer_plat/clock_settingsview_plugin_api/inc/ClockSettingsViewInterface
organizer_plat/clock_settingsview_plugin_api/inc/clocksettingsviewinterface.h
organizer_plat/clock_settingsview_plugin_api/tsrc/rom/unit_clocksettingsviewplugin.iby
organizer_plat/clock_settingsview_plugin_api/tsrc/unittest_clocksettingsviewplugin/inc/unittest_clocksettingsviewplugin.h
organizer_plat/clock_settingsview_plugin_api/tsrc/unittest_clocksettingsviewplugin/src/main.cpp
organizer_plat/clock_settingsview_plugin_api/tsrc/unittest_clocksettingsviewplugin/src/unittest_clocksettingsviewplugin.cpp
organizer_plat/clock_settingsview_plugin_api/tsrc/unittest_clocksettingsviewplugin/unittest_clocksettingsviewplugin.pro
organizer_plat/notes_editor_api/inc/NotesEditor
organizer_plat/notes_editor_api/inc/NotesEditorInterface
organizer_plat/notes_editor_api/inc/noteseditor.h
organizer_plat/notes_editor_api/inc/noteseditorinterface.h
organizer_plat/notes_editor_api/notes_editor_api.pri
organizer_plat/notes_editor_api/tsrc/rom/unit_noteseditor.iby
organizer_plat/notes_editor_api/tsrc/rom/unit_noteseditorplugin.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
organizer_plat/notes_editor_api/tsrc/unittest_noteseditorplugin/inc/unittest_noteseditorplugin.h
organizer_plat/notes_editor_api/tsrc/unittest_noteseditorplugin/src/main.cpp
organizer_plat/notes_editor_api/tsrc/unittest_noteseditorplugin/src/unittest_noteseditorplugin.cpp
organizer_plat/notes_editor_api/tsrc/unittest_noteseditorplugin/unittest_noteseditorplugin.pro
organizer_plat/organizer_plat.pro
organizer_plat/tsrc/group/bld.inf
organizer_plat/tsrc/tsrc.pro
organizer_pub/calendar_interim_utils2_api/tsrc/bc/calendar/group/BCTestCalendar2.mmp
organizer_pub/tsrc/group/bld.inf
organizer_pub/tsrc/tsrc.pro
pimappservices/calendar/bwins/caltestlibu.def
pimappservices/calendar/client/src/calattachment.cpp
pimappservices/calendar/client/src/calcalendarinfoimpl.cpp
pimappservices/calendar/client/src/calclient.cpp
pimappservices/calendar/client/src/calentryimpl.cpp
pimappservices/calendar/eabi/caltestlibu.def
pimappservices/calendar/inc/calchangecallback.h
pimappservices/calendar/server/inc/agsentrymodel.h
pimappservices/calendar/server/src/agsalarm.cpp
pimappservices/calendar/server/src/agsasyncdelete.cpp
pimappservices/calendar/server/src/agsattachmentindex.cpp
pimappservices/calendar/server/src/agsentrymanager.cpp
pimappservices/calendar/server/src/agsentrymodel.cpp
pimappservices/calendar/server/src/agsfilemanager.cpp
pimappservices/calendar/server/src/agsmain.cpp
pimappservices/calendar/server/src/agssess.cpp
pimappservices/calendar/server/src/agstzruleindex.cpp
pimappservices/calendar/shared/src/agmcalendarinfo.cpp
pimappservices/calendar/shared/src/agmcalendartime.cpp
pimappservices/calendar/shared/src/agmrptdef.cpp
pimappservices/calendar/shared/src/agmsimpleentry.cpp
pimappservices/calendar/tsrc/Integration/TestCalApiPolicing/generated/BLD.INF
pimappservices/calendar/tsrc/Integration/TestCalApiPolicing/generated/bld.inf
pimappservices/calendar/tsrc/caltestlib.cpp
pimappservices/calendar/tsrc/caltestlib.h
pimappservices/calendar/tsrc/instance_iterator/tcal_fetchinstance.cpp
pimappservices/calendar/tsrc/tcal_dataexchange.mmp
pimappservices/calendarvcalplugin/src/agmvcalx.cpp
pimappsupport/chinesecalendaralg/test/group/calcontable.mmp
pimappsupport/chinesecalendarconverter/group/BLD.INF
pimappsupport/chinesecalendarconverter/group/bld.inf
pimappsupport/vcardandvcal/TPerformance/iLine_long.vcf
pimappsupport/vcardandvcal/TPerformance/iLine_short.vcf
pimappsupport/vcardandvcal/TestFiles/NoEnd.VCF
pimappsupport/vcardandvcal/TestFiles/nolf.vcs
pimappsupport/vcardandvcal/TestvCals/Various/6.vcs
pimappsupport/vcardandvcal/TestvCards/Encoded/1.vcf
pimappsupport/vcardandvcal/TestvCards/Encoded/7.vcf
pimappsupport/vcardandvcal/TestvCards/Invalid/1.vcf
pimappsupport/vcardandvcal/TestvCards/Invalid/2.vcf
pimappsupport/vcardandvcal/TestvCards/Invalid/3.vcf
pimappsupport/vcardandvcal/Ticket/VTicket.MMP
pimappsupport/vcardandvcal/design/DESIGN.MDL
pimappsupport/vcardandvcal/group/BLD.INF
pimappsupport/vcardandvcal/group/bld.inf
pimappsupport/vcardandvcal/tsrc/TJapaneseSoundProperty.mmp
pimappsupport/vcardandvcal/tsrc/Test_saveloadbinoom.mmp
pimappsupport/vcardandvcal/tsrc/UnitTest_PBAPSupport/group/TestExternalize.mmp
tsrc/group/bld.inf
tsrc/tsrc.pro
--- a/agendainterface/agendautil/agendautil.pro	Mon May 03 12:30:32 2010 +0300
+++ b/agendainterface/agendautil/agendautil.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/agendainterface/agendautil/inc/agendaentry.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/agendainterface/agendautil/inc/agendautil.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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(
@@ -120,6 +120,8 @@
 	void entryDeleted(ulong id);
 	void entryUpdated(ulong id);
 	void entriesDeleted(int status);
+	void entryViewCreationCompleted(int status);
+	void instanceViewCreationCompleted(int status);
 
 private:
 	friend class AgendaUtilPrivate;
--- a/agendainterface/agendautil/inc/agendautil_p.h	Mon May 03 12:30:32 2010 +0300
+++ b/agendainterface/agendautil/inc/agendautil_p.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/agendainterface/agendautil/src/agendaentry.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/agendainterface/agendautil/src/agendautil.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/agendainterface/agendautil/src/agendautil_p.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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};
@@ -108,70 +109,24 @@
 		delete filter;
 		}
 
-	/*
-	// If view creation is in progress, then wait till it gets completed
-	if((iCalEntryView && !mEntryViewCreated)
-			|| (iCalInstanceView && !mInstanceViewCreated))
-	{
-		if(!iWait)
-		{
-			TRAP(iError, iWait = new (ELeave) CActiveSchedulerWait;);
-			if(!iWait->IsStarted())
-			{
-				iWait->Start();
-			}
-		}
+	// First construct the CCalInstanceView if not already available.
+	// The CCalEntryView is constructed in CompletedL. Instance view
+	// is created before entry view since entry view is required only
+	// when editing/saving any entry. So we will construct it later
+	if (!iCalInstanceView) {
+	    TRAP (iError, iCalInstanceView = CCalInstanceView::NewL(*iCalSession,
+	                                                           *this);)
 	}
-	*/
-
-	// First construct the CCalEntryView if not already available.
-	// The CCalInstanceView is constructed in ::CompletedL. We block the
-	// thread here until everything is setup.
-	if (!iCalEntryView)
-		{
-		TRAP(
-				iError,
-				iCalEntryView = CCalEntryView::NewL(*iCalSession, *this);
-		);
-		if (!iWait)
-			{
-			TRAP(
-					iError,
-					iWait = new (ELeave) CActiveSchedulerWait;
-			)
-			if (!iWait->IsStarted())
-				{
-				iWait->Start();
-				}
-			}
-		}
-
-	// Comes here only when timer is expired, hence one more
-	// check is needed here.
-	if (iCalSession && mEntryViewCreated && mInstanceViewCreated)
-		{
-		// Everything is ready.
-		return true;
-		}
-
-	else
-		{
-		return false;
-		}
+	
+	// All the requests have been made
+	return true;
 }
 
 AgendaUtilPrivate::~AgendaUtilPrivate()
 {
 	delete iCalEntryView;
 	delete iCalInstanceView;
-	if (iWait && iWait->IsStarted())
-	{
-		iWait->AsyncStop();
-	}
-
-	delete iWait;
-	if (iCalSession)
-	{
+	if (iCalSession) {
 		iCalSession->StopChangeNotification();
 	}
 	delete iCalSession;
@@ -180,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
@@ -188,39 +145,35 @@
 		emit q->entriesDeleted(iError);
 	}
 
-	if(KErrNone != iError)
-	{
+	if (KErrNone != iError) {
 		// Something has gone wrong, return
+		if (iCalEntryView && !isEntryViewDeleted) {
+		isEntryViewDeleted = true;
 		delete iCalEntryView;
 		iCalEntryView = NULL;
+		}
+		if (iCalInstanceView && !isInstanceViewDeleted) {
+		isInstanceViewDeleted = true;
 		delete iCalInstanceView;
 		iCalInstanceView = NULL;
+		}
 		return;
 	}
 
-	if(iCalEntryView && !mEntryViewCreated)
-	{
-		mEntryViewCreated = true;
-
-		// Start creating the instance view.
-		if(!iCalInstanceView)
-		{
-			TRAP(iError, iCalInstanceView = CCalInstanceView::NewL(
-					*iCalSession, *this);)
+	if (iCalInstanceView && !mInstanceViewCreated) {
+	    // Instance view is now created.
+	    mInstanceViewCreated = true;
+	    emit q->instanceViewCreationCompleted(iError);
+	    // Start with the construction of entry view
+		if (!iCalEntryView) {
+		    TRAP (iError,
+		          iCalEntryView = CCalEntryView::NewL(*iCalSession, *this);
+		    );
 		}
-	}
-	else if(iCalInstanceView && !mInstanceViewCreated)
-	{
-		mInstanceViewCreated = true;
-	}
-
-	// Stop the wait timer
-	if( iWait && iWait->IsStarted())
-	{
-		if(mEntryViewCreated &&  mInstanceViewCreated)
-		{
-			iWait->AsyncStop();
-		}
+	} else if(iCalEntryView && !mEntryViewCreated) {
+	    // Entry view is now constructed
+		mEntryViewCreated = true;
+		emit q->entryViewCreationCompleted(iError);
 	}
 }
 
@@ -248,25 +201,21 @@
 	int success = 0;
 
 	// First check if the session to the calendar database is prepared or not.
-	if (!prepareSession()) {
+	if (!mInstanceViewCreated) {
 		// Something went wrong
 		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;
@@ -277,7 +226,6 @@
 						0);
 
 				CleanupStack::Pop(globalUid);
-				CleanupStack::PushL(newEntry);
 
 				// Add description.
 				TPtrC description(reinterpret_cast<const TUint16*>(
@@ -309,7 +257,7 @@
 						dtStamp.time().minute(), 0, 0);
 				TTime creationTTime(creationDateTime);
 				creationCalTime.SetTimeLocalL(creationTTime);
-				//newEntry->SetDTStampL(creationCalTime);
+				newEntry->SetDTStampL(creationCalTime);
 
 				// Finally set the entry to the database using the entry view.
 				entryArray.AppendL(newEntry);
@@ -317,7 +265,6 @@
 				localUid = newEntry->LocalUidL();
 
 				// Cleanup.
-				CleanupStack::PopAndDestroy(newEntry);
 				CleanupStack::PopAndDestroy(&entryArray);
 		)
 	} else {
@@ -325,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(
@@ -344,7 +283,6 @@
 						0);
 
 				CleanupStack::Pop(globalUid);
-				CleanupStack::PushL(newEntry);
 
 				// Add the summary.
 				if (!entry.summary().isNull()) {
@@ -443,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);
@@ -467,7 +407,7 @@
 		const AgendaEntry &entry, AgendaEntry::Type type)
 {
 	// First prepare the session with agenda server.
-	if (!prepareSession()) {
+	if (!mInstanceViewCreated) {
 		// Something went wrong.
 		return 0;
 	}
@@ -497,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;
@@ -519,7 +457,6 @@
 						globalUid,
 						static_cast<CCalEntry::TMethod>(entry.method()),
 						0);
-				CleanupStack::PushL(newEntry);
 
 				// Add description.
 				TPtrC description(reinterpret_cast<const TUint16*>(
@@ -535,7 +472,6 @@
 				localUid = newEntry->LocalUidL();
 
 				// Cleanup.
-				CleanupStack::PopAndDestroy(newEntry);
 				CleanupStack::PopAndDestroy(&entryArray);
 		)
 	} else {
@@ -552,7 +488,6 @@
 						globalUid,
 						static_cast<CCalEntry::TMethod>(entry.method()),
 						0);
-				CleanupStack::PushL(newEntry);
 
 				// Add the summary.
 				if (!entry.summary().isNull()) {
@@ -651,7 +586,6 @@
 				localUid = newEntry->LocalUidL();
 
 				// Cleanup.
-				CleanupStack::PopAndDestroy(newEntry);
 				CleanupStack::PopAndDestroy(&entryArray);
 		)
 	}
@@ -671,7 +605,7 @@
 bool AgendaUtilPrivate::deleteEntry(ulong id)
 {
 	// First prepare the session with agenda server.
-	if (!prepareSession()) {
+	if (!mInstanceViewCreated) {
 		// Something went wrong.
 		return false;
 	}
@@ -706,10 +640,9 @@
 		AgendaEntry& entry,
 		AgendaUtil::RecurrenceRange range)
 {
-	qDebug("AgendaUtilPrivate::deleteRepeatedEntry");
 
 	// First prepare the session with agenda server.
-	if (!prepareSession()) {
+	if (!mInstanceViewCreated) {
 		// Something went wrong.
 		return;
 	}
@@ -736,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();
 			}
@@ -766,7 +693,7 @@
 bool AgendaUtilPrivate::updateEntry(const AgendaEntry& entry, bool isChild)
 {
 	// First prepare the session with agenda server.
-	if (!prepareSession()) {
+	if (!mInstanceViewCreated) {
 		// Something went wrong.
 		return false;
 	}
@@ -785,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()
@@ -839,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(
@@ -853,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);
 				}
@@ -878,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);
 				}
@@ -994,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;
@@ -1006,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);
@@ -1018,7 +940,7 @@
 					iCalEntryView->StoreL(entryArray, success);
 				}
 				// Cleanup.
-				CleanupStack::PopAndDestroy(2, calEntry);
+				CleanupStack::PopAndDestroy( &entryArray );
 		)
 	}
 
@@ -1033,7 +955,7 @@
                                             bool copyToChildren)
 {
 	// First prepare the session with agenda server.
-	if (!prepareSession()) {
+	if (!mInstanceViewCreated) {
 		// Something went wrong.
 		return false;
 	}
@@ -1054,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);
@@ -1092,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;
 	
@@ -1122,6 +1045,9 @@
 		// set it to CCalentry
 		calEntry->SetGeoValueL(*geoValue);
 		delete geoValue;
+	} else {
+        // Clear the geo values
+        calEntry->ClearGeoValueL();
 	}
 	
 	// set the description
@@ -1199,11 +1125,11 @@
 	return success;    
 }
 
-bool AgendaUtilPrivate::createException(const AgendaEntry& entry)
-{
-
+bool AgendaUtilPrivate::createException(const AgendaEntry& entry, 
+										QDateTime instanceOriginalDateTime)
+{ 
 	// First prepare the session with agenda server.
-	if (!prepareSession()) {
+	if (!mInstanceViewCreated) {
 		// Something went wrong.
 		return false;
 	}
@@ -1226,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,
@@ -1248,7 +1168,6 @@
 				
 				CleanupStack::Pop(guid);
 				CleanupStack::PopAndDestroy(calEntry);
-				CleanupStack::PushL(newEntry);
 
 				// Update the description.
 				if (!entry.description().isNull()) {
@@ -1285,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(
@@ -1303,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,
@@ -1327,7 +1238,6 @@
 				
 				CleanupStack::Pop(guid);
 				CleanupStack::PopAndDestroy(calEntry);
-				CleanupStack::PushL(newEntry);
 				// Store the attendees.
 				if (!entry.isNull()) {
 					addAttendeesToEntry(entry.d->m_attendees, *newEntry);
@@ -1435,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);
 		)
 	}
 
@@ -1464,7 +1373,7 @@
 	AgendaEntry entry;
 
 	// First check if the session with the calendar exists.
-	if (!prepareSession()) {
+	if (!mInstanceViewCreated) {
 		// Return empty AgendaEntry.
 		return entry;
 	}
@@ -1500,7 +1409,7 @@
 	QList<ulong> listOfIds;
 
 	// First check if the session with agenda server exists.
-	if (!prepareSession()) {
+	if (!mInstanceViewCreated) {
 		// Return empty list.
 		return listOfIds;
 	}
@@ -1509,7 +1418,7 @@
 			iError,
 
 			RPointerArray<CCalInstance> instanceList;
-			CleanupClosePushL(instanceList);
+            CleanupResetAndDestroyPushL(instanceList);
 			CalCommon::TCalViewFilter filters = filter;
 			TCalTime startDateForInstanceSearch;
 			TCalTime endDateForInstanceSearch;
@@ -1536,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;
@@ -1561,7 +1464,7 @@
 	QList<AgendaEntry> entryList;
 
 	// First check if the session with agenda server exists.
-	if (!prepareSession()) {
+	if (!mInstanceViewCreated) {
 		// Return empty list.
 		return entryList;
 	}
@@ -1570,7 +1473,7 @@
 			iError,
 
 			RPointerArray<CCalInstance> instanceList;
-			CleanupClosePushL(instanceList);
+            CleanupResetAndDestroyPushL(instanceList);
 			CalCommon::TCalViewFilter filters = filter;
 			TCalTime startDateForInstanceSearch;
 			TCalTime endDateForInstanceSearch;
@@ -1601,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;
@@ -1619,7 +1516,7 @@
 		AgendaUtil::FilterFlags filter)
 {
     QList<AgendaEntry> entryList;
-    if(!prepareSession())
+    if(!mInstanceViewCreated)
         {
             // return empty list
             return entryList;
@@ -1628,7 +1525,7 @@
     TRAP(iError,
 
         RPointerArray<CCalInstance> instanceList;
-        CleanupClosePushL(instanceList);
+        CleanupResetAndDestroyPushL(instanceList);
         CalCommon::TCalViewFilter filters = filter;
         TCalTime startDateForInstanceSearch;
         TCalTime endDateForInstanceSearch;
@@ -1661,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;
@@ -1676,7 +1568,13 @@
 	QDateTime rangeEnd,AgendaUtil::FilterFlags filter, QList<QDate>& dates)
 {
 	RPointerArray<CCalInstance> instanceList;
-	CleanupClosePushL(instanceList);
+	
+	if(!mInstanceViewCreated) {
+	    // return empty list
+	    return;
+	}
+	
+	CleanupResetAndDestroyPushL(instanceList);
 	CalCommon::TCalViewFilter filters = filter;
 	TCalTime startDateForInstanceSearch;
 	TCalTime endDateForInstanceSearch;
@@ -1704,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();
@@ -1712,52 +1610,106 @@
 		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,
                             AgendaUtil::FilterFlags filter )
 {
     QList<AgendaEntry> entryList;
-    if(!prepareSession()) {
+    if(!mInstanceViewCreated) {
         // return empty list
         return entryList;
     }
@@ -1766,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)
@@ -1809,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++)
@@ -1816,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;
@@ -1833,7 +1800,7 @@
 	int success = -1 ;
 
 	// First prepare the session with agenda server.
-	if (!prepareSession()) {
+	if (!mInstanceViewCreated) {
 		return success;
 	}
 
@@ -1886,7 +1853,7 @@
 		const QString& fileName, ulong calendarEntryId)
 {
 	// First prepare session with agenda server.
-	if (!prepareSession()) {
+	if (!mInstanceViewCreated) {
 		return false;
 	}
 	TRAP(
@@ -1953,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) {
@@ -2022,7 +1987,7 @@
 {
 	AgendaEntry parentEntry;
 	// First check if the session with the calendar exists.
-	if (!prepareSession()) {
+	if (!mInstanceViewCreated) {
 		// Return empty AgendaEntry.
 		return entry;
 	}
@@ -2036,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);
@@ -2064,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);
@@ -2083,7 +2048,7 @@
 												QDateTime& endTime)
 {
 	RPointerArray<CCalEntry> entries;
-	CleanupClosePushL(entries);
+	CleanupResetAndDestroyPushL(entries);
 	TCalTime previousStartTime;
 	TCalTime previousEndTime;
 	TTime zero(TInt64(0));
@@ -2200,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 {
@@ -2242,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);
 }
 
@@ -2273,7 +2249,7 @@
                                           QDateTime& endTime)
 {
 	RPointerArray<CCalEntry> entries;
-	CleanupClosePushL(entries);
+	CleanupResetAndDestroyPushL(entries);
 	TCalTime nextStartTime;
 	TCalTime nextEndTime;
 	TTime zero(TInt64(0));
@@ -2387,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 {
@@ -2432,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);
 }
 
@@ -2458,10 +2446,15 @@
  */
 bool AgendaUtilPrivate::areNoEntriesInCalendar()
 {
+	// First prepare the session with the agenda server.
+	if (!mInstanceViewCreated) {
+		return false;
+	}
+	
 	bool isEmpty;
 	// Query for the entries for entire range
 	RPointerArray<CCalInstance> instanceList;
-	CleanupClosePushL(instanceList);
+	CleanupResetAndDestroyPushL(instanceList);
 	
 	// Create the filter
 	CalCommon::TCalViewFilter filters = AgendaUtil::IncludeAnniversaries
@@ -2498,7 +2491,9 @@
 	} else {
 		isEmpty = true;
 	}
-	CleanupStack::PopAndDestroy();
+	
+	// Cleanup
+	CleanupStack::PopAndDestroy( &instanceList );
 	return isEmpty;
 }
 
@@ -2662,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;
@@ -2690,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;
@@ -2710,7 +2702,6 @@
 				static_cast<AgendaCategory::CategoryType>(categoryType));
 		entry.addCategory(category);
 	}
-	CleanupStack::PopAndDestroy(&calCategories);
 
 	// Id.
 	entry.d->m_id = calEntry.LocalUidL();
@@ -2846,7 +2837,7 @@
 		const QList<AgendaAttendee>& attendees, CCalEntry& entry)
 {
 	// First prepare the session with the agenda server.
-	if (!prepareSession()) {
+	if (!mInstanceViewCreated) {
 		return false;
 	}
 
@@ -2878,7 +2869,7 @@
 		const QList<AgendaCategory>& categories, CCalEntry& entry)
 {
 	// First prepare the session with the agenda server.
-	if (!prepareSession()) {
+	if (!mInstanceViewCreated) {
 		return false;
 	}
 	TRAP(
@@ -2984,7 +2975,7 @@
 
 CCalInstance* AgendaUtilPrivate::findPossibleInstance(AgendaEntry& entry)
 {
-    if(!prepareSession()) {
+    if(!mInstanceViewCreated) {
         // return empty list
         return NULL;
     }
@@ -2992,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());
 
@@ -3412,7 +3403,7 @@
 									const CalCommon::TCalTimeRange& timeRange)
 {
 	RPointerArray<CCalInstance> allInstances;
-	CleanupClosePushL( allInstances );
+	CleanupResetAndDestroyPushL(allInstances);
 	
 	TInt filter;
 	// Get the entry type to be filtered
@@ -3461,7 +3452,7 @@
 								   const CalCommon::TCalTimeRange& timeRange)
 {
 	RPointerArray<CCalInstance> allInstances;
-	CleanupClosePushL( allInstances );
+	CleanupResetAndDestroyPushL(allInstances);
     
     TInt filter;
     // Get the entry type to be filtered
@@ -3702,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
             {
@@ -3724,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	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,181 +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)
-
--- a/agendainterface/eabi/agendainterfaceu.def	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,209 +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
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/agendainterface/inc/CleanupResetAndDestroy.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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
--- a/agendainterface/inc/agendautil.h	Mon May 03 12:30:32 2010 +0300
+++ b/agendainterface/inc/agendautil.h	Mon Jun 28 15:22:02 2010 +0530
@@ -106,18 +106,22 @@
 	                              QDateTime& endTime);
 	void getNextInstanceTimes(AgendaEntry& entry, QDateTime& startTime, 
 	                          QDateTime& endTime);
-	
+	void markDatesWithEvents(QDateTime rangeStart, QDateTime rangeEnd,
+						 AgendaUtil::FilterFlags filter, QList<QDate>& dates);
+	bool areNoEntriesInCalendar();
 	static QDateTime minTime();
 	static QDateTime maxTime();
-	
+
 	static bool isWorkdaysRepeatingEntry(const AgendaRepeatRule& repeatRule);
-
+	
 Q_SIGNALS:
 	void entriesChanged(QList<ulong> ids);
 	void entryAdded(ulong id);
 	void entryDeleted(ulong id);
 	void entryUpdated(ulong id);
 	void entriesDeleted(int status);
+	void entryViewCreationCompleted(int status);
+	void instanceViewCreationCompleted(int status);
 
 private:
 	friend class AgendaUtilPrivate;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/agendainterface/tsrc/tsrc.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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/BWINS/ALMALERTU.DEF	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,3 @@
+EXPORTS
+	?NewAlarm@@YAPAVMAlarmObserver@@XZ @ 1 NONAME ; class MAlarmObserver * NewAlarm(void)
+
--- a/alarmui/BWINS/ALMALERTu.def	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	?NewAlarm@@YAPAVMAlarmObserver@@XZ @ 1 NONAME ; class MAlarmObserver * NewAlarm(void)
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/alarmui/BWINS/AknAlarmServiceU.DEF	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,3 @@
+EXPORTS
+	?Entry@@YAPAVMAknAlarmServiceStartup@@XZ @ 1 NONAME ; class MAknAlarmServiceStartup * Entry(void)
+
--- a/alarmui/BWINS/AknAlarmServiceu.def	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	?Entry@@YAPAVMAknAlarmServiceStartup@@XZ @ 1 NONAME ; class MAknAlarmServiceStartup * Entry(void)
-
--- a/alarmui/DataSrc/AlmAlert.rss	Mon May 03 12:30:32 2010 +0300
+++ b/alarmui/DataSrc/AlmAlert.rss	Mon Jun 28 15:22:02 2010 +0530
@@ -21,7 +21,7 @@
 NAME ALRT
 
 #include <eikon.rh>
-#include <almalert.loc>
+#include <AlmAlert.loc>
 #include "AlmAlertVariant.hrh"
 
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/alarmui/EABI/AknAlarmServiceU.DEF	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,3 @@
+EXPORTS
+	_Z5Entryv @ 1 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/alarmui/EABI/AlmAlertU.DEF	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,3 @@
+EXPORTS
+	_Z8NewAlarmv @ 1 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/alarmui/alarmalertwidget/alarmalertinterface/bwins/alarmalertwidgetu.def	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/alarmui/alarmalertwidget/alarmalertinterface/inc/alarmalertwidget.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/alarmui/alarmalertwidget/alarmalertinterface/inc/alarmalertwrapper.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/alarmui/alarmalertwidget/alarmalertinterface/src/alarmalertwidget.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/alarmui/alarmalertwidget/alarmalertinterface/src/alarmalertwrapper.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/alarmui/alarmalertwidget/alarmalertplugin/alarmalertplugin.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/alarmui/alarmalertwidget/alarmalertplugin/data/alarmalert.qrc	Mon Jun 28 15:22:02 2010 +0530
@@ -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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/alarmui/alarmalertwidget/alarmalertplugin/data/xml/alarmalert_calendar_unlocked.docml	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.0">
+    <object name="snoozeAction" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string locid="txt_calendar_button_alarm_snooze" name="text" value="Snooze"/>
+    </object>
+    <object name="stopAction" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string locid="txt_calendar_button_alarm_dialog_snooze" name="text" value="Stop"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="heading" role="HbDialog:headingWidget" type="HbLabel">
+            <enums name="alignment" value="AlignLeft|AlignLeading"/>
+            <string locid="txt_calendar_title_calendar_alarm" name="plainText" value="Calendar alarm"/>
+        </widget>
+        <widget name="container" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="alarmTime" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <real name="z" value="1"/>
+                <sizehint height="var(hb-param-text-height-primary)" type="MINIMUM"/>
+                <string locid="txt_calendar_info_alarm_start_time" name="plainText" value="9:00 am"/>
+            </widget>
+            <widget name="alarmDate" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <real name="z" value="2"/>
+                <sizehint height="var(hb-param-text-height-secondary)" type="PREFERRED"/>
+                <string locid="txt_calendar_info_alarm_start_date" name="plainText" value="01/01/2010"/>
+            </widget>
+            <widget name="alarmDescription" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <real name="z" value="3"/>
+                <sizehint height="8un" type="PREFERRED"/>
+                <sizehint height="8un" type="MINIMUM"/>
+                <sizehint height="8un" type="MAXIMUM"/>
+                <string name="textFormat" value="PlainText"/>
+            </widget>
+            <widget name="alarmLocation" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <real name="z" value="4"/>
+                <sizehint height="var(hb-param-text-height-secondary)" type="PREFERRED"/>
+            </widget>
+            <widget name="alarmIcon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <icon iconName="qtg_large_calendar_alarm" name="icon"/>
+                <real name="z" value="5"/>
+                <sizehint height="15un" type="PREFERRED" width="15un"/>
+            </widget>
+            <widget name="nonTimedAlarmDate" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <real name="z" value="1"/>
+                <sizehint height="var(hb-param-text-height-primary)" type="MINIMUM"/>
+                <string locid="txt_calendar_info_alarm_start_date" name="plainText" value="01/01/2010"/>
+            </widget>
+            <layout type="anchor">
+                <anchoritem dst="alarmTime" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+                <anchoritem dst="alarmTime" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="TOP"/>
+                <anchoritem dst="alarmTime" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="alarmDate" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+                <anchoritem dst="alarmDate" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="alarmTime" srcEdge="BOTTOM"/>
+                <anchoritem dst="alarmDate" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="alarmDescription" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+                <anchoritem dst="alarmDescription" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="alarmDate" srcEdge="BOTTOM"/>
+                <anchoritem dst="alarmDescription" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="alarmLocation" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+                <anchoritem dst="alarmLocation" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="alarmDescription" srcEdge="BOTTOM"/>
+                <anchoritem dst="alarmLocation" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="alarmIcon" dstEdge="LEFT" spacing="17.5un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="alarmIcon" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="alarmLocation" srcEdge="BOTTOM"/>
+                <anchoritem dst="alarmIcon" dstEdge="BOTTOM" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="BOTTOM"/>
+            </layout>
+        </widget>
+        <ref object="snoozeAction" role="HbDialog:primaryAction"/>
+        <ref object="stopAction" role="HbDialog:secondaryAction"/>
+    </widget>
+    <section name="calendarTimed"/>
+    <section name="nonTimedAlarm">
+        <widget name="heading" role="HbDialog:headingWidget" type="HbLabel">
+            <string locid="txt_calendar_title_calendar_alarm" name="plainText" value="Calendar alarm"/>
+        </widget>
+        <widget name="nonTimedAlarmDate" type="HbLabel">
+            <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+            <real name="z" value="1"/>
+            <sizehint height="var(hb-param-text-height-primary)" type="MINIMUM"/>
+            <string locid="txt_calendar_info_alarm_start_date" name="plainText" value="01/01/2010"/>
+        </widget>
+        <widget name="container" role="HbDialog:contentWidget" type="HbWidget">
+            <layout type="anchor">
+                <anchoritem dst="alarmTime" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+                <anchoritem dst="alarmTime" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="TOP"/>
+                <anchoritem dst="alarmTime" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="alarmDate" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+                <anchoritem dst="alarmDate" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="alarmTime" srcEdge="BOTTOM"/>
+                <anchoritem dst="alarmDate" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="alarmDescription" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+                <anchoritem dst="alarmDescription" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="nonTimedAlarmDate" srcEdge="BOTTOM"/>
+                <anchoritem dst="alarmDescription" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="alarmLocation" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+                <anchoritem dst="alarmLocation" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="alarmDescription" srcEdge="BOTTOM"/>
+                <anchoritem dst="alarmLocation" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="nonTimedAlarmDate" dstEdge="LEFT" spacing="expr(var(hb-param-margin-gene-popup) )" src="" srcEdge="LEFT"/>
+                <anchoritem dst="nonTimedAlarmDate" dstEdge="TOP" spacing="expr(var(hb-param-margin-gene-popup) )" src="" srcEdge="TOP"/>
+                <anchoritem dst="nonTimedAlarmDate" dstEdge="RIGHT" spacing="expr(-var(hb-param-margin-gene-popup) )" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="alarmIcon" dstEdge="LEFT" spacing="17.5un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="alarmIcon" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="alarmLocation" srcEdge="BOTTOM"/>
+                <anchoritem dst="alarmIcon" dstEdge="BOTTOM" spacing="expr(-var(hb-param-margin-gene-popup) )" src="" srcEdge="BOTTOM"/>
+            </layout>
+        </widget>
+    </section>
+    <metadata activeUIState="nonTimedAlarm" display="NHD portrait" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+        <uistate name="calendarTimed" sections="#common calendarTimed"/>
+        <uistate name="nonTimedAlarm" sections="#common nonTimedAlarm"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/alarmui/alarmalertwidget/alarmalertplugin/data/xml/alarmalert_clock_unlocked.docml	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.0">
+    <object name="snoozeAction" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string locid="txt_calendar_button_alarm_snooze" name="text" value="Snooze"/>
+    </object>
+    <object name="stopAction" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string locid="txt_calendar_button_alarm_dialog_snooze" name="text" value="Stop"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="heading" role="HbDialog:headingWidget" type="HbLabel">
+            <enums name="alignment" value="AlignLeft|AlignLeading"/>
+            <string locid="txt_calendar_title_clock_alarm" name="plainText" value="Clock alarm"/>
+        </widget>
+        <widget name="container" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="alarmTime" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <real name="z" value="1"/>
+                <sizehint height="10un" type="MINIMUM"/>
+            	<fontspec name="fontSpec" role="Primary" textheight="9.8un"/>
+                <string locid="txt_calendar_info_alarm_start_time" name="plainText" value="9:00 am"/>
+            </widget>
+            <widget name="alarmDescription" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <real name="z" value="3"/>
+                <sizehint height="7un" type="PREFERRED"/>
+                <sizehint height="7un" type="MINIMUM"/>
+                <sizehint height="7un" type="MAXIMUM"/>
+                <string name="textFormat" value="PlainText"/>
+            </widget>
+            <widget name="alarmIcon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <icon iconName=":/image/clockAlarm.svg" name="icon"/>
+                <real name="z" value="5"/>
+                <sizehint height="15un" type="PREFERRED" width="15un"/>
+            </widget>
+            <layout type="anchor">
+                <anchoritem dst="alarmTime" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+                <anchoritem dst="alarmTime" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="TOP"/>
+                <anchoritem dst="alarmTime" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="alarmDescription" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+                <anchoritem dst="alarmDescription" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="alarmTime" srcEdge="BOTTOM"/>
+                <anchoritem dst="alarmDescription" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="alarmIcon" dstEdge="LEFT" spacing="17.5un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="alarmIcon" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="alarmDescription" srcEdge="BOTTOM"/>
+                <anchoritem dst="alarmIcon" dstEdge="BOTTOM" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="BOTTOM"/>
+            </layout>
+        </widget>
+        <ref object="snoozeAction" role="HbDialog:primaryAction"/>
+        <ref object="stopAction" role="HbDialog:secondaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/alarmui/alarmalertwidget/alarmalertplugin/data/xml/alarmalert_todo_unlocked.docml	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.0">
+    <object name="snoozeAction" type="HbAction">
+        <string name="role" value="HbDialog:primaryAction"/>
+        <string locid="txt_calendar_button_alarm_snooze" name="text" value="Snooze"/>
+    </object>
+    <object name="stopAction" type="HbAction">
+        <string name="role" value="HbDialog:secondaryAction"/>
+        <string locid="txt_calendar_button_alarm_dialog_snooze" name="text" value="Stop"/>
+    </object>
+    <widget name="dialog" type="HbDialog">
+        <widget name="heading" role="HbDialog:headingWidget" type="HbLabel">
+            <enums name="alignment" value="AlignLeft|AlignLeading"/>
+            <string locid="txt_calendar_title_todo_note_alarm" name="plainText" value="To-do note"/>
+        </widget>
+        <widget name="container" role="HbDialog:contentWidget" type="HbWidget">
+            <widget name="alarmDate" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <real name="z" value="2"/>
+                <sizehint height="var(hb-param-text-height-primary)" type="PREFERRED"/>
+                <string locid="txt_calendar_info_alarm_start_date" name="plainText" value="01/01/2010"/>
+            </widget>
+            <widget name="alarmDescription" type="HbLabel">
+                <enums name="textWrapping" value="TextWordWrap"/>
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <real name="z" value="3"/>
+                <sizehint height="16un" type="PREFERRED"/>
+                <sizehint height="16un" type="MINIMUM"/>
+                <sizehint height="16un" type="MAXIMUM"/>
+                <string name="textFormat" value="PlainText"/>
+            </widget>
+            <widget name="alarmIcon" type="HbLabel">
+                <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                <icon iconName="qtg_large_todo_alarm" name="icon"/>
+                <real name="z" value="5"/>
+                <sizehint height="15un" type="PREFERRED" width="15un"/>
+            </widget>
+            <layout type="anchor">
+                <anchoritem dst="alarmDate" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+                <anchoritem dst="alarmDate" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="TOP"/>
+                <anchoritem dst="alarmDate" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="alarmDescription" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+                <anchoritem dst="alarmDescription" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="alarmDate" srcEdge="BOTTOM"/>
+                <anchoritem dst="alarmDescription" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="alarmIcon" dstEdge="LEFT" spacing="17.5un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="alarmIcon" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="alarmDescription" srcEdge="BOTTOM"/>
+                <anchoritem dst="alarmIcon" dstEdge="BOTTOM" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="BOTTOM"/>
+            </layout>
+        </widget>
+        <ref object="snoozeAction" role="HbDialog:primaryAction"/>
+        <ref object="stopAction" role="HbDialog:secondaryAction"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- a/alarmui/alarmalertwidget/alarmalertplugin/inc/alarmalert.h	Mon May 03 12:30:32 2010 +0300
+++ b/alarmui/alarmalertwidget/alarmalertplugin/inc/alarmalert.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/alarmui/alarmalertwidget/alarmalertplugin/inc/alarmalertwidget_p.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/alarmui/alarmalertwidget/alarmalertplugin/src/alarmalertplugin.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/alarmui/alarmalertwidget/alarmalertplugin/src/alarmalertwidget_p.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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/eabi/AknAlarmServiceu.def	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	_Z5Entryv @ 1 NONAME
-
--- a/alarmui/eabi/AlmAlertu.def	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	_Z8NewAlarmv @ 1 NONAME
-
--- a/alarmui/src/AlmAlarmControl.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/alarmui/src/AlmAlarmControl.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/alarmui/src/alarmutils.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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 )
                 {
--- a/alarmui/stubsis/alarmui_stub.pkg	Mon May 03 12:30:32 2010 +0300
+++ b/alarmui/stubsis/alarmui_stub.pkg	Mon Jun 28 15:22:02 2010 +0530
@@ -1,27 +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 Alarm UIfor IAD.
-;
-
-; Language
-&EN
-
-; Header
-#{"AlarmUI"}, (0x1000599E), 1, 0, 0, TYPE=SA
-
-; Localised vendor name
-%{"Nokia"}
-
-; Unique vendor name
-:"Nokia"
+;
+; 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 Alarm UIfor IAD.
+;
+
+; Language
+&EN
+
+; Header
+#{"AlarmUI"}, (0x1000599E), 1, 0, 0, TYPE=SA
+
+; Localised vendor name
+%{"Nokia"}
+
+; Unique vendor name
+:"Nokia"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/alarmui/tsrc/tsrc.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/agendaeventviewer/agendaeventviewer.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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 *)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/agendaeventviewer/data/agendaeventviewer.docml	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <widget name="eventViewer" type="HbView">
+        <widget name="content" role="HbView:widget" type="HbWidget">
+			<widget name="groupBox" type="HbGroupBox">
+                <real name="z" value="1"/>
+                <bool name="collapsable" value="FALSE"/>
+                <string locid="txt_calendar_subhead_event" name="heading" value="Event"/>
+            </widget>
+            <widget name="scrollArea" type="HbScrollArea">
+                <widget name="scrollAreaContents" role="HbScrollArea:contents" type="HbWidget">
+                    <widget name="subjectWidget" type="HbWidget"/>
+                    <widget name="dateTimeWidget" type="HbWidget"/>
+                    <widget name="locationWidget" type="HbWidget"/>
+					<widget name="reminderWidget" type="HbWidget"/>
+					<widget name="repeatWidget" type="HbWidget"/>
+					<widget name="descriptionWidget" type="HbWidget"/>
+                    <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"/>
+                        <linearitem itemname="dateTimeWidget"/>
+                        <linearitem itemname="locationWidget"/>
+                        <linearitem itemname="maptileWidget"/>
+						<linearitem itemname="reminderWidget"/>
+						<linearitem itemname="repeatWidget"/>
+						<linearitem itemname="descriptionWidget"/>
+                    </layout>
+                </widget>
+                <enums name="verticalScrollBarPolicy" value="ScrollBarAutoHide"/>
+                <enums name="horizontalScrollBarPolicy" value="ScrollBarAlwaysOff"/>
+                <real name="z" value="1"/>
+                <enums name="clampingStyle" value="StrictClamping"/>
+            </widget>
+            <layout type="anchor">
+                <anchoritem dst="groupBox" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+                <anchoritem dst="groupBox" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="groupBox" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+				<anchoritem dst="scrollArea" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="scrollArea" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="scrollArea" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+				<anchoritem dst="scrollArea" dstEdge="TOP" spacing="0un" src="groupBox" srcEdge="BOTTOM"/>
+            </layout>
+        </widget>
+        <widget name="viewerMenu" role="HbView:menu" type="HbMenu"/>
+        <widget name="viewToolbar" role="HbView:toolBar" type="HbToolBar"/>
+        <string locid="txt_calendar_title_calendar" name="title" value="Calendar"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="QHD portrait" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- a/calendarui/agendaeventviewer/data/agendaeventviewer.qrc	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/agendaeventviewer/data/agendaeventviewer.qrc	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/agendaeventviewer/data/agendaeventvieweritem.css	Mon Jun 28 15:22:02 2010 +0530
@@ -1,3 +1,14 @@
+
+AgendaEventViewerItem[leftPrimaryIconItem="true"]:portrait {
+		layout: layout-eventvieweritem-stretch;
+		fixed-width: var(hb-param-screen-width);
+}
+
+AgendaEventViewerItem[leftPrimaryIconItem="true"]:landscape {
+		layout: layout-eventvieweritem-stretch;
+		fixed-width: var(hb-param-screen-width);
+}
+
 
 AgendaEventViewerItem:portrait {
 		layout: layout-eventvieweritem;
@@ -9,7 +20,17 @@
 		fixed-width: var(hb-param-screen-width);
 }
 
-AgendaEventViewerItem::primaryIconItem {
+
+AgendaEventViewerItem::primaryLeftIconItem {
+        fixed-width:var(hb-param-graphic-size-primary-small);
+        fixed-height:var(hb-param-graphic-size-primary-small);
+        top: -var(hb-param-margin-gene-top);
+        left: -var(hb-param-margin-gene-left);
+        
+		
+}
+
+AgendaEventViewerItem::primaryRightIconItem {
         fixed-width:var(hb-param-graphic-size-secondary);
         fixed-height:var(hb-param-graphic-size-secondary);
         top: -var(hb-param-margin-gene-top);
@@ -20,24 +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);
+		
 }
 
-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::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 {
+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);
-        left: -var(hb-param-margin-gene-middle-horizontal);
 		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);
+}
--- a/calendarui/agendaeventviewer/data/agendaeventvieweritem.widgetml	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/agendaeventviewer/data/agendaeventvieweritem.widgetml	Mon Jun 28 15:22:02 2010 +0530
@@ -16,4 +16,26 @@
      <meshitem src="secondaryTextItem" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
 
   </layout>
-</hbwidget>
+
+  <layout name="layout-eventvieweritem-stretch" type="mesh">
+
+     
+     <meshitem src="primaryLeftIconItem" srcEdge="TOP" dst="" dstEdge="TOP" /> 
+     <meshitem src="primaryLeftIconItem" srcEdge="LEFT" dst="" dstEdge="LEFT" />
+
+     <meshitem src="primaryTextItem" srcEdge="TOP" dst="" dstEdge="TOP" />
+     <meshitem src="primaryTextItem" srcEdge="LEFT" dst="primaryLeftIconItem" dstEdge="RIGHT" />
+
+     <meshitem src="primaryRightIconItem" srcEdge="TOP" dst="" dstEdge="TOP" /> 
+     <meshitem src="primaryRightIconItem" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+
+     <meshitem src="secondaryIconItem" srcEdge="LEFT" dst="" dstEdge="LEFT" />
+     <meshitem src="secondaryIconItem" srcEdge="TOP" dst="secondaryTextItem" dstEdge="TOP" />
+
+     <meshitem src="secondaryTextItem" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" />
+     <meshitem src="secondaryTextItem" srcEdge="TOP" dst="primaryTextItem" dstEdge="BOTTOM" />
+     <meshitem src="secondaryTextItem" srcEdge="LEFT" dst="primaryTextItem" dstEdge="LEFT" />
+     <meshitem src="secondaryTextItem" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+
+  </layout>
+</hbwidget>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/agendaeventviewer/data/agendaeventvieweritem_color.css	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/agendaeventviewer/inc/agendaeventview.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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
@@ -71,8 +73,9 @@
 	void removeAllWidgets();
 	void addAllWidgets();
 	void showDeleteOccurencePopup();
-	int showDeleteConfirmationQuery();
-
+	void showDeleteConfirmationQuery();
+	void getSubjectIcon(AgendaEntry::Type type, QString &subjectIcon);
+    void getProgressIndicatorstatus(QString &progressIcon);
 private slots:
 	void markTodoStatus();
 	void edit();
@@ -84,9 +87,13 @@
 	void handleNoteEditorClosed(bool status);
 	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;
@@ -102,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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/agendaeventviewer/inc/agendaeventviewer_p.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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/inc/agendaeventvieweritem.h	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/agendaeventviewer/inc/agendaeventvieweritem.h	Mon Jun 28 15:22:02 2010 +0530
@@ -43,6 +43,8 @@
 	HbTextItem *mSecondaryText;
 	HbIconItem *mPrimaryIcon;
 	HbIconItem *mSecondaryIcon;
+	HbIconItem *mPrimaryRightIcon;
+	HbIconItem *mPrimaryLeftIcon;
 
 };
 
--- a/calendarui/agendaeventviewer/src/agendaeventview.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/agendaeventviewer/src/agendaeventview.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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,18 +52,14 @@
 #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");
+
 /*!
 	\class AgendaEventView.
 
@@ -81,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;
 
@@ -113,6 +106,9 @@
 	mSubjectWidget = qobject_cast<AgendaEventViewerItem *> (
 			mDocLoader->findWidget(AGENDA_EVENT_VIEWER_SUBJECT_WIDGET));
 
+    //load layout that supports icon before subject label
+    mSubjectWidget->setProperty(primaryLeftIconItem,true);  
+
 	mDateTimeWidget = qobject_cast<AgendaEventViewerItem *> (
 			mDocLoader->findWidget(AGENDA_EVENT_VIEWER_DATE_TIME_WIDGET));
 
@@ -139,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 <--";
 	
 }
 
@@ -153,10 +155,8 @@
  */
 AgendaEventView::~AgendaEventView()
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::~AgendaEventView -->";
 
 	// Remove the translator
-	HbApplication::instance()->removeTranslator(mTranslator);
 	if (mTranslator) {
 		delete mTranslator;
 		mTranslator = 0;
@@ -164,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;
+    }
+	
 }
 
 /*!
@@ -182,7 +198,6 @@
 void AgendaEventView::execute(AgendaEntry entry,
 											AgendaEventViewer::Actions action)
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::execute -->";
 
 	mOriginalAgendaEntry = entry;
 	mAgendaEntry = entry;
@@ -198,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.
@@ -222,18 +234,19 @@
 		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
-	mBackAction = new HbAction(Hb::BackAction);
+	mBackAction = new HbAction(Hb::BackNaviAction);
 	mViewer->setNavigationAction(mBackAction);
 		
 	connect(mBackAction, SIGNAL(triggered()), this, SLOT(close()));
 
-	qDebug() << "AgendaEventViewer: AgendaEventView::execute <--";
 }
 
 /*!
@@ -241,7 +254,9 @@
  */
 void AgendaEventView::addViewerData()
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::addViewerData -->";
+	
+	// Add the title to event viewer.
+	addGroupBoxData();
 
 	// Set the summary & priority to viewer.
 	addSubjectAndPriorityData();
@@ -274,7 +289,6 @@
 	// Set the description.
 	addDescriptionData();
 	
-	qDebug() << "AgendaEventViewer: AgendaEventView::addViewerData <--";
 }
 
 /*!
@@ -282,7 +296,6 @@
  */
 void AgendaEventView::addMenuItem()
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::addMenuItem -->";
 
 	if (mAgendaEntry.type() == AgendaEntry::TypeTodo) {
 
@@ -300,7 +313,6 @@
 		        SLOT(markTodoStatus()));
 		menu->addAction(mMarkTodoAction);
 	}
-	qDebug() << "AgendaEventViewer: AgendaEventView::addMenuItem <--";
 }
 
 /*!
@@ -308,7 +320,6 @@
  */
 void AgendaEventView::addToolBarItem(AgendaEventViewer::Actions action)
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::addToolBarItem -->";
 
 	HbToolBar *toolBar = qobject_cast<HbToolBar *> (
 	                       mDocLoader->findWidget(AGENDA_EVENT_VIEWER_TOOLBAR));
@@ -339,7 +350,6 @@
 		toolBar->addAction(saveAction);
 	}
 
-	qDebug() << "AgendaEventViewer: AgendaEventView::addToolBarItem <--";
 }
 
 /*!
@@ -347,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 <--";
+		
 }
 
 /*!
@@ -369,8 +378,6 @@
  */
 void AgendaEventView::addSubjectAndPriorityData()
 {
-	qDebug()
-	     << "AgendaEventViewer: AgendaEventView::addSubjectAndPriorityData -->";
 
 	QStringList itemList;
 	itemList.append(hbTrId("txt_calendar_dblist_subject"));
@@ -383,16 +390,17 @@
 
 	mSubjectWidget->setEventViewerItemData(itemList, Qt::DisplayRole);
 
-	itemList.clear();
-	QString priorityIcon(QString::null);
-	getPriorityIcon(mAgendaEntry.priority(), priorityIcon);
-	itemList.append(priorityIcon);
-	itemList.append(QString::null);
+    itemList.clear();
+    QString priorityIcon(QString::null);
+    QString subjectIcon(QString::null);
+    getPriorityIcon(mAgendaEntry.priority(), priorityIcon);
+    getSubjectIcon(mAgendaEntry.type(),subjectIcon);
+    itemList.append(subjectIcon);
+    itemList.append(priorityIcon);
+    itemList.append(QString::null);
 
 	mSubjectWidget->setEventViewerItemData(itemList, Qt::DecorationRole);
 
-	qDebug()
-	     << "AgendaEventViewer: AgendaEventView::addSubjectAndPriorityData <--";
 }
 
 /*!
@@ -400,9 +408,6 @@
  */
 void AgendaEventView::addDateTimeData()
 {
-    qDebug()
-         << "AgendaEventViewer: AgendaEventView::addDateTimeData -->";
-    
     
     QStringList itemData;
     HbExtendedLocale systemLocale = HbExtendedLocale::system();
@@ -410,7 +415,11 @@
     QDateTime endDateTime = mAgendaEntry.endTime();
     
     itemData.append(QString::null);
+    itemData.append(QString::null);
     itemData.append("qtg_small_calendar");
+
+    mDateTimeWidget->setProperty(primaryLeftIconItem, false);  
+
     mDateTimeWidget->setEventViewerItemData(itemData, Qt::DecorationRole);
     itemData.clear();
     itemData.append(QString::null);
@@ -461,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));
@@ -480,8 +488,6 @@
 	itemData.append(data);
     mDateTimeWidget->setEventViewerItemData(itemData, Qt::DisplayRole);
     
-    qDebug()
-         << "AgendaEventViewer: AgendaEventView::addDateTimeData <--";
 }
 
 /*!
@@ -489,16 +495,28 @@
  */
 void AgendaEventView::addLocationData()
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::addLocationData -->";
 	QStringList itemData;
-	itemData.append(QString::null);
-	itemData.append("qtg_small_location");
+	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 <--";
 }
 
 /*!
@@ -506,70 +524,42 @@
  */
 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.svg").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("qtg_small_reminder");
+    itemData.append(QString::null);
+    itemData.append("qtg_small_reminder");
+    mReminderWidget->setProperty(primaryLeftIconItem, false); 
 	mReminderWidget->setEventViewerItemData(itemData, Qt::DecorationRole);
 	itemData.clear();
 	itemData.append(QString::null);
 	itemData.append(alarmTimeText());
 	mReminderWidget->setEventViewerItemData(itemData, Qt::DisplayRole);
-	qDebug() << "AgendaEventViewer: AgendaEventView::addReminderData <--";
-}
+    }
 
 /*!
 	Add completed to-do data to Event viewer
  */
 void AgendaEventView::addCompletedTodoData()
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::addCompletedTodoData -->";
 	QStringList itemData;
 	QString     completedText;
-	HbExtendedLocale systemLocale = HbExtendedLocale::system();;
-	
+    HbExtendedLocale systemLocale = HbExtendedLocale::system();;
+    itemData.append(QString::null);
 	itemData.append(QString::null);
 	itemData.append(QString::null);
+    mReminderWidget->setProperty(primaryLeftIconItem, false);
 	mReminderWidget->setEventViewerItemData(itemData, Qt::DecorationRole);
 	itemData.clear();
 	completedText = systemLocale.format(mAgendaEntry.completedDateTime().date(),
@@ -577,7 +567,6 @@
 	itemData.append(hbTrId("txt_calendar_dblist_completed_date"));
 	itemData.append(completedText);
 	mReminderWidget->setEventViewerItemData(itemData, Qt::DisplayRole);
-	qDebug() << "AgendaEventViewer: AgendaEventView::addCompletedTodoData <--";
 }
 
 /*!
@@ -585,16 +574,16 @@
  */
 void AgendaEventView::addRepeatData()
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::addRepeatData -->";
 	QStringList itemData;
 	itemData.append(QString::null);
-	itemData.append("qtg_mono_repeat.svg");
+    itemData.append(QString::null);
+    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 <--";
 }
 
 /*!
@@ -602,16 +591,16 @@
  */
 void AgendaEventView::addDescriptionData()
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::addDiscriptionData -->";
 	QStringList itemData;
 	itemData.append(QString::null);
 	itemData.append(QString::null);
+    itemData.append(QString::null);
+    mDescriptionWidget->setProperty(primaryLeftIconItem, false);
 	mDescriptionWidget->setEventViewerItemData(itemData, Qt::DecorationRole);
 	itemData.clear();
 	itemData.append(hbTrId("txt_calendar_dblist_description"));
 	itemData.append(mAgendaEntry.description());
 	mDescriptionWidget->setEventViewerItemData(itemData, Qt::DisplayRole);
-	qDebug() << "AgendaEventViewer: AgendaEventView::addDiscriptionData <--";
 }
 
 /*!
@@ -619,7 +608,6 @@
  */
 void AgendaEventView::getPriorityIcon(int priority, QString &priorityIcon)
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::getPriorityIcon -->";
 
 	switch(priority) {
 		case 1:priorityIcon.append("qtg_small_priority_high");
@@ -630,7 +618,6 @@
 		break;
 	}
 
-	qDebug() << "AgendaEventViewer: AgendaEventView::getPriorityIcon <--";
 }
 
 /*!
@@ -638,7 +625,6 @@
  */
 QString AgendaEventView::repeatRule() const
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::repeatRule -->";
 	
 	QString repeatRule;
 	AgendaRepeatRule agendaRepeatRule = mAgendaEntry.repeatRule();
@@ -650,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(
@@ -682,7 +667,6 @@
 			hbTrId("txt_calendar_dblist_repeats_daily_val_until_1").
 			arg(untilDateString));
 	}
-	qDebug() << "AgendaEventViewer: AgendaEventView::repeatRule <--";
 	
 	return repeatRule;
 }
@@ -694,7 +678,6 @@
  */
 QString AgendaEventView::alarmTimeText() const
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::alarmTimeText -->";
 
 	QString alarmDateTimeText;
 	QDateTime startTime;
@@ -719,7 +702,6 @@
 						r_qtn_date_usual_with_zero)));
 	}
 	
-	qDebug() << "AgendaEventViewer: AgendaEventView::alarmTimeText <--";
 	return alarmDateTimeText;
 }
 
@@ -728,7 +710,6 @@
  */
 void AgendaEventView::removeWidget()
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::removeWidget -->";
 	
 	if (mAgendaEntry.location().isEmpty()) { 
 		mLocationWidget->hide();
@@ -742,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;
@@ -770,7 +752,6 @@
 	mLinearLayout->invalidate();
 	mLinearLayout->activate();
 	
-	qDebug() << "AgendaEventViewer: AgendaEventView::removeWidget <--";
 }
 
 /*!
@@ -778,8 +759,6 @@
  */
 void AgendaEventView::updateCompletedReminderData()
 {
-	qDebug()
-	   << "AgendaEventViewer: AgendaEventView::updateCompletedReminderData -->";
 
 	if (AgendaEntry::TodoCompleted == mAgendaEntry.status()) {
 		addCompletedTodoData();
@@ -809,8 +788,6 @@
 	
 	mLinearLayout->invalidate();
 	mLinearLayout->activate();
-	qDebug()
-	   << "AgendaEventViewer: AgendaEventView::updateCompletedReminderData <--";
 }
 
 /*!
@@ -818,7 +795,6 @@
  */
 void AgendaEventView::removeAllWidgets()
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::removeAllWidgets -->";
 
 	for (int i = 2; i < mLinearLayout->count(); i++) {
 		mLinearLayout->removeAt(i);
@@ -826,7 +802,6 @@
 	mLinearLayout->invalidate();
 	mLinearLayout->activate();
 	
-	qDebug() << "AgendaEventViewer: AgendaEventView::removeAllWidgets <--";
 }
 
 /*!
@@ -834,7 +809,6 @@
  */
 void AgendaEventView::addAllWidgets()
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::addAllWidgets -->";
 	
 	mLinearLayout->addItem(mLocationWidget);
 	mLocationWidget->show();
@@ -850,7 +824,6 @@
 	mLinearLayout->invalidate();
 	mLinearLayout->activate();
 	
-	qDebug() << "AgendaEventViewer: AgendaEventView::addAllWidgets <--";
 }
 
 /*!
@@ -858,11 +831,10 @@
  */
 void AgendaEventView::showDeleteOccurencePopup()
 {
-	qDebug()
-	      << "AgendaEventViewer: AgendaEventView::showDeleteOccurencePopup -->";
-	HbDialog popUp;
-	popUp.setDismissPolicy(HbDialog::NoDismiss);
-	popUp.setTimeout(HbDialog::NoTimeout);
+	HbDialog *popUp = new HbDialog();
+	popUp->setDismissPolicy(HbDialog::NoDismiss);
+	popUp->setTimeout(HbDialog::NoTimeout);
+	popUp->setAttribute( Qt::WA_DeleteOnClose, true );
 
 	QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(Qt::Vertical);
 	HbWidget *deleteWidget = new HbWidget(mViewer);
@@ -872,84 +844,88 @@
 
 	QStringList list;
 	list << hbTrId("txt_calendar_info_this_occurrence_only") 
-		 << hbTrId("txt_calendar_info_all_occurences");
+				<< hbTrId("txt_calendar_info_all_occurences");
 
 	deleteButtonList->setItems(list);
 
 	layout->addItem(deleteButtonList);
 
-	popUp.setContentWidget(deleteWidget);
-	popUp.setHeadingWidget(new HbLabel(
-						hbTrId("txt_calendar_title_delete_repeated_entry")));
+	popUp->setContentWidget(deleteWidget);
+	popUp->setHeadingWidget(new HbLabel(
+			hbTrId("txt_calendar_title_delete_repeated_entry")));
 
 	connect(deleteButtonList, SIGNAL(itemSelected(int)), this,
-	        SLOT(handleDeleteOccurence(int)));
-	connect(deleteButtonList, SIGNAL(itemSelected(int)), &popUp, SLOT(close()));
+											SLOT(handleDeleteOccurence(int)));
+	connect(deleteButtonList, SIGNAL(itemSelected(int)), popUp, SLOT(close()));
 
-	// Create secondary action
-	HbAction *cancelAction = new HbAction(
-						hbTrId("txt_calendar_button_softkey1_cancel"));
-	popUp.setSecondaryAction(cancelAction);
-	connect(cancelAction, SIGNAL(triggered()), &popUp, SLOT(close()));
+	popUp->addAction(new HbAction(
+			hbTrId("txt_calendar_button_softkey1_cancel")));
 
 	// Show the popup
-	popUp.exec();
+	popUp->open();
 
-	qDebug()
-	      << "AgendaEventViewer: AgendaEventView::showDeleteOccurencePopup <--";
 }
 
-
 /*!
- * Show delete confirmation query
+	Show delete confirmation query
  */
-int AgendaEventView::showDeleteConfirmationQuery()
-{
-	qDebug()
-	   << "AgendaEventViewer: AgendaEventView::showDeleteConfirmationQuery -->";
-	int retStatus = 0;
+void AgendaEventView::showDeleteConfirmationQuery()
+    {
+    
+    HbMessageBox *popup = new HbMessageBox(HbMessageBox::MessageTypeQuestion);
+    popup->setDismissPolicy(HbDialog::NoDismiss);
+    popup->setTimeout(HbDialog::NoTimeout);
+    popup->setAttribute( Qt::WA_DeleteOnClose, true );
 
-	HbMessageBox popup(HbMessageBox::MessageTypeQuestion);
-	popup.setDismissPolicy(HbDialog::NoDismiss);
-	popup.setTimeout(HbDialog::NoTimeout);
-	popup.setIconVisible(true);
-
-	QString text = 0;
+    QString text = 0;
 
-	switch (mAgendaEntry.type()) {
-		case AgendaEntry::TypeAppoinment:
-		case AgendaEntry::TypeEvent: {
-			text.append(hbTrId("txt_calendar_info_delete_meeting"));
-			break;
-		}
-		case AgendaEntry::TypeAnniversary: {
-			text.append(hbTrId("txt_calendar_info_delete_anniversary"));
-			break;
-		}
-		case AgendaEntry::TypeTodo: {
-			text.append(hbTrId("txt_calendar_info_delete_todo_note"));
-			break;
-		}
-		case AgendaEntry::TypeNote: {
-			text.append(hbTrId("txt_calendar_info_delete_anniversary"));
-			break;
-		}
-	}
+    switch (mAgendaEntry.type()) {
+        case AgendaEntry::TypeAppoinment:
+        case AgendaEntry::TypeEvent: {
+        text.append(hbTrId("txt_calendar_info_delete_meeting"));
+        break;
+        }
+        case AgendaEntry::TypeAnniversary: {
+        text.append(hbTrId("txt_calendar_info_delete_anniversary"));
+        break;
+        }
+        case AgendaEntry::TypeTodo: {
+        text.append(hbTrId("txt_calendar_info_delete_todo_note"));
+        break;
+        }
+        case AgendaEntry::TypeNote: {
+        text.append(hbTrId("txt_calendar_info_delete_anniversary"));
+        break;
+        }
+    }
+    popup->setText(text);
+    
+    QList<QAction*> list = popup->actions();
+    for(int i=0; i < list.count(); i++)
+        {
+        popup->removeAction(list[i]);
+        }
+    HbAction *deleteAction = 
+					new HbAction(hbTrId("txt_calendar_button_delete"), popup);
+    popup->addAction(deleteAction);
+    connect(deleteAction, SIGNAL(triggered()), this ,
+												SLOT(handleDeleteAction()));
+    popup->addAction(new HbAction(hbTrId("txt_calendar_button_cancel"), popup));
+    popup->open();
+}
 
-	popup.setText(text);
-	
-	popup.setPrimaryAction(new HbAction(
-								hbTrId("txt_calendar_button_delete"), &popup));
-	popup.setSecondaryAction(new HbAction(
-								hbTrId("txt_calendar_button_cancel"), &popup));
-	HbAction *selected = popup.exec();
-	if (selected == popup.primaryAction()) { 
-		retStatus = 1;
-	}
+/*!
+	Handles the delete action
+ */
+void AgendaEventView::handleDeleteAction()
+    {
+    // If delete button is pressed delete the entry
+    // To notify client that deleting Started
+    // Calendar Application changing state from viewing to deleting.
+    mOwner->deletingStarted();
 
-	qDebug()
-	   << "AgendaEventViewer: AgendaEventView::showDeleteConfirmationQuery <--";
-	return retStatus;
+    // Delete the entry.
+    mOwner->mAgendaUtil->deleteEntry(mAgendaEntry.id());
 }
 
 /*!
@@ -957,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 <--";
 }
 
 /*!
@@ -994,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)));
 		
 
@@ -1018,7 +998,6 @@
 	
 		
 	}
-	qDebug() << "AgendaEventViewer: AgendaEventView::edit <--";
 }
 
 /*!
@@ -1026,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
@@ -1038,18 +1016,9 @@
 		// Query user if he wants to delete whole series or just this occurence
 		showDeleteOccurencePopup();
 	} else {
-		if (showDeleteConfirmationQuery()) {
-			
-			// To notify client that deleting Started
-			// Calendar Application changing state from viewing to deleting.
-			mOwner->deletingStarted();
-				
-			// Delete the entry.
-			mOwner->mAgendaUtil->deleteEntry(mAgendaEntry.id());
-		}
+        showDeleteConfirmationQuery();
 	}
 
-	qDebug() << "AgendaEventViewer: AgendaEventView::deleteAgendaEntry <--";
 }
 
 /*!
@@ -1057,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();
@@ -1084,7 +1050,6 @@
 	window->removeView(mViewer);
 	mOwner->viewingCompleted(mAgendaEntry.startTime().date());
 
-	qDebug() << "AgendaEventViewer: AgendaEventView::close <--";
 }
 
 /*!
@@ -1092,7 +1057,6 @@
  */
 void AgendaEventView::handleEntryUpdation(ulong id)
 {
-	qDebug() << "AgendaEventViewer: AgendaEventView::handleEntryUpdation -->";
 
 	AgendaEntry updatedEntry = mOwner->mAgendaUtil->fetchById(id);
 
@@ -1138,7 +1102,6 @@
 		close();
 	}
 
-	qDebug() << "AgendaEventViewer: AgendaEventView::handleEntryUpdation <--";
 }
 
 /*!
@@ -1146,7 +1109,6 @@
 */
 void AgendaEventView::handleEntryDeletion(ulong id)
 {
-	qDebug() <<"AgendaEventViewer: AgendaEventView::handleEntryDeletion -->";
 
 	if (id == mAgendaEntry.id()) {
 		// Close the agenda entry viewer
@@ -1154,7 +1116,6 @@
 		mOwner->deletingCompleted();
 	}
 
-	qDebug() <<"AgendaEventViewer: AgendaEventView::handleEntryDeletion <--";
 }
 
 /*!
@@ -1163,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 <--";
 }
 
 /*!
@@ -1177,15 +1137,11 @@
  */
 void AgendaEventView::handleCalendarEditorClosed()
 {
-	qDebug() 
-		<<"AgendaEventViewer: AgendaEventView::handleCalendarEditorClosed -->";
 
 	// Cleanup.
 	mCalenEditor->deleteLater();
 	mOwner->editingCompleted();
 
-	qDebug() 
-		<<"AgendaEventViewer: AgendaEventView::handleCalendarEditorClosed <--";
 }
 
 /*!
@@ -1193,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.
@@ -1213,7 +1168,154 @@
 			break;
 	}
 
-	qDebug() << "AgendaEventViewer: AgendaEventView::handleDeleteOccurence <--";
+}
+
+/*!
+    Returns subject icon
+ */
+void AgendaEventView::getSubjectIcon(AgendaEntry::Type type, QString &subjectIcon)
+    {
+    switch(type) {
+        case AgendaEntry::TypeAppoinment:
+            {
+            subjectIcon.append("qtg_small_meeting");
+            }
+            break;
+        case AgendaEntry::TypeTodo:
+            {
+            subjectIcon.append("qtg_small_todo");
+            }
+            break;
+        case AgendaEntry::TypeEvent:
+            {
+            subjectIcon.append("qtg_small_day");
+            }
+            break;
+        case AgendaEntry::TypeAnniversary:
+            {
+            subjectIcon.append("qtg_small_anniversary");
+            }
+            break;
+        default:
+            break;
+    }
+
+    }
+
+/*!
+    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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/agendaeventviewer/src/agendaeventviewer_p.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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/agendaeventviewer/src/agendaeventvieweritem.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/agendaeventviewer/src/agendaeventvieweritem.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -40,7 +40,8 @@
  */
 AgendaEventViewerItem::AgendaEventViewerItem(QGraphicsItem *parent) :
 	HbWidget(parent), mPrimaryText(NULL), mSecondaryText(NULL),
-	        mPrimaryIcon(NULL), mSecondaryIcon(NULL)
+	        mPrimaryIcon(NULL), mSecondaryIcon(NULL),mPrimaryRightIcon(NULL),
+	        mPrimaryLeftIcon(NULL)
 {
 
 	// Path for widgetml and css files.
@@ -70,10 +71,15 @@
 	if (!itemData.isEmpty()) {
 		QString firstItemData(QString::null);
 		QString secondItemData(QString::null);
-
-		if (itemData.count() == 2) {
+		QString thirdItemData(QString::null);
+        if (itemData.count() == 2) {
+            firstItemData = itemData.at(0);
+            secondItemData = itemData.at(1);
+        }
+        else if (itemData.count() == 3) {
 			firstItemData = itemData.at(0);
 			secondItemData = itemData.at(1);
+			thirdItemData = itemData.at(2);
 		} else {
 			firstItemData = itemData.at(0);
 		}
@@ -107,28 +113,43 @@
 				}
 		} else {
 			if (role == Qt::DecorationRole) {
-				if (!firstItemData.isEmpty()) {
-					if (!mPrimaryIcon) {
-						mPrimaryIcon = new HbIconItem(this);
+               if (!firstItemData.isEmpty()) {
+                   if (!mPrimaryLeftIcon) {
+                   mPrimaryLeftIcon = new HbIconItem(this);
+                   }
+                   HbStyle::setItemName(mPrimaryLeftIcon, "primaryLeftIconItem");
+                   mPrimaryLeftIcon->setVisible(true);
+                   mPrimaryLeftIcon->setIconName(firstItemData);
+
+               } else {
+                   if (mPrimaryLeftIcon) {
+                       HbStyle::setItemName(mPrimaryLeftIcon,"");
+                       mPrimaryLeftIcon->setVisible(false); 
+                   }
+                   
+               }
+				if (!secondItemData.isEmpty()) {
+					if (!mPrimaryRightIcon) {
+					mPrimaryRightIcon = new HbIconItem(this);
 					}
-					HbStyle::setItemName(mPrimaryIcon, "primaryIconItem");
-					mPrimaryIcon->setVisible(true);
-					mPrimaryIcon->setIconName(firstItemData);
+					HbStyle::setItemName(mPrimaryRightIcon, "primaryRightIconItem");
+					mPrimaryRightIcon->setVisible(true);
+					mPrimaryRightIcon->setIconName(secondItemData);
 
 				} else {
-					if (mPrimaryIcon) {
-						HbStyle::setItemName(mPrimaryIcon,"");
-						mPrimaryIcon->setVisible(false); 
+					if (mPrimaryRightIcon) {
+						HbStyle::setItemName(mPrimaryRightIcon,"");
+						mPrimaryRightIcon->setVisible(false); 
 					}
 					
 				}
-				if (!secondItemData.isEmpty()) {
+				if (!thirdItemData.isEmpty()) {
 					if (!mSecondaryIcon) {
 						mSecondaryIcon = new HbIconItem(this);
 						HbStyle::setItemName(mSecondaryIcon, 
 						                     "secondaryIconItem");
 					}
-					mSecondaryIcon->setIconName(secondItemData);
+					mSecondaryIcon->setIconName(thirdItemData);
 
 				} else {
 					if (mSecondaryIcon) {
--- a/calendarui/application/application.pro	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/application/application.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/application/inc/calenserviceprovider.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/application/src/calenserviceprovider.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/application/src/main.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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"
 
@@ -31,33 +31,27 @@
     
     // Main window for providing the scene context
 	HbMainWindow window;
-	window.setRenderHints(
-			QPainter::Antialiasing | QPainter::SmoothPixmapTransform);
-	window.setViewportUpdateMode(QGraphicsView::MinimalViewportUpdate);
 	
     //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_" + lang, path);
-    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);
+    CCalenController *controller = new CCalenController();
+
+	int retValue = 0;
+	if (controller) {
+	    controller->constructController();
+    	// Create the Calendar service provider
+	    CalenServiceProvider service(controller);
     
-    // Create the Calendar service provider
-    CalenServiceProvider service(controller);
+    	retValue = app.exec();
     
-    int retValue = app.exec();
-    
-    // delete the controller
-    controller->Release();
-    
+	    // delete the controller
+    	controller->ReleaseCustomisations();
+	    controller->Release();
+	}
     return retValue;
     }
 
--- a/calendarui/bwins/agendaeventvieweru.def	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +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)
-
--- a/calendarui/bwins/calencustomisationmanageru.def	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-EXPORTS
-	?scrollingFinished@CalenPreviewPane@@QAEXXZ @ 1 NONAME ; void CalenPreviewPane::scrollingFinished(void)
-	?setDate@CalenMonthView@@AAEXXZ @ 2 NONAME ; void CalenMonthView::setDate(void)
-	?handleGridItemActivated@CalenMonthView@@QAEXXZ @ 3 NONAME ; void CalenMonthView::handleGridItemActivated(void)
-	?setFocusToProperDay@CalenMonthGrid@@AAEXXZ @ 4 NONAME ; void CalenMonthGrid::setFocusToProperDay(void)
-	??1CalenPreviewPane@@UAE@XZ @ 5 NONAME ; CalenPreviewPane::~CalenPreviewPane(void)
-	?mousePressEvent@CalenMonthGrid@@EAEXPAVQGraphicsSceneMouseEvent@@@Z @ 6 NONAME ; void CalenMonthGrid::mousePressEvent(class QGraphicsSceneMouseEvent *)
-	?completePopulation@CalenMonthView@@AAEXXZ @ 7 NONAME ; void CalenMonthView::completePopulation(void)
-	?handleChangeOrientation@CalenMonthView@@AAEXXZ @ 8 NONAME ; void CalenMonthView::handleChangeOrientation(void)
-	?staticMetaObject@CalenSettingsView@@2UQMetaObject@@B @ 9 NONAME ; struct QMetaObject const CalenSettingsView::staticMetaObject
-	?upGesture@CalenMonthGrid@@MAEXH@Z @ 10 NONAME ; void CalenMonthGrid::upGesture(int)
-	?getStaticMetaObject@CalenSettingsView@@SAABUQMetaObject@@XZ @ 11 NONAME ; struct QMetaObject const & CalenSettingsView::getStaticMetaObject(void)
-	?updateMonthDataArrayWithActiveDates@CalenMonthView@@AAEXXZ @ 12 NONAME ; void CalenMonthView::updateMonthDataArrayWithActiveDates(void)
-	?scrollingFinished@CalenMonthGrid@@QAEXXZ @ 13 NONAME ; void CalenMonthGrid::scrollingFinished(void)
-	?setCurrentIdex@CalenMonthGrid@@QAEXH@Z @ 14 NONAME ; void CalenMonthGrid::setCurrentIdex(int)
-	??_ECalenMonthGrid@@UAE@I@Z @ 15 NONAME ; CalenMonthGrid::~CalenMonthGrid(unsigned int)
-	?trUtf8@CalenPreviewPane@@SA?AVQString@@PBD0@Z @ 16 NONAME ; class QString CalenPreviewPane::trUtf8(char const *, char const *)
-	?trUtf8@CalenMonthGrid@@SA?AVQString@@PBD0@Z @ 17 NONAME ; class QString CalenMonthGrid::trUtf8(char const *, char const *)
-	?populatePrevMonth@CalenMonthView@@QAEXXZ @ 18 NONAME ; void CalenMonthView::populatePrevMonth(void)
-	?qt_metacall@CalenSettingsView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 19 NONAME ; int CalenSettingsView::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?handleLeftEffectCompleted@CalenMonthView@@AAEXABUEffectStatus@HbEffect@@@Z @ 20 NONAME ; void CalenMonthView::handleLeftEffectCompleted(struct HbEffect::EffectStatus const &)
-	?getStaticMetaObject@CalenMonthGrid@@SAABUQMetaObject@@XZ @ 21 NONAME ; struct QMetaObject const & CalenMonthGrid::getStaticMetaObject(void)
-	?trUtf8@CalenSettingsView@@SA?AVQString@@PBD0H@Z @ 22 NONAME ; class QString CalenSettingsView::trUtf8(char const *, char const *, int)
-	?qt_metacast@CalenMonthView@@UAEPAXPBD@Z @ 23 NONAME ; void * CalenMonthView::qt_metacast(char const *)
-	?staticMetaObject@CalenMonthView@@2UQMetaObject@@B @ 24 NONAME ; struct QMetaObject const CalenMonthView::staticMetaObject
-	?setupView@CalenMonthView@@QAEXPAVCalenDocLoader@@@Z @ 25 NONAME ; void CalenMonthView::setupView(class CalenDocLoader *)
-	?metaObject@CalenMonthGrid@@UBEPBUQMetaObject@@XZ @ 26 NONAME ; struct QMetaObject const * CalenMonthGrid::metaObject(void) const
-	?startAutoScroll@CalenPreviewPane@@QAEXXZ @ 27 NONAME ; void CalenPreviewPane::startAutoScroll(void)
-	?setView@CalenMonthGrid@@QAEXPAVCalenMonthView@@@Z @ 28 NONAME ; void CalenMonthGrid::setView(class CalenMonthView *)
-	?HandleNotification@CalenDayView@@UAEXW4TCalenNotification@@@Z @ 29 NONAME ; void CalenDayView::HandleNotification(enum TCalenNotification)
-	?panGesture@CalenMonthGrid@@MAEXABVQPointF@@@Z @ 30 NONAME ; void CalenMonthGrid::panGesture(class QPointF const &)
-	?mousePressEvent@CalenPreviewPane@@UAEXPAVQGraphicsSceneMouseEvent@@@Z @ 31 NONAME ; void CalenPreviewPane::mousePressEvent(class QGraphicsSceneMouseEvent *)
-	??1CalenSettingsView@@UAE@XZ @ 32 NONAME ; CalenSettingsView::~CalenSettingsView(void)
-	?Date@CalenPreviewPane@@QAE?AVQDateTime@@XZ @ 33 NONAME ; class QDateTime CalenPreviewPane::Date(void)
-	?tr@CalenPreviewPane@@SA?AVQString@@PBD0H@Z @ 34 NONAME ; class QString CalenPreviewPane::tr(char const *, char const *, int)
-	?getInstanceList@CalenMonthView@@AAEXAAV?$QList@VAgendaEntry@@@@VQDateTime@@1@Z @ 35 NONAME ; void CalenMonthView::getInstanceList(class QList<class AgendaEntry> &, class QDateTime, class QDateTime)
-	?metaObject@CalenMonthView@@UBEPBUQMetaObject@@XZ @ 36 NONAME ; struct QMetaObject const * CalenMonthView::metaObject(void) const
-	??0CalenPreviewPane@@QAE@AAVMCalenServices@@PAVQGraphicsItem@@@Z @ 37 NONAME ; CalenPreviewPane::CalenPreviewPane(class MCalenServices &, class QGraphicsItem *)
-	?mouseReleaseEvent@CalenPreviewPane@@UAEXPAVQGraphicsSceneMouseEvent@@@Z @ 38 NONAME ; void CalenPreviewPane::mouseReleaseEvent(class QGraphicsSceneMouseEvent *)
-	?rowsInPrevMonth@CalenMonthView@@QAEHXZ @ 39 NONAME ; int CalenMonthView::rowsInPrevMonth(void)
-	?metaObject@CalenPreviewPane@@UBEPBUQMetaObject@@XZ @ 40 NONAME ; struct QMetaObject const * CalenPreviewPane::metaObject(void) const
-	??0CalenDayView@@QAE@AAVMCalenServices@@@Z @ 41 NONAME ; CalenDayView::CalenDayView(class MCalenServices &)
-	?populateNextMonth@CalenMonthView@@QAEXXZ @ 42 NONAME ; void CalenMonthView::populateNextMonth(void)
-	?handleRightEffectCompleted@CalenMonthView@@AAEXABUEffectStatus@HbEffect@@@Z @ 43 NONAME ; void CalenMonthView::handleRightEffectCompleted(struct HbEffect::EffectStatus const &)
-	?qt_metacast@CalenMonthGrid@@UAEPAXPBD@Z @ 44 NONAME ; void * CalenMonthGrid::qt_metacast(char const *)
-	?firstDayOfGrid@CalenMonthView@@QAE?AVQDateTime@@XZ @ 45 NONAME ; class QDateTime CalenMonthView::firstDayOfGrid(void)
-	?rowsInFutMonth@CalenMonthView@@QAEHXZ @ 46 NONAME ; int CalenMonthView::rowsInFutMonth(void)
-	?getCurrGridIndex@CalenMonthView@@QAEHXZ @ 47 NONAME ; int CalenMonthView::getCurrGridIndex(void)
-	?launchDayView@CalenMonthView@@QAEXXZ @ 48 NONAME ; void CalenMonthView::launchDayView(void)
-	??1CalenDayViewWidget@@UAE@XZ @ 49 NONAME ; CalenDayViewWidget::~CalenDayViewWidget(void)
-	??0CalenDayViewWidget@@QAE@AAVMCalenServices@@PAVCalenDocLoader@@@Z @ 50 NONAME ; CalenDayViewWidget::CalenDayViewWidget(class MCalenServices &, class CalenDocLoader *)
-	?prependRows@CalenMonthGrid@@QAEXXZ @ 51 NONAME ; void CalenMonthGrid::prependRows(void)
-	?orientationChanged@CalenMonthGrid@@MAEXW4Orientation@Qt@@@Z @ 52 NONAME ; void CalenMonthGrid::orientationChanged(enum Qt::Orientation)
-	?handleGridItemLongPressed@CalenMonthView@@QAEXHAAVQPointF@@@Z @ 53 NONAME ; void CalenMonthView::handleGridItemLongPressed(int, class QPointF &)
-	?qt_metacall@CalenPreviewPane@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 54 NONAME ; int CalenPreviewPane::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?trUtf8@CalenPreviewPane@@SA?AVQString@@PBD0H@Z @ 55 NONAME ; class QString CalenPreviewPane::trUtf8(char const *, char const *, int)
-	??1CalenThickLinesDrawer@@UAE@XZ @ 56 NONAME ; CalenThickLinesDrawer::~CalenThickLinesDrawer(void)
-	?setView@CalenPreviewPane@@QAEXPAVCalenMonthView@@@Z @ 57 NONAME ; void CalenPreviewPane::setView(class CalenMonthView *)
-	??_ECalenMonthView@@UAE@I@Z @ 58 NONAME ; CalenMonthView::~CalenMonthView(unsigned int)
-	?changeOrientation@CalenMonthView@@UAEXW4Orientation@Qt@@@Z @ 59 NONAME ; void CalenMonthView::changeOrientation(enum Qt::Orientation)
-	?populatePreviewPane@CalenMonthView@@QAEXAAVQDateTime@@@Z @ 60 NONAME ; void CalenMonthView::populatePreviewPane(class QDateTime &)
-	??0CalenSettingsView@@QAE@AAVMCalenServices@@PAVQGraphicsItem@@@Z @ 61 NONAME ; CalenSettingsView::CalenSettingsView(class MCalenServices &, class QGraphicsItem *)
-	?updateModelWithPrevMonth@CalenMonthView@@QAEXXZ @ 62 NONAME ; void CalenMonthView::updateModelWithPrevMonth(void)
-	?stopScrolling@CalenPreviewPane@@QAEXXZ @ 63 NONAME ; void CalenPreviewPane::stopScrolling(void)
-	?addBackgroundFrame@CalenMonthView@@AAEXXZ @ 64 NONAME ; void CalenMonthView::addBackgroundFrame(void)
-	?createGrid@CalenMonthView@@AAEXXZ @ 65 NONAME ; void CalenMonthView::createGrid(void)
-	?tr@CalenPreviewPane@@SA?AVQString@@PBD0@Z @ 66 NONAME ; class QString CalenPreviewPane::tr(char const *, char const *)
-	?getStaticMetaObject@CalenPreviewPane@@SAABUQMetaObject@@XZ @ 67 NONAME ; struct QMetaObject const & CalenPreviewPane::getStaticMetaObject(void)
-	?launchPreviousView@CalenSettingsView@@AAEXXZ @ 68 NONAME ; void CalenSettingsView::launchPreviousView(void)
-	?setCurrGridIndex@CalenMonthView@@QAEXH@Z @ 69 NONAME ; void CalenMonthView::setCurrGridIndex(int)
-	?setDateToLabel@CalenMonthView@@AAEXXZ @ 70 NONAME ; void CalenMonthView::setDateToLabel(void)
-	?addWeekNumbers@CalenMonthView@@AAEXXZ @ 71 NONAME ; void CalenMonthView::addWeekNumbers(void)
-	?qt_metacall@CalenThickLinesDrawer@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 72 NONAME ; int CalenThickLinesDrawer::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?setupView@CalenDayView@@QAEXPAVCalenDocLoader@@@Z @ 73 NONAME ; void CalenDayView::setupView(class CalenDocLoader *)
-	??1CalenMonthView@@UAE@XZ @ 74 NONAME ; CalenMonthView::~CalenMonthView(void)
-	?dateFromContext@CalenMonthView@@AAE?AVQDateTime@@ABVMCalenContext@@@Z @ 75 NONAME ; class QDateTime CalenMonthView::dateFromContext(class MCalenContext const &)
-	?staticMetaObject@CalenMonthGrid@@2UQMetaObject@@B @ 76 NONAME ; struct QMetaObject const CalenMonthGrid::staticMetaObject
-	?paint@CalenThickLinesDrawer@@EAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 77 NONAME ; void CalenThickLinesDrawer::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
-	?trUtf8@CalenMonthGrid@@SA?AVQString@@PBD0H@Z @ 78 NONAME ; class QString CalenMonthGrid::trUtf8(char const *, char const *, int)
-	?initializeForm@CalenSettingsView@@QAEXXZ @ 79 NONAME ; void CalenSettingsView::initializeForm(void)
-	?tr@CalenMonthGrid@@SA?AVQString@@PBD0H@Z @ 80 NONAME ; class QString CalenMonthGrid::tr(char const *, char const *, int)
-	?goToToday@CalenMonthView@@AAEXXZ @ 81 NONAME ; void CalenMonthView::goToToday(void)
-	?trUtf8@CalenThickLinesDrawer@@SA?AVQString@@PBD0H@Z @ 82 NONAME ; class QString CalenThickLinesDrawer::trUtf8(char const *, char const *, int)
-	?qt_metacast@CalenPreviewPane@@UAEPAXPBD@Z @ 83 NONAME ; void * CalenPreviewPane::qt_metacast(char const *)
-	?docLoader@CalenDayView@@QAEPAVCalenDocLoader@@XZ @ 84 NONAME ; class CalenDocLoader * CalenDayView::docLoader(void)
-	?getCurrentIndex@CalenMonthGrid@@QAEHXZ @ 85 NONAME ; int CalenMonthGrid::getCurrentIndex(void)
-	?removeWeekNumbers@CalenMonthView@@AAEXXZ @ 86 NONAME ; void CalenMonthView::removeWeekNumbers(void)
-	?tr@CalenSettingsView@@SA?AVQString@@PBD0H@Z @ 87 NONAME ; class QString CalenSettingsView::tr(char const *, char const *, int)
-	?trUtf8@CalenMonthView@@SA?AVQString@@PBD0H@Z @ 88 NONAME ; class QString CalenMonthView::trUtf8(char const *, char const *, int)
-	??0CalenMonthView@@QAE@AAVMCalenServices@@@Z @ 89 NONAME ; CalenMonthView::CalenMonthView(class MCalenServices &)
-	?getStaticMetaObject@CalenThickLinesDrawer@@SAABUQMetaObject@@XZ @ 90 NONAME ; struct QMetaObject const & CalenThickLinesDrawer::getStaticMetaObject(void)
-	?setNoEntriesLabel@CalenPreviewPane@@QAEXPAVHbLabel@@@Z @ 91 NONAME ; void CalenPreviewPane::setNoEntriesLabel(class HbLabel *)
-	??0CalenThickLinesDrawer@@QAE@W4WidgetType@CalendarNamespace@@PAVQGraphicsItem@@@Z @ 92 NONAME ; CalenThickLinesDrawer::CalenThickLinesDrawer(enum CalendarNamespace::WidgetType, class QGraphicsItem *)
-	?onLocaleChanged@CalenMonthView@@UAEXH@Z @ 93 NONAME ; void CalenMonthView::onLocaleChanged(int)
-	?doPopulation@CalenMonthView@@UAEXXZ @ 94 NONAME ; void CalenMonthView::doPopulation(void)
-	?tr@CalenMonthView@@SA?AVQString@@PBD0H@Z @ 95 NONAME ; class QString CalenMonthView::tr(char const *, char const *, int)
-	?GetInstanceListL@CalenPreviewPane@@AAEXXZ @ 96 NONAME ; void CalenPreviewPane::GetInstanceListL(void)
-	?tr@CalenMonthView@@SA?AVQString@@PBD0@Z @ 97 NONAME ; class QString CalenMonthView::tr(char const *, char const *)
-	??0CalenMonthGrid@@QAE@PAVQGraphicsItem@@@Z @ 98 NONAME ; CalenMonthGrid::CalenMonthGrid(class QGraphicsItem *)
-	?refreshViewOnGoToDate@CalenMonthView@@EAEXXZ @ 99 NONAME ; void CalenMonthView::refreshViewOnGoToDate(void)
-	?appendRows@CalenMonthGrid@@QAEXXZ @ 100 NONAME ; void CalenMonthGrid::appendRows(void)
-	?tr@CalenThickLinesDrawer@@SA?AVQString@@PBD0H@Z @ 101 NONAME ; class QString CalenThickLinesDrawer::tr(char const *, char const *, int)
-	?mouseReleaseEvent@CalenMonthGrid@@EAEXPAVQGraphicsSceneMouseEvent@@@Z @ 102 NONAME ; void CalenMonthGrid::mouseReleaseEvent(class QGraphicsSceneMouseEvent *)
-	?getCurrentDay@CalenMonthView@@QAE?AVQDateTime@@XZ @ 103 NONAME ; class QDateTime CalenMonthView::getCurrentDay(void)
-	?staticMetaObject@CalenPreviewPane@@2UQMetaObject@@B @ 104 NONAME ; struct QMetaObject const CalenPreviewPane::staticMetaObject
-	?tr@CalenSettingsView@@SA?AVQString@@PBD0@Z @ 105 NONAME ; class QString CalenSettingsView::tr(char const *, char const *)
-	?onTwoSecondsTimeout@CalenPreviewPane@@QAEXXZ @ 106 NONAME ; void CalenPreviewPane::onTwoSecondsTimeout(void)
-	?timerExpired@CalenMonthGrid@@IAEXXZ @ 107 NONAME ; void CalenMonthGrid::timerExpired(void)
-	?tr@CalenThickLinesDrawer@@SA?AVQString@@PBD0@Z @ 108 NONAME ; class QString CalenThickLinesDrawer::tr(char const *, char const *)
-	?staticMetaObject@CalenThickLinesDrawer@@2UQMetaObject@@B @ 109 NONAME ; struct QMetaObject const CalenThickLinesDrawer::staticMetaObject
-	?populateWithInstanceView@CalenMonthView@@AAEXXZ @ 110 NONAME ; void CalenMonthView::populateWithInstanceView(void)
-	?trUtf8@CalenThickLinesDrawer@@SA?AVQString@@PBD0@Z @ 111 NONAME ; class QString CalenThickLinesDrawer::trUtf8(char const *, char const *)
-	?downGesture@CalenMonthGrid@@MAEXH@Z @ 112 NONAME ; void CalenMonthGrid::downGesture(int)
-	?populateLabel@CalenPreviewPane@@QAEXVQDateTime@@@Z @ 113 NONAME ; void CalenPreviewPane::populateLabel(class QDateTime)
-	?doPopulation@CalenDayView@@UAEXXZ @ 114 NONAME ; void CalenDayView::doPopulation(void)
-	??1CalenDayView@@UAE@XZ @ 115 NONAME ; CalenDayView::~CalenDayView(void)
-	?updateModelWithFutureMonth@CalenMonthView@@QAEXXZ @ 116 NONAME ; void CalenMonthView::updateModelWithFutureMonth(void)
-	?monthDataList@CalenMonthView@@QAE?AV?$QList@VCalenMonthData@@@@XZ @ 117 NONAME ; class QList<class CalenMonthData> CalenMonthView::monthDataList(void)
-	?metaObject@CalenThickLinesDrawer@@UBEPBUQMetaObject@@XZ @ 118 NONAME ; struct QMetaObject const * CalenThickLinesDrawer::metaObject(void) const
-	??1CalenMonthGrid@@UAE@XZ @ 119 NONAME ; CalenMonthGrid::~CalenMonthGrid(void)
-	?updateWeekNumGridModel@CalenMonthView@@AAEXXZ @ 120 NONAME ; void CalenMonthView::updateWeekNumGridModel(void)
-	?qt_metacast@CalenThickLinesDrawer@@UAEPAXPBD@Z @ 121 NONAME ; void * CalenThickLinesDrawer::qt_metacast(char const *)
-	?prepareForPopulation@CalenMonthView@@AAEXXZ @ 122 NONAME ; void CalenMonthView::prepareForPopulation(void)
-	?handlePreviewPaneGesture@CalenMonthView@@QAEX_N@Z @ 123 NONAME ; void CalenMonthView::handlePreviewPaneGesture(bool)
-	?updateMonthGridModel@CalenMonthGrid@@QAEXAAV?$QList@VCalenMonthData@@@@H@Z @ 124 NONAME ; void CalenMonthGrid::updateMonthGridModel(class QList<class CalenMonthData> &, int)
-	?setActiveDates@CalenMonthGrid@@AAEXVQDate@@@Z @ 125 NONAME ; void CalenMonthGrid::setActiveDates(class QDate)
-	?trUtf8@CalenMonthView@@SA?AVQString@@PBD0@Z @ 126 NONAME ; class QString CalenMonthView::trUtf8(char const *, char const *)
-	?setContextForActiveDay@CalenMonthView@@QAEXH@Z @ 127 NONAME ; void CalenMonthView::setContextForActiveDay(int)
-	?trUtf8@CalenSettingsView@@SA?AVQString@@PBD0@Z @ 128 NONAME ; class QString CalenSettingsView::trUtf8(char const *, char const *)
-	??_ECalenSettingsView@@UAE@I@Z @ 129 NONAME ; CalenSettingsView::~CalenSettingsView(unsigned int)
-	??_ECalenThickLinesDrawer@@UAE@I@Z @ 130 NONAME ; CalenThickLinesDrawer::~CalenThickLinesDrawer(unsigned int)
-	?metaObject@CalenSettingsView@@UBEPBUQMetaObject@@XZ @ 131 NONAME ; struct QMetaObject const * CalenSettingsView::metaObject(void) const
-	?getStaticMetaObject@CalenMonthView@@SAABUQMetaObject@@XZ @ 132 NONAME ; struct QMetaObject const & CalenMonthView::getStaticMetaObject(void)
-	?qt_metacast@CalenSettingsView@@UAEPAXPBD@Z @ 133 NONAME ; void * CalenSettingsView::qt_metacast(char const *)
-	?tr@CalenMonthGrid@@SA?AVQString@@PBD0@Z @ 134 NONAME ; class QString CalenMonthGrid::tr(char const *, char const *)
-	?qt_metacall@CalenMonthView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 135 NONAME ; int CalenMonthView::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?setActiveDay@CalenMonthView@@AAEXVQDateTime@@@Z @ 136 NONAME ; void CalenMonthView::setActiveDay(class QDateTime)
-	?itemActivated@CalenMonthGrid@@QAEXABVQModelIndex@@@Z @ 137 NONAME ; void CalenMonthGrid::itemActivated(class QModelIndex const &)
-	?qt_metacall@CalenMonthGrid@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 138 NONAME ; int CalenMonthGrid::qt_metacall(enum QMetaObject::Call, int, void * *)
-	??_ECalenPreviewPane@@UAE@I@Z @ 139 NONAME ; CalenPreviewPane::~CalenPreviewPane(unsigned int)
-	?createEditor@CalenMonthView@@AAEXXZ @ 140 NONAME ; void CalenMonthView::createEditor(void)
-	?getActiveDay@CalenMonthView@@QAE?AVQDateTime@@XZ @ 141 NONAME ; class QDateTime CalenMonthView::getActiveDay(void)
-	?showHideRegionalInformation@CalenMonthView@@AAEXXZ @ 142 NONAME ; void CalenMonthView::showHideRegionalInformation(void)
-	?paint@CalenMonthGrid@@EAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 143 NONAME ; void CalenMonthGrid::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
-	?mouseMoveEvent@CalenPreviewPane@@UAEXPAVQGraphicsSceneMouseEvent@@@Z @ 144 NONAME ; void CalenPreviewPane::mouseMoveEvent(class QGraphicsSceneMouseEvent *)
-	?addRemoveActionsInMenu@CalenMonthView@@AAEXXZ @ 145 NONAME ; void CalenMonthView::addRemoveActionsInMenu(void)
-
--- a/calendarui/calendarui.pro	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/calendarui.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/caleneditor/caleneditor.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/caleneditor/data/caleneditor.qrc	Mon Jun 28 15:22:02 2010 +0530
@@ -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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/caleneditor/data/caleneditorlocationitem.docml	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <widget name="calenEditorLocationWidget" type="HbWidget">
+        <widget name="locationLineEdit" type="HbLineEdit">
+            <real name="z" value="1"/>
+            <string name="text" value=""/>
+        </widget>
+        <widget name="locationPushButton" type="HbPushButton">
+            <real name="z" value="2"/>
+            <sizehint height="7.4un" type="MINIMUM" width="9.5un"/>
+            <sizehint height="7.4un" type="MAXIMUM" width="9.5un"/>
+        </widget>
+        <rect height="9.4un" name="geometry" width="53.73134un" x="0un" y="0un"/>
+        <sizehint height="9.4un" type="PREFERRED"/>
+        <sizehint height="9.4un" type="MINIMUM"/>
+        <sizehint height="9.4un" type="MAXIMUM"/>
+        <layout type="anchor">
+            <anchoritem dst="locationPushButton" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+            <anchoritem dst="locationPushButton" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+            <anchoritem dst="locationLineEdit" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+            <anchoritem dst="locationLineEdit" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-middle-horizontal)" src="locationPushButton" srcEdge="LEFT"/>
+            <anchoritem dst="locationLineEdit" dstEdge="CENTERV" spacing="0un" src="locationPushButton" srcEdge="CENTERV"/>
+        </layout>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/caleneditor/data/caleneditorview.docml	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="addDescriptionAction" type="HbAction">
+        <string locid="txt_calendar_opt_add_description" name="text" value="Add description"/>
+    </object>
+    <object name="deleteEventAction" type="HbAction">
+        <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="heading" value="New event"/>
+                <bool name="collapsable" value="FALSE"/>
+            </widget>
+            <widget name="calenEditorDataFormWidget" type="HbDataForm">
+                <string name="description" value=""/>
+                <string name="heading" value=""/>
+            </widget>
+            <layout type="anchor">
+                <anchoritem dst="calenEditorHeadingWidget" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="calenEditorHeadingWidget" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+                <anchoritem dst="calenEditorHeadingWidget" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="calenEditorDataFormWidget" dstEdge="TOP" spacing="0un" src="calenEditorHeadingWidget" srcEdge="BOTTOM"/>
+                <anchoritem dst="calenEditorDataFormWidget" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="calenEditorDataFormWidget" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="calenEditorDataFormWidget" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+            </layout>
+        </widget>
+        <widget name="calenEditorMenu" role="HbView:menu" type="HbMenu">
+            <ref object="addDescriptionAction" role="HbMenu:addAction"/>
+            <ref object="deleteEventAction" role="HbMenu:addAction"/>
+        </widget>
+        <string locid="txt_calendar_title_calendar" name="title" value="Calendar"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/caleneditor/eabi/caleneditoru.def	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/caleneditor/inc/caleneditor.h	Mon Jun 28 15:22:02 2010 +0530
@@ -45,6 +45,7 @@
 public:
 	enum CreateType{
 		TypeAppointment = 0,
+		// TODO: Need to add more types
 		TypeUnKnown = -1
 	};
 	
--- a/calendarui/caleneditor/inc/caleneditor_p.h	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/caleneditor/inc/caleneditor_p.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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;
@@ -92,6 +93,7 @@
 			DateTimeToItem,
 			LocationItem,
 			ReminderItem,
+			ReminderTimeForAllDayItem,
 			RepeatItem,
 			RepeatUntilItem
 			};
@@ -104,7 +106,14 @@
 	AgendaEntry* originalEntry();
 	bool isNewEntry();
 	HbDataFormModelItem* allDayCheckBoxItem();
-
+	bool isReminderTimeForAllDayAdded();
+	bool isAllDayEvent();
+	void updateReminderChoices();
+	int currentIndexOfReminderField();
+	void setCurrentIndexOfReminderField(int index);
+	void setReminderChoices();
+	bool isEditRangeThisOnly();
+	bool isAllDayFieldAdded();
 private:
 	void edit(const QFile &handle, bool launchCalendar);
 	void edit(AgendaEntry entry, bool launchCalendar);
@@ -113,6 +122,7 @@
 	            bool launchCalendar);
 	void create(CalenEditor::CreateType type, AgendaEntry entry, 
 		            bool launchCalendar);
+	void openEditor(AgendaEntry entry);
 	void showEditor(AgendaEntry entry);
 	void showEditOccurencePopup();
 	void setUpView();
@@ -135,7 +145,6 @@
 	void populateRepeatItem();
 	void populateDescriptionItem();
 	void removeDescriptionItem();
-	void closeEditor();
 		
 	bool isChild() const ;
 	
@@ -144,7 +153,6 @@
 	void deleteEntry(bool close = false);
 	bool handleAllDayToSave();
 	void enableFromTotimeFileds(bool, QDateTime, QDateTime);
-	int showDeleteConfirmationQuery();
 	
 private slots:
 	void handleSubjectChange(const QString subject);
@@ -152,8 +160,11 @@
 	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);
 	void handleDeleteAction();
 	void launchSettingsView();
 	void discardChanges();
@@ -161,6 +172,9 @@
 	void handleEditOccurence(int index);
 	void handleCancel();
 	void handleCalendarLaunchError(int error);
+	void closeEditor();
+	void handleLocationEditingFinished();
+	void selectEditingFinishedAction(HbAction* action);	
 	
 private:
 	enum EditRange {
@@ -170,7 +184,7 @@
 	};
 	
 	CalenEditor *q_ptr;
-	AgendaUtil *mAgendaUtil;
+	QPointer<AgendaUtil> mAgendaUtil;
 	
 	CalenEditorDocLoader *mEditorDocLoader;
 	HbView *mEditorView;
@@ -191,14 +205,15 @@
 	EditRange mEditRange;
 	
 	QDateTime mNewEntryDateTime;
-		
+	
+	AgendaEntry mEntry;
 	AgendaEntry *mOriginalEntry;
 	AgendaEntry *mEditedEntry;
 
 	HbAction *mSoftKeyAction;
 	HbAction *mDescriptionAction;
 	HbMainWindow *mMainWindow;
-	QTranslator *mTranslator;
+	HbTranslator *mTranslator;
 	
 	bool mNewEntry;
 	bool mDescriptionItemAdded;
--- a/calendarui/caleneditor/inc/caleneditorcommon.h	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/caleneditor/inc/caleneditorcommon.h	Mon Jun 28 15:22:02 2010 +0530
@@ -35,7 +35,8 @@
     CustomWidgetFrom = HbDataFormModelItem::CustomItemBase + 1,
     CustomWidgetTo,
     CustomWidgetLocation,
-    RepeatUntilOffset
+    RepeatUntilOffset,
+    ReminderTimeOffset
 };
 
 #endif /* CALENEDITORCOMMON_H_ */
--- a/calendarui/caleneditor/inc/caleneditorcustomitem.h	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/caleneditor/inc/caleneditorcustomitem.h	Mon Jun 28 15:22:02 2010 +0530
@@ -39,6 +39,7 @@
 	~CalenEditorCustomItem();
 	virtual HbAbstractViewItem* createItem();
 	void enableFromTimeFieldAndSetTime(bool, QDateTime);
+	void disableFromToDateField();
 	void enableToTimeFieldAndSetTime(bool, QDateTime);	
 	void populateDateTime(QDateTime defaultDateTime, bool isFromItem);
 	void populateLocation( QString location);
@@ -47,6 +48,7 @@
 	void enableDateButton(bool value);
 	bool canSetModelIndex(const QModelIndex &index) const;
 	void restore();
+	QDateTime getDateTime();
 	
 protected:
 	virtual HbWidget* createCustomWidget();
@@ -61,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;
@@ -78,6 +82,7 @@
 	HbPushButton* mPushButtonTime;
 	HbPushButton* mPushButtonDate;
 	HbPushButton *mRepeatUntilWidget;
+	HbPushButton *mReminderTimeWidget;
 
 	HbDateTimePicker *mDatePicker;
 	HbDateTimePicker *mTimePicker;
--- a/calendarui/caleneditor/inc/caleneditorreminderfield.h	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/caleneditor/inc/caleneditorreminderfield.h	Mon Jun 28 15:22:02 2010 +0530
@@ -30,6 +30,7 @@
 class HbDataFormModelItem;
 class HbDataForm;
 class HbDataFormModelItem;
+class HbDateTimePicker;
 class CalenEditorDataHandler;
 
 class CalenEditorReminderField : public QObject
@@ -43,20 +44,37 @@
 	virtual ~CalenEditorReminderField();
 
 public:
+	void setReminderChoices();
 	void addItemToModel();
 	void removeItemFromModel();
 	void populateReminderItem(bool newEntry);
 	QModelIndex modelIndex();
-	
+	void setReminderOff();
+	void setDefaultAlarmForAllDay();
+	void updateReminderChoicesForAllDay(QDate repeatUntilDate);
+	void insertReminderTimeField();
+	void setDisplayTime();
+	void removeReminderTimeField();
+	bool isReminderFieldEnabled();
+	int reminderItemsCount();
+	int currentReminderIndex();
+	void setCurrentIndex(int index);
+	void disableReminderTimeField();
+	bool isReminderTimeForAllDayAdded();
 private slots:
 	void handleReminderIndexChanged(int index);
-	
+	void launchReminderTimePicker();
+	void setReminderTimeForAllDay();
 private:
 	CalenEditorPrivate* mCalenEditor;
 	HbDataForm* mEditorForm;
 	HbDataFormModel* mCalenEditorModel;
 	HbDataFormModelItem* mReminderItem;
+	HbDataFormModelItem *mCustomReminderTimeItem;
+	HbDateTimePicker *mTimePicker;
+	QTime mReminderTimeForAllDay;
 	QHash<int, int> mReminderHash;
+	bool mReminderTimeAdded;
 };
 
 #endif // CALENEDITORREMINDERFIELD_H
--- a/calendarui/caleneditor/inc/caleneditorrepeatfield.h	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/caleneditor/inc/caleneditorrepeatfield.h	Mon Jun 28 15:22:02 2010 +0530
@@ -53,6 +53,7 @@
 	void updateRepeatChoices();
 	void saveRepeatRule();
 	bool isRepeatUntilItemAdded();
+	QDate repeatUntilDate();          
 
 private:
 	void insertRepeatUntilItem();
--- a/calendarui/caleneditor/src/caleneditor.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/caleneditor/src/caleneditor.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/caleneditor/src/caleneditor_p.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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>
@@ -41,11 +41,10 @@
 #include <hbextendedlocale.h>
 #include <hbi18ndef.h>
 #include <qdatetime.h>
-#include <HbMessageBox>
 #include <hbgroupbox.h>
-#include <hbapplication.h>
 #include <hbradiobuttonlist.h>
 #include <hbnotificationdialog.h>
+#include <hbtranslator.h>
 
 // User includes
 #include <CalenLauncher>
@@ -210,6 +209,7 @@
 									mEditRange(ThisAndAll),
 									mOriginalEntry(NULL),
 									mEditedEntry(NULL),
+									mTranslator(new HbTranslator("caleneditor")),
 									mNewEntry(true),
 									mDescriptionItemAdded(false),
 									mIsChild(false),
@@ -220,6 +220,7 @@
 	// First get the q-pointer.
 	q_ptr = static_cast<CalenEditor *> (parent);
 	mMainWindow = NULL;
+	mTranslator->loadCommon();
 	
 	if (!agendaUtil) {
 		mAgendaUtil = new AgendaUtil(this);
@@ -228,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);
 }
 
 /*!
@@ -244,6 +236,10 @@
  */
 CalenEditorPrivate::~CalenEditorPrivate()
 {
+	if(mOwnsAgendaUtil) {
+		delete mAgendaUtil;
+		mAgendaUtil = NULL;
+	}
 	if (mOriginalEntry) {
 		delete mOriginalEntry;
 		mOriginalEntry = NULL;
@@ -252,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;
@@ -290,7 +301,7 @@
 {
 	mNewEntry = false;
 	mLaunchCalendar = launchCalendar;
-	showEditor(entry);
+	openEditor(entry);
 }
 
 /*!
@@ -301,6 +312,9 @@
 {
 	mNewEntry = false;
 	AgendaEntry entry = mAgendaUtil->fetchById(id);
+	if(entry.isNull()) {
+		return;
+	}
 	edit(entry, launchCalendar);
 }
 
@@ -321,12 +335,14 @@
 			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;
-	showEditor(entry);
+	openEditor(entry);
 }
 
 /*!
@@ -344,13 +360,15 @@
 			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();
 	mLaunchCalendar = launchCalendar;
-	showEditor(entry);
+	openEditor(entry);
 }
 
 /*!
@@ -358,10 +376,11 @@
  */
 void CalenEditorPrivate::showEditOccurencePopup()
 {
-	HbDialog popUp;
-	popUp.setDismissPolicy(HbDialog::NoDismiss);
-	popUp.setTimeout(HbDialog::NoTimeout);
-
+	HbDialog *popUp = new HbDialog();
+	popUp->setDismissPolicy(HbDialog::NoDismiss);
+	popUp->setTimeout(HbDialog::NoTimeout);
+	popUp->setAttribute( Qt::WA_DeleteOnClose, true );
+	
 	QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(Qt::Vertical);
 	HbWidget *editWidget = new HbWidget();
 	editWidget->setLayout(layout);
@@ -376,22 +395,20 @@
 
 	layout->addItem(editButtonList);
 
-	popUp.setContentWidget(editWidget);
-	popUp.setHeadingWidget(new HbLabel(hbTrId("txt_calendar_title_edit")));
+	popUp->setContentWidget(editWidget);
+	popUp->setHeadingWidget(new HbLabel(hbTrId("txt_calendar_title_edit")));
 
-	// Create secondary action
+	// Create cancel action
 	HbAction *cancelAction =
 	        new HbAction(hbTrId("txt_calendar_button_softkey1_cancel"));
-	popUp.setSecondaryAction(cancelAction);
+	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()), &popUp, SLOT(close()));
 	connect(cancelAction, SIGNAL(triggered()), this, SLOT(handleCancel()));
 
 	// Show the popup
-	popUp.exec();
+	popUp->open();
 }
 
 /*!
@@ -409,6 +426,13 @@
 			mEditRange = ThisAndAll;
 			break;
 	}
+	// If user has selected to edit all the occurences, 
+	// then get the parent of it
+	AgendaEntry entryToBeEdited = mEntry;
+	if (mEditRange == ThisAndAll) {
+		entryToBeEdited = mAgendaUtil->parentEntry(mEntry);
+	}
+	showEditor(entryToBeEdited);
 }
 
 /*!
@@ -418,6 +442,36 @@
 {
 	// User has chosen not to edit the event, hence return
 	mEditRange = UserCancelled;
+	// Do cleanup and return
+	emit q_ptr->dialogClosed();
+	return;
+}
+
+/*!
+	Opens the editor.
+ */
+void CalenEditorPrivate::openEditor(AgendaEntry entry)
+{
+	if (0 < entry.id()) {
+		mNewEntry = false;
+	}
+	if (!mNewEntry) {
+		// Before we do anything, check in the entry is repeating
+		// OR its a child item
+		mIsChild = !(entry.recurrenceId().isNull());
+		bool isRepeating = entry.isRepeating();
+		// For later reference
+		mEntry = entry;
+		if (mIsChild || isRepeating) {
+			// Query user if he wants to edit whole series 
+			// or just this occurence
+			showEditOccurencePopup();
+			return;
+		}else {
+			mEditRange = ThisAndAll;
+		}
+	}
+	showEditor(entry);
 }
 
 /*!
@@ -425,52 +479,23 @@
  */
 void CalenEditorPrivate::showEditor(AgendaEntry entry)
 {
-	
-	if (0 < entry.id()) {
-		mNewEntry = false;
-	}
-
-	AgendaEntry entryToBeEdited = entry;
-	if (!mNewEntry) {
-		// Before we do anything, check in the entry is repeating
-		// OR its a child item
-		mIsChild = !(entry.recurrenceId().isNull());
-		bool isRepeating = entry.isRepeating();
-		if (mIsChild || isRepeating) {
-			// Query user if he wants to edit whole series 
-			// or just this occurence
-			showEditOccurencePopup();
-			// If user has selected to edit all the occurences, 
-			// then get the parent of it
-			if (mEditRange == ThisAndAll) {
-				entryToBeEdited = mAgendaUtil->parentEntry(entry);
-			} else if (mEditRange == UserCancelled) {
-				// Do cleanup and return
-				emit q_ptr->dialogClosed();
-				return;
-			}
-		} else {
-			mEditRange = ThisAndAll;
-		}
-	}
-
-	mOriginalEntry = new AgendaEntry(entryToBeEdited);
-	mEditedEntry = new AgendaEntry(entryToBeEdited);
+	mOriginalEntry = new AgendaEntry(entry);
+	mEditedEntry = new AgendaEntry(entry);
 
 	if (!mEditedEntry->description().isEmpty()) {
 		mDescriptionItemAdded = true;
 	}
 	// Construct the view using docloader
 	setUpView();
-		
+
 	// Set the title text. 
 	mEditorView->setTitle(hbTrId("txt_calendar_title_calendar"));
 
-	mSoftKeyAction = new HbAction(Hb::BackAction);
+	mSoftKeyAction = new HbAction(Hb::BackNaviAction);
 	mEditorView->setNavigationAction(mSoftKeyAction);
 	connect(mSoftKeyAction, SIGNAL(triggered()), this,
 	        SLOT(saveAndCloseEditor()));
-	
+
 	// Create the data handler
 	mDataHandler = new CalenEditorDataHandler(this,mEditedEntry, mOriginalEntry);
 }
@@ -513,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(handleDeleteAction()));
+							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();
@@ -582,14 +616,9 @@
 
 	// Add all day check box for new entry creation or while editing
 	// parent entry or existing non repeating event
-	if (mNewEntry) {
+	if (mNewEntry || (mEditRange == ThisAndAll)) {
 		addAllDayCheckBoxItem();
-	} else { 
-		if (!mEditedEntry->isRepeating() || (mEditRange == ThisAndAll)) {
-			addAllDayCheckBoxItem();
-		}
 	}
-	
 	addCustomItemFrom();
 	addCustomItemTo();
 	addCustomItemLocation();
@@ -598,7 +627,6 @@
 	if (mEditRange == ThisAndAll) {
 		addRepeatItem();
 	}
-
 	mCalenEditorForm->setModel(mCalenEditorModel);
 }
 
@@ -793,7 +821,7 @@
 			QDateTime endTime =
 			        mEditedEntry-> startTime().addSecs(durationInSeconds);
 
-			// set this to the original entr as well as edited entry
+			// set this to the original entry as well as edited entry
 			mOriginalEntry->setStartAndEndTime(mOriginalEntry->startTime(),
 										endTime);
 			mEditedEntry->setStartAndEndTime(mEditedEntry->startTime(), endTime);
@@ -854,11 +882,32 @@
 			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());
 			mViewToItem->setDateRange(prevInstanceEndTime.date().addDays(1),
 			                        nextInstanceEndTime.date().addDays(-1));
+			
+			// If repeating daily then disable the date fields as 
+			// date cannot be changed
+ 			if ((prevInstanceEndTime.date().daysTo(
+				mEditedEntry->startTime().date()) == 1) && 
+				(mEditedEntry->endTime().date().daysTo(
+				nextInstanceStartTime.date()) == 1)) {
+				mViewFromItem->disableFromToDateField();
+			}
 		}
 	} else {
 		toDateTime = fromDateTime.addSecs(60 * 60);
@@ -871,13 +920,19 @@
 	if (mNewEntry) {
 		mOriginalEntry->setStartAndEndTime(fromDateTime, toDateTime);
 	}
-	if (mAllDayCheckBoxItem
-	        && (mAllDayCheckBoxItem->contentWidgetData("checkState")
-	                == Qt::Checked)) {
+	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);
 	}
 }
 /*!
@@ -898,12 +953,19 @@
 	}
 	QModelIndex index = mCalenEditorModel->index(itemIndex, 0);
 	mViewLocationItem = qobject_cast<CalenEditorCustomItem *> 
-	                      (mCalenEditorForm->dataFormViewItem(index));        
-                
+	                      (mCalenEditorForm->itemByIndex(index));
+
 	connect(mViewLocationItem, SIGNAL(locationTextChanged(const QString)),
 			this, SLOT(handleLocationChange(const QString)));
-                    
-	mViewLocationItem->populateLocation(mEditedEntry->location());
+	
+	connect(mViewLocationItem, SIGNAL(locationTextChanged(const QString, const double, const double)),
+			this, SLOT(handleLocationChange(const QString, const double, const double)));
+
+	mViewLocationItem->populateLocation(mEditedEntry->location());	
+	
+    connect(mViewLocationItem, SIGNAL(locationEditingFinished()),
+            this, SLOT(handleLocationEditingFinished()));
+	        
 }
 /*!
 	Save the changed start time of the event.
@@ -935,6 +997,49 @@
 		// update the repeat choices depending on the meeting duration
 		mRepeatField->updateRepeatChoices();
 	}
+
+	updateReminderChoices();
+}
+
+void CalenEditorPrivate::updateReminderChoices()
+{
+	QDate referenceDate;
+	
+	// Start date or repeat until date will be the reference to decide 
+	// whether the event is in past or future.
+	if (mRepeatField && mRepeatField->isRepeatUntilItemAdded()) {
+		referenceDate = mRepeatField->repeatUntilDate();
+	} else {
+		referenceDate = mEditedEntry->startTime().date();
+	}
+	
+	// Check if all day event or not.
+	if (isAllDayEvent()) {
+		int currentIndex = mReminderField->currentReminderIndex();
+		mReminderField->updateReminderChoicesForAllDay(referenceDate);
+		int numberOfReminderChoices = mReminderField->reminderItemsCount();
+		if (currentIndex >= numberOfReminderChoices) {
+			currentIndex = 0;
+			mReminderField->disableReminderTimeField();
+		} 
+		mReminderField->setCurrentIndex(currentIndex);
+		if(currentIndex == 0 && mReminderField->isReminderTimeForAllDayAdded()) {
+			mReminderField->removeReminderTimeField();
+		}
+	} else { 
+		if ((referenceDate < QDate::currentDate())
+						|| (referenceDate == QDate::currentDate()
+				&& (mEditedEntry->startTime().time() < QTime::currentTime())))
+				 {
+					mReminderField->setReminderOff();
+		} else {
+			// Enabled implies future. If changing from future to future do not 
+			// do anything.
+			if (!mReminderField->isReminderFieldEnabled()) {
+				mReminderField->setReminderChoices();
+			}
+		}
+	}
 }
 
 /*!
@@ -943,17 +1048,21 @@
 void CalenEditorPrivate::saveToDateTime(QDateTime& toDateTime)
 {
 	QDateTime startTime = mEditedEntry->startTime();
+	bool fromDateChanged = false;
 	// Update the start time accordingly on UI - duration will be 60 mins
 	// bydefault for new entry and if it crosses the starttime
 	if (mNewEntry && toDateTime < startTime) {
 		startTime = toDateTime.addSecs(-3600);
-	} else { // for exisitng entry
+		fromDateChanged = true;
+	} else { 
+		// for exisitng entry
 		// we need to see if user has moved end time before the start time
 		// then substract the duration of the meeting that was saved earlier to 
 		// the new end time to get the new start time
 		if (toDateTime < startTime) {
 			int duration = mEditedEntry->durationInSecs();
 			startTime = toDateTime.addSecs(-duration);
+			fromDateChanged = true;
 		}
 	}
 	// Set the new start time to the form
@@ -968,6 +1077,11 @@
 		// update the repeat choices depending on the meeting duration
 		mRepeatField->updateRepeatChoices();
 	}
+	
+	// Update reminder choices if start time got changed.
+	if (fromDateChanged) {
+		updateReminderChoices();
+	}
 }
 
 /*!
@@ -977,11 +1091,14 @@
 {
 	// Check if all day has been added or not 
 	// and calculate the index accordingly
+	// all day added implies reminder time field is also added
 	int index;
-	if (mIsAllDayItemAdded) {
+	if (mIsAllDayItemAdded && !isReminderTimeForAllDayAdded()) {
+		index = RepeatItem - 1;
+	} else if (!mNewEntry && isReminderTimeForAllDayAdded()) {
 		index = RepeatItem;
 	} else {
-		index = RepeatItem - 1;
+		index = RepeatItem - 2;
 	}
 	
 	mRepeatField->populateRepeatItem(index);
@@ -1072,7 +1189,9 @@
 void CalenEditorPrivate::handleSubjectChange(const QString subject)
 {
 	mEditedEntry->setSummary(subject);
-	addDiscardAction();
+	if(!mNewEntry ){
+		addDiscardAction();
+	}
 }
 
 /*!
@@ -1096,15 +1215,49 @@
 		tempEndTime.setTime(tempEndQTime);
 
 		enableFromTotimeFileds(false, tempSartTime, tempEndTime);
+		QDate referenceDate;
+		if (mRepeatField->isRepeatUntilItemAdded()) {
+			referenceDate = mRepeatField->repeatUntilDate();
+		} else {
+			referenceDate = mEditedEntry->startTime().date();
+		}
+		mReminderField->updateReminderChoicesForAllDay(referenceDate);
+		// If the reminder field is enabled and it is not off 
+		// it implies default alarm day and time is being displayed.
+		if (mReminderField->isReminderFieldEnabled() && 
+					mReminderField->currentReminderIndex() != 0) {
+			// Set the default alarm for all day.
+			mReminderField->setDefaultAlarmForAllDay();
+		} else {
+			// Remove reminder time field.
+			mReminderField->removeReminderTimeField();
+		}
 	} else {
 		// AllDayCheckBox in un-checked
 		// Set From/To times buttons editable
 		// 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;
+		} else {
+			index = ReminderTimeForAllDayItem - 1;
+		}
+		mReminderField->removeReminderTimeField();
+		mReminderField->setReminderChoices();
+		updateReminderChoices();
 	}
-	addDiscardAction();
+
+	if(!mNewEntry){
+		addDiscardAction();
+	}
 }
 
 /*!
@@ -1114,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.
@@ -1125,7 +1344,9 @@
 void CalenEditorPrivate::handleDescriptionChange(const QString description)
 {
 	mEditedEntry->setDescription(description);
-	addDiscardAction();
+	if(!mNewEntry){
+		addDiscardAction();
+	}
 }
 
 /*!
@@ -1135,14 +1356,16 @@
 void CalenEditorPrivate::saveAndCloseEditor()
 {
 	Action action = handleDone();
-	closeEditor();
+	if (CalenEditorPrivate::ActionDelete != action) {
+		closeEditor();
+	}
 
 	if (CalenEditorPrivate::ActionSave == action) {
 		// check if we need to launch the calendar application
 		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,
@@ -1165,17 +1388,14 @@
  */
 void CalenEditorPrivate::handleDeleteAction()
 {
-
+	// If its a new entry just close the editor
 	if (mNewEntry) {
-		if (showDeleteConfirmationQuery()) {
-			closeEditor();
-		}
+		closeEditor();
 		return;
+	}else {
+		// Delete entry and close editor
+		deleteEntry(true);
 	}
-	
-	// Delete entry and close editor
-	deleteEntry(true);
-
 }
 
 /*!
@@ -1198,14 +1418,12 @@
 /*!
  * Show delete confirmation query
  */
-int CalenEditorPrivate::showDeleteConfirmationQuery()
+void CalenEditorPrivate::showDeleteConfirmationQuery(bool closeEditor)
 {
-	int retStatus = 0;
-
-	HbMessageBox popup(HbMessageBox::MessageTypeQuestion);
-	popup.setDismissPolicy(HbDialog::NoDismiss);
-	popup.setTimeout(HbDialog::NoTimeout);
-	popup.setIconVisible(true);
+	HbMessageBox *popup = new HbMessageBox(HbMessageBox::MessageTypeQuestion);
+	popup->setDismissPolicy(HbDialog::NoDismiss);
+	popup->setTimeout(HbDialog::NoTimeout);
+	popup->setAttribute( Qt::WA_DeleteOnClose, true );
 
 	QString text = 0;
 
@@ -1225,18 +1443,27 @@
 		}
 	}
 
-	popup.setText(text);
-
-	popup.setPrimaryAction(new HbAction(hbTrId("txt_calendar_button_delete"),
-	                                    &popup));
-	popup.setSecondaryAction(new HbAction(hbTrId("txt_calendar_button_cancel"),
-	                                      &popup));
-	HbAction *selected = popup.exec();
-	if (selected == popup.primaryAction()) {
-		retStatus = 1;
+	popup->setText(text);
+	
+    QList<QAction*> list = popup->actions();
+    for(int i=0; i < list.count(); i++)
+        {
+        popup->removeAction(list[i]);
+        }
+	HbAction *deleteAction = new HbAction(hbTrId("txt_calendar_button_delete"),
+										popup);
+	popup->addAction(deleteAction);
+	connect(deleteAction, SIGNAL(triggered()), this, 
+										SLOT(handleDeleteAction()));
+	HbAction *cancelAction = new HbAction(hbTrId("txt_calendar_button_cancel"),
+											popup);
+	// Editor should not be closed for all the cases when cancel is pressed
+	if(closeEditor) {
+		connect(cancelAction, SIGNAL(triggered()), this, 
+											SLOT(closeEditor()));
 	}
-
-	return retStatus;
+	popup->addAction(cancelAction);
+	popup->open();
 }
 
 /*!
@@ -1273,7 +1500,7 @@
 			}
 			return CalenEditorPrivate::ActionNothing;
 		case CalenEditorPrivate::ActionDelete:
-			deleteEntry();
+			showDeleteConfirmationQuery(true);
 			return CalenEditorPrivate::ActionDelete;
 		case CalenEditorPrivate::ActionNothing:
 			return CalenEditorPrivate::ActionNothing;
@@ -1293,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)) {
@@ -1309,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) {
@@ -1341,26 +1581,22 @@
  */
 void CalenEditorPrivate::deleteEntry(bool close)
 {
-
 	// if editor is launched from Notes then don't delete entry
 	// Just exit from calendar editor
 	if (mOriginalEntry->id() > 0) {
-
 		// If user is editing single instanc then delete single instance 
 		// else delete entry
-		if (showDeleteConfirmationQuery()) {
-			if (mEditRange == ThisOnly) {
-				// User wants to delete only this occurence
-				mAgendaUtil->deleteRepeatedEntry(*mOriginalEntry,
-				                                 AgendaUtil::ThisOnly);
-			} else {
-				// Delete the entry.
-				mAgendaUtil->deleteEntry(mOriginalEntry->id());
-			}
+		if (mEditRange == ThisOnly) {
+			// User wants to delete only this occurence
+			mAgendaUtil->deleteRepeatedEntry(*mOriginalEntry,
+			                                 AgendaUtil::ThisOnly);
+		} else {
+			// Delete the entry.
+			mAgendaUtil->deleteEntry(mOriginalEntry->id());
+		}
 
-			if (close) {
-				closeEditor();
-			}
+		if (close) {
+			closeEditor();
 		}
 	}
 }
@@ -1382,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")
@@ -1403,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;
 }
 
@@ -1462,4 +1722,74 @@
 {
 	return mAllDayCheckBoxItem;
 }
+
+/*!
+	Checks if all day item is added and if selected implies reminder time is added.
+	When editing single occurence irrespective of type of the event 
+	the all day item is not shown.
+	Used to calculate the index of other items which are dependant on this.
+ */
+bool CalenEditorPrivate::isReminderTimeForAllDayAdded()
+{
+	return mReminderField->isReminderTimeForAllDayAdded();
+}
+
+/*!
+	Checks if it is an all day event or not.
+ */
+bool CalenEditorPrivate::isAllDayEvent()
+{
+	if (mAllDayCheckBoxItem) {
+		return (mAllDayCheckBoxItem->contentWidgetData("checkState") 
+													== Qt::Checked)? true:false;
+	} else if (!mNewEntry && mEditedEntry->type() == AgendaEntry::TypeEvent) {
+		// If editing single occurence then all day item not shown but still it 
+		// is an all day event..
+		return true;;
+	} else {
+		return false;
+	}
+}
+
+/*!
+	Returns the current index of the reminder field.
+ */
+int CalenEditorPrivate::currentIndexOfReminderField()
+{
+	return mReminderField->currentReminderIndex();
+}
+
+/*!
+	Sets the index. 
+	/param index indicates the index value to be set.
+ */
+void CalenEditorPrivate::setCurrentIndexOfReminderField(int index)
+{
+	mReminderField->setCurrentIndex(index);
+}
+
+/*!
+	Sets the reminder choices for a non all day event.
+ */
+void CalenEditorPrivate::setReminderChoices()
+{
+		mReminderField->setReminderChoices();
+}
+
+/*!
+	Checks if editing all occurences or a single occurence.
+ */
+bool CalenEditorPrivate::isEditRangeThisOnly()
+{
+	return (mEditRange == ThisOnly);
+}
+
+/*!
+	Checks if all day field is added.
+ */
+bool CalenEditorPrivate::isAllDayFieldAdded()
+{
+	return mIsAllDayItemAdded;
+}
+
 // End of file	--Don't remove this.
--- a/calendarui/caleneditor/src/caleneditorcustomitem.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/caleneditor/src/caleneditorcustomitem.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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();
@@ -113,7 +119,8 @@
 		case CustomWidgetTo:
 		{
 		HbWidget *widgetBottom = new HbWidget();
-		QGraphicsLinearLayout *layoutBottom = new QGraphicsLinearLayout(Qt::Horizontal);
+		QGraphicsLinearLayout *layoutBottom = 
+									new QGraphicsLinearLayout(Qt::Horizontal);
 		widgetBottom->setLayout(layoutBottom);
 
 		mPushButtonTime = new HbPushButton(this);
@@ -133,20 +140,31 @@
 			CalenEditorDocLoader editorLocationDocLoader;
 			bool loadSuccess = false;
 
-			editorLocationDocLoader.load(CALEN_EDITOR_LOCATION_XML_FILE, &loadSuccess);
+			editorLocationDocLoader.load(CALEN_EDITOR_LOCATION_XML_FILE, 
+														&loadSuccess);
 			Q_ASSERT_X(loadSuccess, "caleneditor.cpp", 
-		                                    "Unable to load caleneditor location view XML");
-			HbWidget* widgetLocation = qobject_cast<HbWidget *> (editorLocationDocLoader.findWidget(CALEN_EDITOR_LOCATION));
-		    
-			mLocationLineEdit = qobject_cast<HbLineEdit *>( editorLocationDocLoader.findWidget(CALEN_EDITOR_LOCATION_LINEEDIT));
+								"Unable to load caleneditor location view XML");
+			HbWidget* widgetLocation = qobject_cast<HbWidget *> (
+					editorLocationDocLoader.findWidget(CALEN_EDITOR_LOCATION));
+
+			mLocationLineEdit = qobject_cast<HbLineEdit *>( 
+									editorLocationDocLoader.findWidget(
+											CALEN_EDITOR_LOCATION_LINEEDIT));
 			mLocationLineEdit->setMinRows(1);
 			mLocationLineEdit->setMaxRows(4);
-			mLocationPushButton = qobject_cast<HbPushButton*>(editorLocationDocLoader.findWidget(CALEN_EDITOR_LOCATION_PUSHBUTTON));
+			mLocationPushButton = qobject_cast<HbPushButton*>(
+									editorLocationDocLoader.findWidget(
+											CALEN_EDITOR_LOCATION_PUSHBUTTON));
 			mLocationPushButton->setIcon( HbIcon("qtg_mono_location"));
 			
-			connect(mLocationPushButton, SIGNAL(clicked()), this, SLOT(launchLocationPicker()));
+			connect(mLocationPushButton, SIGNAL(clicked()), this, 
+												SLOT(launchLocationPicker()));
 			connect(mLocationLineEdit, SIGNAL(textChanged(const QString)),
-		                this, SLOT(handleLocationTextChange(const QString)));
+						this, SLOT(handleLocationTextChange(const QString)));
+						
+			connect(mLocationLineEdit, SIGNAL(editingFinished()),
+			            this, SLOT(handleEditingFinished()));
+			
 			return widgetLocation;
 		}
 		
@@ -156,7 +174,12 @@
 		return mRepeatUntilWidget;
 		}
 				
-
+		case ReminderTimeOffset:
+		{
+			mReminderTimeWidget = new HbPushButton(this);
+			return mReminderTimeWidget;
+		}
+		
 		default:
 			return 0;
 	}
@@ -200,10 +223,14 @@
 			locationString.append(',');
 		}
 		locationString.append(selectedLocation.mCountry);
-		emit locationTextChanged(locationString);
+		emit locationTextChanged(locationString, selectedLocation.mLatitude, selectedLocation.mLongitude);
 		mLocationLineEdit->setText(locationString );
     }
 }
+
+/*!
+	Populates the date and time in proper formats on the buttons
+ */
 void CalenEditorCustomItem::populateDateTime(QDateTime defaultDateTime, bool isFromItem)
 {
 	// Store the date and time to be shown
@@ -213,17 +240,22 @@
 	mIsFromItem = isFromItem;
 	
     mPushButtonDate->setText(mLocale.format(defaultDateTime.date(), 
-	                                           r_qtn_date_usual_with_zero));
+												r_qtn_date_usual_with_zero));
 	mPushButtonTime->setText(mLocale.format(defaultDateTime.time(), 
-	                                           r_qtn_time_usual_with_zero));
+												r_qtn_time_usual_with_zero));
 }
 
+/*!
+	Sets the location on the button
+ */
 void CalenEditorCustomItem::populateLocation(QString location )
 {
 	mLocationLineEdit->setText( location );
-   
 }
 
+/*!
+	Sets the date range
+ */
 void CalenEditorCustomItem::setDateRange(QDate start, QDate end)
 {
 	mMaxDate = end;
@@ -236,82 +268,112 @@
 	}
 }
 
+/*!
+	Sets the time range
+ */
 void CalenEditorCustomItem::setTimeRange(QTime start, QTime end)
 {
 	mMaxTime = start;
 	mMinTime = end;
 }
 
+/*!
+	Enables the date button
+ */
 void CalenEditorCustomItem::enableDateButton(bool value)
 {
 	mPushButtonDate->setEnabled(value);
 }
 
-
+/*!
+	Handles the location change
+ */
 void CalenEditorCustomItem::handleLocationTextChange(QString location)
 {
 	emit locationTextChanged(location);
 }
 
+/*!
+	Handles the location editing finished
+ */
+void CalenEditorCustomItem::handleEditingFinished()
+{
+    emit locationEditingFinished();
+}
 
-
+/*!
+	Launches the date picker
+ */
 void CalenEditorCustomItem::handleDate()
 {
-	// Create a date picker
-	mDatePicker = new HbDateTimePicker(mDate, this);
-	mDatePicker->setMinimumDate(mMinDate);
-	mDatePicker->setMaximumDate(mMaxDate);
-
 	// Create a popup with datepicker for the user to select date.
-	HbDialog popUp;
-	popUp.setDismissPolicy(HbDialog::NoDismiss);
-	popUp.setTimeout(HbDialog::NoTimeout);
+	HbDialog *popUp = new HbDialog();
+	popUp->setDismissPolicy(HbDialog::NoDismiss);
+	popUp->setTimeout(HbDialog::NoTimeout);
+	popUp->setAttribute( Qt::WA_DeleteOnClose, true );
 	
 	// Set the proper heading
 	if (mIsFromItem) {
-        popUp.setHeadingWidget(new HbLabel(hbTrId("txt_calendar_title_start_date")));   
-    }else {
-        popUp.setHeadingWidget(new HbLabel(hbTrId("txt_calendar_title_end_date")));
-    }
-
-	popUp.setContentWidget(mDatePicker);
-	HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok"));
-	popUp.setPrimaryAction(okAction);
+		popUp->setHeadingWidget(
+						new HbLabel(hbTrId("txt_calendar_title_start_date")));
+	}else {
+		popUp->setHeadingWidget(
+						new HbLabel(hbTrId("txt_calendar_title_end_date")));
+	}
+	// Create a date picker
+	if(mDatePicker) {
+		mDatePicker = NULL;
+	}
+	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"), popUp);
+	popUp->addAction(okAction);
 	connect(okAction, SIGNAL(triggered()), this, SLOT(saveDate()));
-	connect(okAction, SIGNAL(triggered()), &popUp, SLOT(close()));
-	popUp.setSecondaryAction(new HbAction(hbTrId("txt_common_button_cancel")));
-	popUp.exec();
+	popUp->addAction(new HbAction(hbTrId("txt_common_button_cancel"), popUp));
+	popUp->open();
 }
 
+/*!
+	Launches the time picker
+ */
 void CalenEditorCustomItem::handleTime()
 {
+	// Create a popup with time picker for the user to select time.
+	HbDialog *popUp = new HbDialog();
+	popUp->setDismissPolicy(HbDialog::NoDismiss);
+	popUp->setTimeout(HbDialog::NoTimeout);
+	popUp->setAttribute( Qt::WA_DeleteOnClose, true );
+	
+	// Set the proper heading
+	if (mIsFromItem) {
+		popUp->setHeadingWidget(
+					new HbLabel(hbTrId("txt_calendar_title_start_time")));
+	}else {
+		popUp->setHeadingWidget(
+					new HbLabel(hbTrId("txt_calendar_title_end_time")));
+	}
 	// Create a time picker.
-	mTimePicker = new HbDateTimePicker(mTime, this);
+	if(mTimePicker) {
+		mTimePicker = NULL;
+	}
+	mTimePicker = new HbDateTimePicker(mTime, popUp);
+	
 	if(mLocale.timeStyle() == HbExtendedLocale::Time12) {
 		mTimePicker->setDisplayFormat("hh:mm ap");	
 	}else {
 		mTimePicker->setDisplayFormat("hh:mm");
 	}
 	mTimePicker->setTime(mTime);
-	// Create a popup with time picker for the user to select time.
-	HbDialog popUp;
-	popUp.setDismissPolicy(HbDialog::NoDismiss);
-	popUp.setTimeout(HbDialog::NoTimeout);
-	
-	// Set the proper heading
-    if (mIsFromItem) {
-        popUp.setHeadingWidget(new HbLabel(hbTrId("txt_calendar_title_start_time")));   
-    }else {
-        popUp.setHeadingWidget(new HbLabel(hbTrId("txt_calendar_title_end_time")));
-    }
-    
-	popUp.setContentWidget(mTimePicker);
-	HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok"));
-	popUp.setPrimaryAction(okAction);
+	popUp->setContentWidget(mTimePicker);
+
+	HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok"), popUp);
+	popUp->addAction(okAction);
 	connect(okAction, SIGNAL(triggered()), this, SLOT(saveTime()));
-	connect(okAction, SIGNAL(triggered()), &popUp, SLOT(close()));
-	popUp.setSecondaryAction(new HbAction(hbTrId("txt_common_button_cancel"), &popUp));
-	popUp.exec();
+	popUp->addAction(new HbAction(hbTrId("txt_common_button_cancel"), popUp));
+	popUp->open();
 }
 
 /*!
@@ -353,6 +415,18 @@
 	
 	// Set FromTime in Editor
 	mPushButtonTime->setText(mLocale.format(fromDateTime.time(),r_qtn_time_usual_with_zero));
+	
+	// Store the time
+    mTime = fromDateTime.time();
+}
+
+/*!
+	Disable Date field.
+ */
+void CalenEditorCustomItem::disableFromToDateField()
+{
+	// disable the date field.
+	mPushButtonDate->setEnabled(false);
 }
 
 /*!
@@ -364,7 +438,11 @@
 	mPushButtonTime->setEnabled(enableTimeFiles);
 	
 	// Set ToTime in Editor
-	mPushButtonTime->setText(mLocale.format(toDateTime.time(),r_qtn_time_usual_with_zero));
+	mPushButtonTime->setText(mLocale.format(
+							toDateTime.time(),r_qtn_time_usual_with_zero));
+	
+	// Store the time
+	mTime = toDateTime.time();
 }
 
 /*!
@@ -377,7 +455,7 @@
         index.data(HbDataFormModelItem::ItemTypeRole).toInt());
 
     if(itemType == CustomWidgetFrom || itemType == CustomWidgetTo || itemType == RepeatUntilOffset 
-			|| itemType == CustomWidgetLocation ) {
+			|| itemType == CustomWidgetLocation || itemType == ReminderTimeOffset ) {
         return true;
     } else {
         return false;
@@ -400,9 +478,20 @@
     		mRepeatUntilWidget->setText(modelItem->contentWidgetData("text").toString());
     	}
     	break;
+    	
+    	case ReminderTimeOffset:
+    	{
+    		mReminderTimeWidget->setText(modelItem->contentWidgetData("text").toString());
+    	}
+    	break;
     }
 }
 
+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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/caleneditor/src/caleneditorreminderfield.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -18,13 +18,22 @@
 
 
 // System Includes
+#include <QDate>
+
 #include <hbdataformmodelitem.h>
 #include <hbdataformmodel.h>
 #include <hbdataform.h>
+#include <hbdatetimepicker.h>
+#include <hbextendedlocale.h>
+#include <hbi18ndef.h>
+#include <hbdialog.h>
+#include <hblabel.h>
+#include <hbaction.h>
 
 // User Includes
 #include "caleneditorreminderfield.h"
 
+#define numberOfMinutesInADay 1440
 /*!
 	\class CalenEditorReminderField
  */
@@ -42,35 +51,16 @@
 	:QObject(parent),
 	 mCalenEditor(calenEditor), 
 	 mEditorForm(form), 
-	 mCalenEditorModel(model)
+	 mCalenEditorModel(model),
+	 mCustomReminderTimeItem(NULL),
+	 mReminderTimeAdded(false)
 {
 	mReminderItem = new HbDataFormModelItem();
 	mReminderItem->setType(HbDataFormModelItem::ComboBoxItem);
 	mReminderItem->setData(HbDataFormModelItem::LabelRole,
-						   hbTrId("txt_calendar_setlabel_alarm"));
-	// Create the remaindar choices
-	QStringList remaindarChoices;
-	remaindarChoices << 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);
-
-	mReminderItem->setContentWidgetData(QString("items"), remaindarChoices);
-
-	// 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;	
-	
+						   hbTrId("txt_calendar_setlabel_reminder"));	
 	// Add it to the model
-	mCalenEditorModel->appendDataFormItem( mReminderItem,
+	mCalenEditorModel->appendDataFormItem(mReminderItem,
 										mCalenEditorModel->invisibleRootItem());
 }
 
@@ -79,7 +69,33 @@
  */
 CalenEditorReminderField::~CalenEditorReminderField()
 {
-	// Nothing Yet
+	if(mReminderHash.count()) {
+		mReminderHash.clear();
+	}
+}
+
+/*!
+	 Set the reminder choices.
+ */
+void CalenEditorReminderField::setReminderChoices()
+{
+	// Create the reminder choices
+	QStringList reminderChoices;
+	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] = -1; // OFF.
+	mReminderHash[1] = 0;
+	mReminderHash[2] = 15;
+	mReminderHash[3] = 30;
+	mReminderHash[4] = 60;
+	mReminderItem->setEnabled(true);
 }
 
 /*!
@@ -93,7 +109,7 @@
 }
 
 /*!
-	 Removes reminder item frm the model
+	 Removes reminder item from the model
  */
 void CalenEditorReminderField::removeItemFromModel()
 {
@@ -106,33 +122,106 @@
  */
 void CalenEditorReminderField::populateReminderItem(bool newEntry)
 {
+	AgendaAlarm reminder;
+	bool pastEvent =  false;
+	
+	// Set reference date to start date or repeat until date accordingly to 
+	// decide whether its a past event or not.
+	QDate referenceDate;
+	if (!mCalenEditor->editedEntry()->isRepeating() || 
+					(mCalenEditor->isEditRangeThisOnly())) {
+		referenceDate = mCalenEditor->editedEntry()->startTime().date();
+	} else {
+		referenceDate = mCalenEditor->editedEntry()->repeatRule().until().date();
+	}
+	
+	if ((referenceDate < QDate::currentDate()) || 
+					(referenceDate == QDate::currentDate()
+					&& (mCalenEditor->editedEntry()->startTime().time() < 
+					QTime::currentTime()))) {
+		pastEvent = true;
+	}
+	
+	if (mCalenEditor->isAllDayEvent()) {
+		updateReminderChoicesForAllDay(referenceDate);
+	} else {
+		setReminderChoices();
+	}
 	// Set the default reminder value to 15 minutes 
 	if (newEntry) {
-		mReminderItem->setContentWidgetData("currentIndex", 3);
-		// Save the reminder alarm for the entry
-		AgendaAlarm reminder;
-		reminder.setTimeOffset(mReminderHash.value(3));
-		reminder.setAlarmSoundName(QString(" "));
-		// Set the reminder to the entry as well as original entry.
-		mCalenEditor->editedEntry()->setAlarm(reminder);
-		mCalenEditor->originalEntry()->setAlarm(reminder);
+		if (!pastEvent) {
+			mReminderItem->setContentWidgetData("currentIndex", 2);
+			// Save the reminder alarm for the entry
+			reminder.setTimeOffset(mReminderHash.value(2));
+			reminder.setAlarmSoundName(QString(" "));
+			// Set the reminder to the entry as well as original entry.
+			mCalenEditor->editedEntry()->setAlarm(reminder);
+			mCalenEditor->originalEntry()->setAlarm(reminder);
+		} else {
+			mReminderItem->setContentWidgetData("currentIndex", 0);
+			mReminderItem->setEnabled(false);
+		}
 	} else {
+		// If the alarm is not null,
+		// Check if all day event or not and then set the choices accordingly.
 		if (mCalenEditor->editedEntry()->alarm().isNull()) {
 			// Alarm is set off
 			mReminderItem->setContentWidgetData("currentIndex", 0);
-		} else {
+			if(mReminderTimeAdded) {
+				removeReminderTimeField();
+			}
+		} else if (mCalenEditor->editedEntry()->type()
+		        != AgendaEntry::TypeEvent) {
 			// Get the reminder offset value.
-			int reminderOffset = mCalenEditor->editedEntry()->alarm().timeOffset();
+			int reminderOffset =
+			        mCalenEditor->editedEntry()->alarm().timeOffset();
 			// Get the index value for the reminder combo box from the hash 
 			// table.
 			int index = mReminderHash.key(reminderOffset);
 			mReminderItem->setContentWidgetData("currentIndex", index);
+		} else {
+			// Insert reminder time field and display entry's reminder time.
+			// If past then disable the field.
+			if (!mReminderTimeAdded) {
+				insertReminderTimeField();
+				if (pastEvent) {
+					mCustomReminderTimeItem->setEnabled(false);
+				}
+			}
+			QStringList reminderChoicesForAllDay;
+			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);
+			// Set the appropriate reminder depending on the value of time offset.
+			reminder = mCalenEditor->editedEntry()->alarm();
+			int offsetInMins = reminder.timeOffset();
+			if (offsetInMins < 0 || offsetInMins == 0) {
+				mReminderItem->setContentWidgetData("currentIndex", 1);
+				mReminderTimeForAllDay = referenceTime.addSecs(-(offsetInMins
+						* 60));
+			} else if (offsetInMins < numberOfMinutesInADay) {
+				mReminderItem->setContentWidgetData("currentIndex", 2);
+				mReminderTimeForAllDay = referenceTime.addSecs(-(offsetInMins
+						* 60));
+			} else {
+				mReminderItem->setContentWidgetData("currentIndex", 3);
+				offsetInMins %= (24 * 60);
+				mReminderTimeForAllDay = referenceTime.addSecs(-(offsetInMins
+						* 60));
+			}
+			setDisplayTime();
+		}
+		if (pastEvent) {
+			mReminderItem->setEnabled(false);
 		}
 	}
 	mEditorForm->addConnection(mReminderItem,
 							SIGNAL(currentIndexChanged(int)), this,
 							SLOT(handleReminderIndexChanged(int)));
-
 }
 
 /*!
@@ -146,21 +235,64 @@
 	if (!mCalenEditor->editedEntry()->alarm().isNull()) {
 		reminder = mCalenEditor->editedEntry()->alarm();
 	}
-	// If value for the index in hash table is 0 i.e reminder is "OFF",
-	// then dont do anything only set the default constructed reminder to
-	// the entry which is Null.
-	if (mReminderHash.value(index)) {
-		// If not zero then set the reminder offset
-		// value to the entry.
-		reminder.setTimeOffset(mReminderHash.value(index));
-		reminder.setAlarmSoundName(QString(" "));
+	// Check whether all day event or not and store appropriately.
+	if (!mCalenEditor->isAllDayEvent()) {
+		// 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) < 0) {
+			// Construct the default alarm which is NULL
+			reminder = AgendaAlarm();
+		} else {
+			// If not zero then set the reminder offset
+			// value to the entry.
+			reminder.setTimeOffset(mReminderHash.value(index));
+			reminder.setAlarmSoundName(QString(" "));
+		}
 	} else {
-		// Construct the default alarm which is NULL
-		reminder = AgendaAlarm();
+		QDateTime reminderDateTimeForAllDay; 
+		QDateTime
+		        startDateTimeForAllDay(
+		                               mCalenEditor->editedEntry()->startTime().date(),
+		                               QTime(0, 0, 0));
+		if (mReminderItem->contentWidgetData("currentIndex") == 0) {
+			reminder = AgendaAlarm();
+			mCustomReminderTimeItem->setEnabled(false);
+		} else {
+			int offset = 0;
+			if (mReminderItem->contentWidgetData("currentIndex") == 2) {
+				offset = 1;
+			} else if (mReminderItem->contentWidgetData("currentIndex") == 3) {
+				offset = 2;
+			}
+			if(!mReminderTimeAdded) {
+				insertReminderTimeField()
+;			}
+			// If on same day as that of the event then check if time has been 
+			// changed , if changed retain that else set default time.
+			if (offset == 0) {
+				if(mReminderTimeForAllDay == QTime(18, 0, 0, 0)) {
+					mReminderTimeForAllDay.setHMS(8, 0, 0);
+					setDisplayTime();
+				}
+			}
+			reminderDateTimeForAllDay.setDate(
+					mCalenEditor->editedEntry()->startTime().date().addDays(
+																	-offset));
+			reminderDateTimeForAllDay.setTime(mReminderTimeForAllDay);
+			int seconds =
+					reminderDateTimeForAllDay.secsTo(startDateTimeForAllDay);
+			int timeOffest = seconds / 60;
+			mCustomReminderTimeItem->setEnabled(true);
+			reminder.setTimeOffset(timeOffest);
+			reminder.setAlarmSoundName(QString(" "));
+		}
 	}
 	// Set the reminder to the entry.
 	mCalenEditor->editedEntry()->setAlarm(reminder);
-	mCalenEditor->addDiscardAction();
+	if(!mCalenEditor->isNewEntry()) {
+		mCalenEditor->addDiscardAction();
+	}
 }
 
 /*!
@@ -171,4 +303,238 @@
 {
 	return mCalenEditorModel->indexFromItem(mReminderItem);
 }
+
+/*!
+	 Set reminder off.
+ */
+void CalenEditorReminderField::setReminderOff()
+{
+	// Create the remindar choices
+	QStringList reminderChoices;
+	reminderChoices << hbTrId("txt_calendar_setlabel_reminder_val_off");
+	mReminderItem->setContentWidgetData(QString("items"), reminderChoices);
+	mReminderItem->setEnabled(false); 
+}
+
+/*!
+	 Set the default alarm for a new all day event.
+ */
+void CalenEditorReminderField::setDefaultAlarmForAllDay()
+{	
+	// Set default alarm if its a new entry.
+	if (mCalenEditor->isNewEntry()) {
+		AgendaAlarm reminder;
+		QDate defaultDate
+				(mCalenEditor->editedEntry()->startTime().date().addDays(-1));
+		// Set default time.
+		mReminderTimeForAllDay.setHMS(18, 0, 0, 0);
+		setDisplayTime();
+		QDateTime startDateTimeForAllDay(
+				mCalenEditor->editedEntry()->startTime().date(), QTime(0, 0));
+		QDateTime defaultReminderDateTimeForAllDay
+				(defaultDate, mReminderTimeForAllDay);
+		int offsetInSecs = 
+				defaultReminderDateTimeForAllDay.secsTo(startDateTimeForAllDay);
+		int offsetInMins = offsetInSecs/60;
+		reminder.setTimeOffset(offsetInMins);
+		reminder.setAlarmSoundName(QString(" "));
+		// Set the reminder to the entry as well as original entry.
+		mCalenEditor->editedEntry()->setAlarm(reminder);
+		mCalenEditor->originalEntry()->setAlarm(reminder);
+	}
+}
+
+/*!
+	 Updates the reminder choices for an all day event.
+	 \param referenceDate to indicate past or not.
+ */
+void CalenEditorReminderField::updateReminderChoicesForAllDay(QDate referenceDate)
+{
+	if (!mReminderTimeAdded){
+		insertReminderTimeField();
+	}
+	QStringList reminderChoicesForAllDay;
+	QDate tomorrow = QDate::currentDate().addDays(1);
+	QDate theDayAfterTomorrow = QDate::currentDate().addDays(2);
+	
+	if (referenceDate < QDate::currentDate() || 
+			referenceDate == QDate::currentDate()) {
+		// Set reminder off for past event.
+		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("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("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);
+	}
+	if (mReminderItem->isEnabled()) {
+		mReminderItem->setContentWidgetData(QString("items"), 
+											reminderChoicesForAllDay);
+	}
+}
+
+/*!
+	 Insert the reminder time field for an all day event.
+ */
+void CalenEditorReminderField::insertReminderTimeField()
+{
+	HbDataFormModelItem::DataItemType itemType =
+			static_cast<HbDataFormModelItem::DataItemType> (ReminderTimeOffset);
+	
+	// If all day item is not added then insert at one level before.
+	int index = CalenEditorPrivate::ReminderTimeForAllDayItem;
+	if(!mCalenEditor->isAllDayFieldAdded()) {
+		index = CalenEditorPrivate::ReminderTimeForAllDayItem - 1;
+	} 
+	mCustomReminderTimeItem = mCalenEditorModel->insertDataFormItem(
+							index,
+							itemType,
+							QString(hbTrId("txt_calendar_setlabel_reminder_time")),
+							mCalenEditorModel->invisibleRootItem());
+	if (currentReminderIndex() != 1){
+		mReminderTimeForAllDay.setHMS(18,0,0,0);
+	} else {
+		mReminderTimeForAllDay.setHMS(8,0,0,0);
+	}
+	
+	mEditorForm->addConnection(mCustomReminderTimeItem, SIGNAL(clicked()),
+	                           this, SLOT(launchReminderTimePicker()));
+	setDisplayTime();
+	mReminderTimeAdded = true;
+}
+
+/*!
+	 Set the reminder time selected by the user.
+ */
+void CalenEditorReminderField::setDisplayTime()
+{
+	HbExtendedLocale locale = HbExtendedLocale::system();
+	QString timeString = locale.format(
+			mReminderTimeForAllDay,
+			r_qtn_time_usual_with_zero);
+	mCustomReminderTimeItem->setContentWidgetData("text", timeString);
+}
+
+/*!
+	Remove the reminder time field if its not an all day event.
+ */
+void CalenEditorReminderField::removeReminderTimeField()
+{
+	mReminderTimeAdded = false;
+	if (mCustomReminderTimeItem) {
+		QModelIndex reminderIndex =
+				mCalenEditorModel->indexFromItem(mCustomReminderTimeItem);
+		mCalenEditorModel->removeItem(
+				mCalenEditorModel->index(
+						reminderIndex.row(), 0));
+		mCustomReminderTimeItem = NULL;
+	}
+}
+
+/*!
+	 Launches time picker to select time.
+ */
+void CalenEditorReminderField::launchReminderTimePicker()
+{
+	mTimePicker = new HbDateTimePicker(mReminderTimeForAllDay);
+	mTimePicker->setTime(mReminderTimeForAllDay);
+	HbDialog *popUp = new HbDialog();
+	popUp->setDismissPolicy(HbDialog::NoDismiss);
+	popUp->setTimeout(HbDialog::NoTimeout);
+	popUp->setContentWidget(mTimePicker);
+	popUp->setHeadingWidget( new HbLabel(
+			hbTrId("Reminder Time")));
+	HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok"));
+	popUp->addAction(okAction);
+	connect(okAction, SIGNAL(triggered()), this, SLOT(setReminderTimeForAllDay()));
+	connect(okAction, SIGNAL(triggered()), popUp, SLOT(close()));
+	popUp->addAction(new HbAction(hbTrId("txt_common_button_cancel"),
+	                                      popUp));
+	popUp->open();
+}
+
+/*!
+	 Set the reminder time chosen.
+ */
+void CalenEditorReminderField::setReminderTimeForAllDay()
+{
+	mReminderTimeForAllDay = mTimePicker->time();
+	if (mReminderTimeForAllDay.isValid()) {
+		// Change the time displayed to that selected by the user.
+		setDisplayTime();
+		handleReminderIndexChanged(currentReminderIndex());
+	}	
+}
+
+/*!
+	 Checks if reminder field is enabled or not.
+ */
+bool CalenEditorReminderField::isReminderFieldEnabled()
+{
+	return mReminderItem->isEnabled();
+}
+
+/*!
+	 Returns the number of items present in the reminder option.
+ */
+int CalenEditorReminderField::reminderItemsCount()
+{
+	QVariant strings = mReminderItem->contentWidgetData("items");
+	QStringList stringList(strings.toStringList());
+	int count = stringList.count();
+	return count;
+}
+
+/*!
+	 Returns the current chosen index.
+ */
+int CalenEditorReminderField::currentReminderIndex()
+{
+	QVariant countVariant = mReminderItem->contentWidgetData("currentIndex");
+	int index = countVariant.toInt();
+	return index;
+}
+
+/*!
+	 Sets the chosen index as current index.
+	 /param index indicates the idex value to be set.
+ */
+void CalenEditorReminderField::setCurrentIndex(int index)
+{
+	mReminderItem->setContentWidgetData("currentIndex", index);
+}
+
+/*!
+	 Disables the reminder time field.
+ */
+void CalenEditorReminderField::disableReminderTimeField()
+{
+	if (mReminderTimeAdded) {
+		mCustomReminderTimeItem->setEnabled(false);
+	}
+}
+
+/*!
+	 Checks if reminder time field is added or not.
+ */
+bool CalenEditorReminderField::isReminderTimeForAllDayAdded()
+{
+	return mReminderTimeAdded;
+}
+
 // End of file	--Don't remove this.
--- a/calendarui/caleneditor/src/caleneditorrepeatfield.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/caleneditor/src/caleneditorrepeatfield.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -18,6 +18,7 @@
 
 
 // System Includes
+#include <QDate>
 #include <hbdataformmodelitem.h>
 #include <hbdataformviewitem.h>
 #include <hbdataformmodel.h>
@@ -32,6 +33,9 @@
 #include "caleneditorrepeatfield.h"
 #include "caleneditorcustomitem.h"
 
+// Constants
+const int userRole = Qt::UserRole + 100;
+
 /*!
 	\class CalenEditorRepeatField
  */
@@ -70,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")
@@ -125,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()) {
@@ -178,11 +181,11 @@
 									  AgendaRepeatRule(
 									  AgendaRepeatRule::InvalidRule));
 	}
-	connect(mRepeatComboBox, SIGNAL(currentIndexChanged(int)), this,
-			SLOT(handleRepeatIndexChanged(int)));
 	
 	// Update the repeat choices depending upon the duration
 	updateRepeatChoices();
+	connect(mRepeatComboBox, SIGNAL(currentIndexChanged(int)), this,
+				SLOT(handleRepeatIndexChanged(int)));
 }
 
 /*!
@@ -196,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) {
@@ -295,7 +298,10 @@
 		}
 		break;
 	}
-	mCalenEditor->addDiscardAction();
+	if(!mCalenEditor->isNewEntry()) {
+		mCalenEditor->addDiscardAction();
+	}
+	mCalenEditor->updateReminderChoices();
 }
 
 /*!
@@ -314,10 +320,13 @@
 {
 	HbDataFormModelItem::DataItemType itemType =
 	        static_cast<HbDataFormModelItem::DataItemType> (RepeatUntilOffset);
-
-	QModelIndex repeatIndex = mCalenEditorModel->indexFromItem(mRepeatItem);
+	
+	int index = CalenEditorPrivate::RepeatUntilItem;
+	if (!mCalenEditor->isReminderTimeForAllDayAdded()) {
+		index -= 1;
+	}
 	mCustomRepeatUntilItem = mCalenEditorModel->insertDataFormItem(
-										CalenEditorPrivate::RepeatUntilItem,
+										index,
 										itemType,
 										QString(
 										hbTrId(
@@ -351,12 +360,19 @@
  */
 void CalenEditorRepeatField::launchRepeatUntilDatePicker()
 {
+	HbDialog *popUp = new HbDialog();
+	popUp->setDismissPolicy(HbDialog::NoDismiss);
+	popUp->setTimeout(HbDialog::NoTimeout);
+	popUp->setHeadingWidget( new HbLabel(
+									hbTrId("txt_calendar_title_repeat_until")));
+	popUp->setAttribute( Qt::WA_DeleteOnClose, true );
+	
 	if (mDatePicker) {
 		mDatePicker = NULL;
 	}
 	if (mRepeatRuleType == AgendaRepeatRule::DailyRule) {
 		QDate minDate = mCalenEditor->editedEntry()->endTime().date().addDays(1);
-		mDatePicker = new HbDateTimePicker(mRepeatUntilDate);
+		mDatePicker = new HbDateTimePicker(mRepeatUntilDate, popUp);
 		mDatePicker->setMinimumDate(minDate);
 		mDatePicker->setMaximumDate(QDate(31, 12, 2100));
 		mDatePicker->setDate(mRepeatUntilDate);
@@ -367,36 +383,30 @@
 		} else {
 			minDate = mCalenEditor->editedEntry()->endTime().date().addDays(14);
 		}
-		mDatePicker = new HbDateTimePicker(mRepeatUntilDate);
+		mDatePicker = new HbDateTimePicker(mRepeatUntilDate, popUp);
 		mDatePicker->setMinimumDate(minDate);
 		mDatePicker->setMaximumDate(QDate(31, 12, 2100));
 		mDatePicker->setDate(mRepeatUntilDate);
 	} else if (mRepeatRuleType == AgendaRepeatRule::MonthlyRule) {
 		QDate minDate = mCalenEditor->editedEntry()->endTime().date().addMonths(1);
-		mDatePicker = new HbDateTimePicker(mRepeatUntilDate);
+		mDatePicker = new HbDateTimePicker(mRepeatUntilDate, popUp);
 		mDatePicker->setMinimumDate(minDate);
 		mDatePicker->setMaximumDate(QDate(31, 12, 2100));
 		mDatePicker->setDate(mRepeatUntilDate);
 	} else if (mRepeatRuleType == AgendaRepeatRule::YearlyRule) {
 		QDate minDate = mCalenEditor->editedEntry()->endTime().date().addYears(1);
-		mDatePicker = new HbDateTimePicker(mRepeatUntilDate);
+		mDatePicker = new HbDateTimePicker(mRepeatUntilDate, popUp);
 		mDatePicker->setMinimumDate(minDate);
 		mDatePicker->setMaximumDate(QDate(31, 12, 2100));
 		mDatePicker->setDate(mRepeatUntilDate);
 	}
-	HbDialog popUp;
-	popUp.setDismissPolicy(HbDialog::NoDismiss);
-	popUp.setTimeout(HbDialog::NoTimeout);
-	popUp.setContentWidget(mDatePicker);
-	popUp.setHeadingWidget( new HbLabel(
-								hbTrId("txt_calendar_title_repeat_until")));
+	popUp->setContentWidget(mDatePicker);
+	
 	HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok"));
-	popUp.setPrimaryAction(okAction);
+	popUp->addAction(okAction);
 	connect(okAction, SIGNAL(triggered()), this, SLOT(setRepeatUntilDate()));
-	connect(okAction, SIGNAL(triggered()), &popUp, SLOT(close()));
-	popUp.setSecondaryAction(new HbAction(hbTrId("txt_common_button_cancel"),
-								&popUp));
-	popUp.exec();
+	popUp->addAction(new HbAction(hbTrId("txt_common_button_cancel"), popUp));
+	popUp->open();
 }
 
 /*!
@@ -411,6 +421,15 @@
 									r_qtn_date_usual_with_zero);
 		mCustomRepeatUntilItem->setContentWidgetData("text", dateString);
 	}
+	mCalenEditor->updateReminderChoices();
+}
+
+/*!
+	Returns the repeatuntildate displayed.
+ */
+QDate CalenEditorRepeatField::repeatUntilDate()
+{
+	return mRepeatUntilDate;
 }
 
 /*!
@@ -418,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
@@ -428,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")
@@ -438,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();
 
@@ -526,7 +547,6 @@
 	}
 	// Set the previous user's choice
 	mRepeatComboBox->setCurrentIndex(choice);
-	handleRepeatIndexChanged(choice);
 }
 
 /*!
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/calenlauncher/bwins/calenlauncheru.def	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/calenlauncher/inc/calenlauncher.h	Mon Jun 28 15:22:02 2010 +0530
@@ -29,7 +29,7 @@
 public:
 	enum CalenView{
 			MonthView = 0,
-			DayView
+			AgendaView
 		};
     CalenLauncher(QObject* parent = 0);
     ~CalenLauncher();
--- a/calendarui/calenplugins/agendaeventviewerplugin/agendaeventviewerplugin.pro	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/calenplugins/agendaeventviewerplugin/agendaeventviewerplugin.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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
--- a/calendarui/calenplugins/calenplugins.pro	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/calenplugins/calenplugins.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -17,7 +17,6 @@
 
 TEMPLATE = subdirs
 
-SUBDIRS += calensettingsplugin
 SUBDIRS += agendaeventviewerplugin
 CONFIG += ordered
 
--- a/calendarui/calenplugins/calensettingsplugin/calensettingsplugin.pro	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +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 is the project file defnition for calensettingsplugin.
-#
-
-
-TEMPLATE = lib
-TARGET = calensettingsplugin
-DEPENDPATH += . \
-			  ./inc \
-			  ./src
-INCLUDEPATH += . \
-               ../../inc
-
-CONFIG += hb plugin
-
-
-symbian: {
-
-    TARGET.EPOCALLOWDLLDATA = 1  
-    TARGET.UID3 = 0x2002B338
-	
-    LIBS += -lcalensettings \
-		-lcpframework
-
-    deploy.path = C:
-    headers.sources = qmakepluginstubs/calensettingsplugin.qtplugin
-    headers.path = /resource/qt/plugins/controlpanel
-
-    # This is for new exporting system coming in garden
-    for(header, headers.sources):BLD_INF_RULES.prj_exports += "./$$header $$deploy.path$$headers.path/$$basename(header)"
-
-    TARGET.CAPABILITY = CAP_GENERAL_DLL
-
-    plugin.sources = calensettingsplugin.dll
-    plugin.path = \resource\qt\plugins\controlpanel
-    DEPLOYMENT += plugin
-}
-
-# Input
-HEADERS += calensettingsplugin.h \
-		   calendarsettingsview.h
-		   
-SOURCES += calensettingsplugin.cpp \
-		   calendarsettingsview.cpp
-		   
-
-# End of file	--Don't remove this.
\ No newline at end of file
--- a/calendarui/calenplugins/calensettingsplugin/inc/calendarsettingsview.h	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +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	CalendarSettingsView_H_
-#define	CalendarSettingsView_H_
-
-#include <cpbasesettingview.h>
-
-class SettingsUiUtility;
-
-class CalendarSettingsView : public CpBaseSettingView
-{
-    Q_OBJECT
-public:
-    explicit CalendarSettingsView(QGraphicsItem *parent = 0);
-    virtual ~CalendarSettingsView();
-public slots:
-
-private:
-	SettingsUiUtility *mSettingsUtility;
-
-};
-#endif//	CalendarSettingsView_H_
--- a/calendarui/calenplugins/calensettingsplugin/inc/calensettingsplugin.h	Mon May 03 12:30:32 2010 +0300
+++ /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: 
- *
-*/
-
-
-#ifndef CalenSettingsPlugin_H_
-#define CalenSettingsPlugin_H_
-
-#include <cppluginplatinterface.h>
-#include <qobject.h>
-
-class CpItemDataHelper;
-
-class CalenSettingsPlugin : public QObject, public CpPluginPlatInterface
-{
-	Q_OBJECT
-    Q_INTERFACES(CpPluginPlatInterface)
-
-public:
-	CalenSettingsPlugin();
-    virtual ~CalenSettingsPlugin();
-
-    virtual int uid() const;
-    virtual CpSettingFormItemData *createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
-};
-
-#endif /* CalenSettingsPlugin_H_ */
--- a/calendarui/calenplugins/calensettingsplugin/src/calendarsettingsview.cpp	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +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:   
- *
-*/
-
-
-#include <hbdataform.h>
-#include "calendarsettingsview.h"
-#include "calensettings.h"
-
-CalendarSettingsView::CalendarSettingsView(QGraphicsItem *parent)
-:CpBaseSettingView(0, parent)
-{
-	HbDataForm *form = settingForm();
-	
-	if (form) {
-		form->setHeading(hbTrId("txt_calendar_subhead_calendar_settings"));
-		
-		CalenSettings *settings = new CalenSettings(form);
-		settings->createModel();
-		settings->populateSettingList();
-    }
-}
-
-CalendarSettingsView::~CalendarSettingsView()
-{
-}
--- a/calendarui/calenplugins/calensettingsplugin/src/calensettingsplugin.cpp	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +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: 
- *
-*/
-
-#include <cpsettingformentryitemdataimpl.h>
-
-#include "calensettingsplugin.h"
-#include "calendarsettingsview.h"
-#include <cpitemdatahelper.h>
-
-
-CalenSettingsPlugin::CalenSettingsPlugin()
-{
-}
-
-CalenSettingsPlugin::~CalenSettingsPlugin()
-{
-}
-
-int CalenSettingsPlugin::uid() const
-{
-	// TODO: get a uid and replace it.
-    return 0x20029F7F;
-}
-
-CpSettingFormItemData *CalenSettingsPlugin::createSettingFormItemData(CpItemDataHelper& itemDataHelper) const
-{
-    //CpItemDataHelper* pHelper = new CpItemDataHelper();
-	
-	// For now dummyicon
-    HbIcon* icon = new HbIcon();
-    return new CpSettingFormEntryItemDataImpl<CalendarSettingsView>(itemDataHelper, QString("Calendar application"),
-                                          QString("Calendar settings plugin"), *icon);
-}
-
-Q_EXPORT_PLUGIN2(CalenSettingsPlugin, CalenSettingsPlugin)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/calenviewerservice/calenviewerservice.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/commonutils/inc/calenagendautils.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/commonutils/inc/calendateutils.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/commonutils/src/calenagendautils.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/commonutils/src/calendateutils.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/controller/controller.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/controller/data/calendar.qrc	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/controller/data/xml/calenmonthview.docml	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,512 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument context="Calendar" version="0.9">
+    <object name="NewEventAction" type="HbAction">
+        <string locid="txt_calendar_opt_new_event" name="text" value="New Event"/>
+    </object>
+    <object name="goToTodayAction" type="HbAction">
+        <string locid="txt_calendar_opt_go_to_today" name="text" value="Go to today"/>
+    </object>
+    <object name="goToDateAction" type="HbAction">
+        <string locid="txt_calendar_opt_go_to_date" name="text" value="Go to date"/>
+    </object>
+    <object name="settingsAction" type="HbAction">
+        <string locid="txt_calendar_opt_settings" name="text" value="Settings"/>
+    </object>
+    <object name="beforeDateAction" type="HbAction">
+        <string locid="txt_calendar_opt_sub_before_date" name="text" value="Before date"/>
+    </object>
+    <object name="allEntriesAction" type="HbAction">
+        <string locid="txt_calendar_opt_sub_all_entries" name="text" value="All entries"/>
+    </object>
+    <widget name="monthView" type="HbView">
+        <widget name="content" role="HbView:widget" type="HbWidget">
+            <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="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">
+                        <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                        <real name="z" value="6"/>
+                        <sizehint height="3un" type="PREFERRED" width="3.41604un"/>
+                        <sizehint height="3un" type="MINIMUM" width="3.41604un"/>
+                        <sizehint height="3un" type="MAXIMUM" width="10.54104un"/>
+                        <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-tiny)"/>
+                    </widget>
+                    <widget name="secondDayLabel" type="HbLabel">
+                        <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                        <real name="z" value="6"/>
+                        <sizehint height="3un" type="PREFERRED" width="3.41604un"/>
+                        <sizehint height="3un" type="MINIMUM" width="3.41604un"/>
+                        <sizehint height="3un" type="MAXIMUM" width="10.54104un"/>
+                        <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-tiny)"/>
+                    </widget>
+                    <widget name="thirdDayLabel" type="HbLabel">
+                        <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                        <real name="z" value="6"/>
+                        <sizehint height="3un" type="PREFERRED" width="3.41604un"/>
+                        <sizehint height="3un" type="MINIMUM" width="3.41604un"/>
+                        <sizehint height="3un" type="MAXIMUM" width="10.54104un"/>
+                        <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-tiny)"/>
+                    </widget>
+                    <widget name="fourthDayLabel" type="HbLabel">
+                        <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                        <real name="z" value="6"/>
+                        <sizehint height="3un" type="PREFERRED" width="3.41604un"/>
+                        <sizehint height="3un" type="MINIMUM" width="3.41604un"/>
+                        <sizehint height="3un" type="MAXIMUM" width="10.54104un"/>
+                        <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-tiny)"/>
+                    </widget>
+                    <widget name="fifthDayLabel" type="HbLabel">
+                        <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                        <real name="z" value="6"/>
+                        <sizehint height="3un" type="PREFERRED" width="3.41604un"/>
+                        <sizehint height="3un" type="MINIMUM" width="3.41604un"/>
+                        <sizehint height="3un" type="MAXIMUM" width="10.54104un"/>
+                        <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-tiny)"/>
+                    </widget>
+                    <widget name="sixthDayLabel" type="HbLabel">
+                        <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                        <real name="z" value="6"/>
+                        <sizehint height="3un" type="PREFERRED" width="3.41604un"/>
+                        <sizehint height="3un" type="MINIMUM" width="3.41604un"/>
+                        <sizehint height="3un" type="MAXIMUM" width="10.54104un"/>
+                        <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-tiny)"/>
+                    </widget>
+                    <widget name="seventhDayLabel" type="HbLabel">
+                        <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                        <real name="z" value="6"/>
+                        <sizehint height="3un" type="PREFERRED" width="3.41604un"/>
+                        <sizehint height="3un" type="MINIMUM" width="3.41604un"/>
+                        <sizehint height="3un" type="MAXIMUM" width="10.54104un"/>
+                        <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"/>
+                    <sizehint height="3un" type="MINIMUM" width="52un"/>
+                    <sizehint height="3un" type="MAXIMUM" width="52un"/>
+                    <layout orientation="Horizontal" spacing="0un" type="linear">
+                        <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+                        <linearitem itemname="firstDayLabel"/>
+                        <linearitem itemname="secondDayLabel"/>
+                        <linearitem itemname="thirdDayLabel"/>
+                        <linearitem itemname="fourthDayLabel"/>
+                        <linearitem itemname="fifthDayLabel"/>
+                        <linearitem itemname="sixthDayLabel"/>
+                        <linearitem itemname="seventhDayLabel"/>
+                    </layout>
+                </widget>
+                <widget name="weekNumbersWidget" type="HbWidget">
+                    <widget name="firstWeekLabel" 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"/>
+                        <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"/>
+                        <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"/>
+                        <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"/>
+                        <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"/>
+                        <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"/>
+                        <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"/>
+                    <sizehint height="43.77612un" type="MINIMUM" width="6.41604un"/>
+                    <sizehint height="62.77612un" type="MAXIMUM" width="6.41604un"/>
+                    <layout orientation="Vertical" type="linear">
+                        <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+                        <linearitem itemname="firstWeekLabel"/>
+                        <linearitem itemname="secondWeekLabel"/>
+                        <linearitem itemname="thirdWeekLabel"/>
+                        <linearitem itemname="fourthWeekLabel"/>
+                        <linearitem itemname="fifthWeekLabel"/>
+                        <linearitem itemname="sixthWeekLabel"/>
+                    </layout>
+                </widget>
+                <widget name="monthGridWeekNumWidget" type="HbWidget">
+                    <widget name="monthGrid" type="HbGridView">
+                        <integer name="columnCount" value="7"/>
+                        <real name="z" value="4"/>
+                        <enums name="scrollingStyle" value="PanOrFlick"/>
+                        <sizehint height="43.77612un" type="PREFERRED" width="52un"/>
+                        <sizehint height="62.77612un" type="MAXIMUM" width="52un"/>
+                        <sizehint height="43.77612un" type="MINIMUM" width="0un"/>
+                        <integer name="rowCount" value="6"/>
+                    </widget>
+                    <real name="z" value="4"/>
+                    <sizehint height="43.77612un" type="PREFERRED" width="23.8806un"/>
+                    <sizehint height="43.77612un" type="MINIMUM" width="2.68657un"/>
+                    <sizehint height="62.77612un" type="MAXIMUM" width="52un"/>
+                    <layout orientation="Horizontal" spacing="0un" type="linear">
+                        <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+                        <linearitem itemname="monthGrid"/>
+                    </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">
+	                            <widget name="prevPreviewPaneContents" role="HbScrollArea:contents" type="HbWidget">
+	                                <real name="z" value="0"/>
+	                                <layout orientation="Vertical" spacing="0.75un" type="linear">
+										<contentsmargins bottom="0.75un" left="2un" right="2un" top="0.75un"/>
+									</layout>
+	                            </widget>
+	                            <real name="z" value="1"/>
+								<enums name="verticalScrollBarPolicy" value="ScrollBarAlwaysOff"/>
+	                            <enums name="horizontalScrollBarPolicy" value="ScrollBarAlwaysOff"/>
+	                            <enums name="clampingStyle" value="StrictClamping"/>
+								<enums name="scrollingStyle" value="PanOrFlick"/>
+								<bool name="frictionEnabled" value="TRUE"/>
+	                        </widget>
+	                        <widget name="NoEntriesLabelPrev" type="HbLabel">
+	                            <string locid="txt_calendar_empty_list_no_entries" name="plainText"/>
+								<enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+								<enums name="elideMode" value="ElideNone"/>
+	                        </widget>
+	                        <real name="z" value="0"/>
+	                        <sizehint height="23.8806un" type="PREFERRED" width="23.8806un"/>
+	                        <layout type="anchor">
+	                            <anchoritem dst="prevPreviewPane" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+	                            <anchoritem dst="prevPreviewPane" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+	                            <anchoritem dst="prevPreviewPane" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+	                            <anchoritem dst="prevPreviewPane" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+	                            <anchoritem dst="NoEntriesLabelPrev" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+	                            <anchoritem dst="NoEntriesLabelPrev" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+	                            <anchoritem dst="NoEntriesLabelPrev" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+								<anchoritem dst="NoEntriesLabelPrev" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+	                        </layout>
+	                    </widget>
+	                    <real name="z" value="0"/>
+	                    <sizehint height="23.8806un" type="PREFERRED" width="11.9403un"/>
+	                    <layout orientation="Vertical" spacing="0un" type="linear">
+	                        <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+	                        <linearitem itemname="prevPaneContainer"/>
+	                    </layout>
+	                </widget>
+	                <real name="z" value="1"/>
+	                <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+	                <layout orientation="Vertical" spacing="0un" type="linear">
+	                    <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+	                    <linearitem itemname="prevPaneLayout"/>
+	                </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">
+                                <widget name="currPreviewPaneContents" role="HbScrollArea:contents" type="HbWidget">
+                                    <real name="z" value="0"/>
+                                    <layout orientation="Vertical" spacing="0.75un" type="linear">
+										<contentsmargins bottom="0.75un" left="2un" right="2un" top="0.75un"/>
+									</layout>
+                                </widget>
+                                <real name="z" value="1"/>
+								<enums name="verticalScrollBarPolicy" value="ScrollBarAlwaysOff"/>
+	                            <enums name="horizontalScrollBarPolicy" value="ScrollBarAlwaysOff"/>
+	                            <enums name="clampingStyle" value="StrictClamping"/>
+								<enums name="scrollingStyle" value="PanOrFlick"/>
+								<bool name="frictionEnabled" value="TRUE"/>
+                            </widget>
+                            <widget name="NoEntriesLabelCurr" type="HbLabel">
+                                <string locid="txt_calendar_empty_list_no_entries" name="plainText"/>
+								<enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+								<enums name="elideMode" value="ElideNone"/>
+                            </widget>
+                            <real name="z" value="0"/>
+                            <sizehint height="23.8806un" type="PREFERRED" width="23.8806un"/>
+                            <layout type="anchor">
+                                <anchoritem dst="currPreviewPane" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                                <anchoritem dst="currPreviewPane" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+                                <anchoritem dst="currPreviewPane" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+                                <anchoritem dst="currPreviewPane" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+                                <anchoritem dst="NoEntriesLabelCurr" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                                <anchoritem dst="NoEntriesLabelCurr" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+                                <anchoritem dst="NoEntriesLabelCurr" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+								<anchoritem dst="NoEntriesLabelCurr" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+                            </layout>
+                        </widget>
+                        <real name="z" value="0"/>
+                        <sizehint height="23.8806un" type="PREFERRED" width="11.9403un"/>
+                        <layout orientation="Vertical" spacing="0un" type="linear">
+                            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+                            <linearitem itemname="currPaneContainer"/>
+                        </layout>
+                    </widget>
+                    <real name="z" value="1"/>
+                    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                    <layout orientation="Vertical" spacing="0un" type="linear">
+                        <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+                        <linearitem itemname="currPaneLayout"/>
+                    </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">
+                                <widget name="nextPreviewPaneContents" role="HbScrollArea:contents" type="HbWidget">
+                                    <real name="z" value="0"/>
+                                    <layout orientation="Vertical" spacing="0.75un" type="linear">
+										<contentsmargins bottom="0.75un" left="2un" right="2un" top="0.75un"/>
+									</layout>
+                                </widget>
+                                <real name="z" value="1"/>
+								<enums name="verticalScrollBarPolicy" value="ScrollBarAlwaysOff"/>
+	                            <enums name="horizontalScrollBarPolicy" value="ScrollBarAlwaysOff"/>
+	                            <enums name="clampingStyle" value="StrictClamping"/>
+								<enums name="scrollingStyle" value="PanOrFlick"/>
+								<bool name="frictionEnabled" value="TRUE"/>
+                            </widget>
+                            <widget name="NoEntriesLabelNext" type="HbLabel">
+                                <string locid="txt_calendar_empty_list_no_entries" name="plainText"/>
+								<enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+								<enums name="elideMode" value="ElideNone"/>
+                            </widget>
+                            <real name="z" value="0"/>
+                            <sizehint height="23.8806un" type="PREFERRED" width="23.8806un"/>
+                            <layout type="anchor">
+                                <anchoritem dst="nextPreviewPane" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                                <anchoritem dst="nextPreviewPane" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+                                <anchoritem dst="nextPreviewPane" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+                                <anchoritem dst="nextPreviewPane" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+                                <anchoritem dst="NoEntriesLabelNext" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                                <anchoritem dst="NoEntriesLabelNext" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+                                <anchoritem dst="NoEntriesLabelNext" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+								<anchoritem dst="NoEntriesLabelNext" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+                            </layout>
+                        </widget>
+                        <real name="z" value="0"/>
+                        <sizehint height="23.8806un" type="PREFERRED" width="11.9403un"/>
+                        <layout orientation="Vertical" spacing="0un" type="linear">
+                            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+                            <linearitem itemname="nextPaneContainer"/>
+                        </layout>
+                    </widget>
+                    <real name="z" value="1"/>
+                    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                    <layout orientation="Vertical" spacing="0un" type="linear">
+                        <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+                        <linearitem itemname="nextPaneLayout"/>
+		                </layout>
+                </widget>
+                <real name="z" value="2"/>
+                <sizehint height="23.8806un" type="PREFERRED" width="11.9403un"/>
+                <sizehint height="230.8806un" type="MAXIMUM" width="52un"/>
+                <layout orientation="Vertical" spacing="0.75un" type="linear">
+                    <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+                    <linearitem itemname="monthTitle"/>
+                    <linearitem itemname="dayNamesWidget"/>
+                    <linearitem itemname="monthGridWeekNumWidget"/>
+                </layout>
+            </widget>
+            <real name="z" value="0"/>
+            <layout orientation="Horizontal" spacing="0un" type="linear">
+                <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+                <linearitem itemname="monthViewExceptPreviewPane"/>
+            </layout>
+        </widget>
+        <widget name="viewMenu" role="HbView:menu" type="HbMenu">
+            <ref object="NewEventAction" role="HbMenu:addAction"/>
+            <ref object="goToTodayAction" role="HbMenu:addAction"/>
+            <ref object="goToDateAction" role="HbMenu:addAction"/>
+            <widget name="deleteSubMenu" role="HbMenu:menu" type="HbMenu">
+                <ref object="beforeDateAction" role="HbMenu:addAction"/>
+                <ref object="allEntriesAction" role="HbMenu:addAction"/>
+            </widget>
+            <ref object="settingsAction" role="HbMenu:addAction"/>
+        </widget>
+    </widget>
+    <section name="portrait">
+     	<widget name="prevPaneLayout" type="HbWidget">
+            <sizehint height="22un" type="PREFERRED" width="11.9403un"/>
+        </widget>
+	<widget name="prevPaneContainer" type="HbWidget">
+            <sizehint height="22un" type="PREFERRED" width="23.8806un"/>
+        </widget>
+        <widget name="prevPaneWidget" type="HbWidget">
+            <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+            <sizehint height="22un" type="FIXED" width="52un"/>
+        </widget>
+	
+	<widget name="currPaneContainer" type="HbWidget">
+	    <sizehint height="22un" type="PREFERRED" width="23.8806un"/>
+	</widget>
+	<widget name="currPaneLayout" type="HbWidget">
+	    <sizehint height="22un" type="PREFERRED" width="11.9403un"/>
+	</widget>
+	<widget name="currPaneWidget" type="HbWidget">
+	    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+	    <sizehint height="22un" type="FIXED" width="52un"/>
+	</widget>
+	
+	<widget name="nextPaneLayout" type="HbWidget">
+            <sizehint height="22un" type="PREFERRED" width="11.9403un"/>
+        </widget>
+        <widget name="nextPaneWidget" type="HbWidget">
+            <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+            <sizehint height="22un" type="FIXED" width="52un"/>
+        </widget>
+	<widget name="nextPaneContainer" type="HbWidget">
+            <sizehint height="22un" type="PREFERRED" width="23.8806un"/>
+        </widget>
+        <widget name="content" role="HbView:widget" type="HbWidget">
+            <enums name="focusDelegation" value="FocusDelegationBasedOnDirection"/>
+            <layout orientation="Vertical" spacing="0.75un" type="linear">
+                <contentsmargins bottom="0.75un" left="0.75un" right="0.75un" top="0.75un"/>
+                <linearitem itemname="monthViewExceptPreviewPane"/>
+                <linearitem itemname="currPaneWidget"/>
+            </layout>
+        </widget>
+        <widget name="monthGridWeekNumWidget" type="HbWidget">
+            <sizehint height="42.77612un" type="PREFERRED" width="52un"/>
+            <sizehint height="42.77612un" type="MINIMUM" width="52un"/>
+            <sizehint height="62.77612un" type="MAXIMUM" width="52un"/>
+        </widget>
+        <widget name="monthGrid" type="HbGridView">
+            <sizehint height="43.77612un" type="PREFERRED" width="52un"/>
+            <sizehint height="62.77612un" type="MAXIMUM" width="52un"/>
+            <sizehint height="43.77612un" type="MINIMUM" width="0un"/>
+        </widget>
+        <widget name="weekNumbersWidget" type="HbWidget">
+            <sizehint height="42.77612un" type="PREFERRED" width="6.41604un"/>
+            <sizehint height="42.77612un" type="MINIMUM" width="6.41604un"/>
+            <sizehint height="62.77612un" type="MAXIMUM" width="6.41604un"/>
+        </widget>
+	<widget name="prevPreviewPaneContents" role="HbScrollArea:contents" type="HbWidget">
+            <sizehint type="MINIMUM" width="52un"/>
+            <sizehint type="MAXIMUM" width="52un"/>
+        </widget>
+	<widget name="currPreviewPaneContents" role="HbScrollArea:contents" type="HbWidget">
+            <sizehint type="MINIMUM" width="52un"/>
+            <sizehint type="MAXIMUM" width="52un"/>
+        </widget>
+	<widget name="nextPreviewPaneContents" role="HbScrollArea:contents" type="HbWidget">
+            <sizehint type="MINIMUM" width="52un"/>
+            <sizehint type="MAXIMUM" width="52un"/>
+        </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="MAXIMUM" width="40.8un"/>
+		</widget>
+		<widget name="currPreviewPaneContents" type="HbWidget">
+            <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="MAXIMUM" width="40.8un"/>
+		</widget>
+        <widget name="monthGridWeekNumWidget" type="HbWidget">
+            <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="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="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">
+                <contentsmargins bottom="0.75un" left="0.75un" right="0.75un" top="0.75un"/>
+                <linearitem itemname="monthViewExceptPreviewPane"/>
+                <linearitem itemname="currPaneWidget"/>
+            </layout>
+        </widget>
+    </section>
+    <metadata activeUIState="PortraitUiState" display="QHD portrait" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+        <uistate name="landscapeUIState" sections="#common landscape"/>
+        <uistate name="PortraitUiState" sections="#common portrait"/>
+        <uistate name="portrait" sections="#common portrait"/>
+        <uistate name="landscape" sections="#common landscape"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/controller/eabi/calencontrolleru.def	Mon Jun 28 15:22:02 2010 +0530
@@ -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/calenactionuiutils.h	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/controller/inc/calenactionuiutils.h	Mon Jun 28 15:22:02 2010 +0530
@@ -42,13 +42,6 @@
     {
     
     public:
-        enum TDeleteConfirmationType
-            {
-            EDeleteEntry = 1,
-            EDeleteToDo,
-            EDeleteToDos,
-            EDeleteAll
-            };
 
         enum TRepeatQueryType
             {
@@ -78,9 +71,6 @@
                                             AgendaEntry& entry,
                                             const bool status );
         
-        static int showDeleteConfirmationQueryL(const TDeleteConfirmationType type,
-                                                 const TInt count = 0);
-        
     private: // Construction and destruction
         // Hiding constructor, because this is static utility class.
         //lint -e{1526}
--- a/calendarui/controller/inc/calencontroller.h	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/controller/inc/calencontroller.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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,29 +59,42 @@
  * 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();
 		
 		/**
-			 * Constructs CCalenController with existing CAknViewAppUi. If the
-			 * controller has been previously initialized with the same CAknViewAppUi,
-			 * the existing instance will be returned.
-			 * @param aAppUi Reference to CAknViewAppUi
-			 * @return CCalenController pointer
-			 */
-			static CCalenController* InstanceL();
+		 * 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.
+		 * @param aAppUi Reference to CAknViewAppUi
+		 * @return CCalenController pointer
+		 */
+		static CCalenController* InstanceL();
 
-			/**
-			 * CCalenController is a reference counting singleton. Call Release()
-			 * when you are done with it, it will clean itself when it needs to
-			 */
-			 void Release();
+		 
+		 /**
+		 * Releases all plugins, should only be called when 
+		 * the application is exiting.
+		 */
+		void ReleaseCustomisations();
+
+		/**
+		 * CCalenController is a reference counting singleton. Call Release()
+		 * when you are done with it, it will clean itself when it needs to
+		 */
+		void Release();
 		
 		/**
 		 * destructor
@@ -205,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
         
         /**
@@ -222,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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/controller/inc/calendeleteui.h	Mon Jun 28 15:22:02 2010 +0530
@@ -29,11 +29,19 @@
 #include "calenactionuiutils.h"
 #include "calennotificationhandler.h"
 #include "calencommandhandler.h"
-
+#include "hb_calencommands.hrh"
 
 // FORWARD DECLARATIONS
 class CCalenController;
+class HbAction;
 
+enum TDeleteConfirmationType
+{
+	EDeleteEntry = 1,
+	EDeleteToDo,
+	EDeleteToDos,
+	EDeleteAll
+};
 
 // CLASS DECLARATION
 /**
@@ -121,28 +129,21 @@
     void deleteEntriesEndingAtMidnight( QDateTime aMidnight );
 
     /**
-     * Delete entry by passing CCalEntryView and CCalEntry
-     * Will query user for confirmation before deletion
-     * @return ETrue user confirms to delete EFalse otherwise 
-     */
-    TBool DeleteEntryL( AgendaEntry& aEntry );
-    
-    /**
      * Delete entry without querying the user
      */
     TBool DeleteEntryWithoutQueryL();
-
+    
     /**
      * Delete the given entry. Ask the user whether to delete the
      * instance or the entire series.
      */
-    TBool DeleteSingleInstanceL( AgendaEntry& aInstance );
+    void DeleteSingleInstanceL( AgendaEntry& aInstance );
 
     /**
      * Delete the given entry, using aRepeatType to determine
      * whether to delete the instance or the entire series.
      */
-    TBool DeleteSingleInstanceL( AgendaEntry& aInstance, 
+    void DeleteSingleInstanceL( AgendaEntry& aInstance, 
             AgendaUtil::RecurrenceRange aRepeatType );
     
     /**
@@ -152,7 +153,7 @@
      * @param aRepeatType Repeat type choosen to apply on delete
      * @return ETrue is user confirms to delete, EFalse otherwise
      */
-    TBool DoDeleteSingleInstanceL( AgendaEntry& aInstance,
+    void DoDeleteSingleInstanceL( AgendaEntry& aInstance,
                                    bool aHasRepeatType,
                                    AgendaUtil::RecurrenceRange aRepeatType );
     
@@ -162,11 +163,6 @@
     void HandleECalenNotifyViewCreatedL();
     
    /**
-    * Multiple entries delete query
-    */ 
-    TInt ShowMultipleEntriesDeleteQueryL(int aCount);
-    
-   /**
     * Get the date from user.
     */
     void dateQuery();
@@ -177,7 +173,14 @@
      * or the entire series of a repeating entry
      */
     void showRepeatingEntryDeleteQuery();
-
+    
+    /**
+     * Shows a confirmation query to the user if
+     * he/she wants to delete instance/instances
+     */
+    void showDeleteQuery(const TDeleteConfirmationType type,
+                         const int count = 0);
+    
 private: // own methods
     /**
      * C++ constructor
@@ -200,7 +203,9 @@
 public slots:
 
     void doCompleted( int aFirstPassError );
-    void getSelectedDate();
+    void handleDateQuery(HbAction* action);
+    void handleDeletion(HbAction* action);
+    void handleDeleteCancel();
     
 private slots:
     void handleRepeatedEntryDelete(int index);
@@ -228,20 +233,22 @@
     bool iIsDeleting; // True, if asynchronous delete is running
     QDateTime iStartTime;
     QDateTime iEndTime;
-    QDateTime mDateTime; // Get the date selected by user.
     HbDateTimePicker *mDatePicker;
+    HbAction *mDeleteAction;
+    HbAction *mCancelAction;
     // Confirmation note id is stored here. Note is shown when asynchronous
     // delete completes.
     int iConfirmationNoteId;
     CCalenController& iController;
-
+    TCalenCommandId mDeleteCommand;
+    AgendaUtil::RecurrenceRange mRecurrenceRange;
+    
     // Stored command if the entry view
     // needs to constructed asyncronously
     TCalenCommand iStoredCommand;
     int iMutlipleContextIdsCount;
     bool iMoreEntriesToDelete;
     bool iDisplayQuery;
-    bool mIsDateValid;
     int iEntriesToDelete;
     };
 
--- a/calendarui/controller/inc/calennotificationhandler.h	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/controller/inc/calennotificationhandler.h	Mon Jun 28 15:22:02 2010 +0530
@@ -32,6 +32,7 @@
     ECalenNotifyInstanceDeleted,
     ECalenNotifySystemTimeChanged,
     ECalenNotifySystemLocaleChanged,
+    ECalenNotifySystemLanguageChanged,
     ECalenNotifyLostAlarms,
     ECalenNotifyCmdLineLaunch,
     ECalenNotifyAvkonViewSwitchLaunch,
--- a/calendarui/controller/inc/calenstatetable.h	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/controller/inc/calenstatetable.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/controller/inc/calenviewmanager.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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,7 +97,12 @@
 		
 		void showPrevDay();
 		
-		void removeDayViews();
+		void removePreviousView();
+		
+		void constructOtherViews();
+		
+		void launchSettingsView();
+		
 		
 	public: // from MCalenNotificationHandler
    
@@ -110,7 +119,7 @@
         /**
 		 * Loads day view frm the docml
 		 */
-        void loadDayView();
+        void loadAgendaView();
 	    /**
 	     * Activates the default view, as retrieved from settings.
 	     */
@@ -131,33 +140,35 @@
 		 * to provide illusion of swiping to next or prev
 		 * day
 		 */
-		void loadAlternateDayView();
-		
-	public slots:
-		void constructOtherViews();
+		void loadAlternateAgendaView();
         
     private slots:
+		void handleMainViewReady();
 		void handleViewingCompleted(const QDate date);
 		void handleEditingStarted();
 		void handleEditingCompleted();
 		void handleDeletingStarted();
 		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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/controller/src/calenactionui.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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/calenactionuiutils.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/controller/src/calenactionuiutils.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -105,62 +105,4 @@
     TRACE_EXIT_POINT;
     }
 
-int CalenActionUiUtils::showDeleteConfirmationQueryL(const TDeleteConfirmationType type,
-                                                     const int count)
-    {
-    TRACE_ENTRY_POINT;
-    int retStatus = 0;
-
-    
-    HbMessageBox popup(HbMessageBox::MessageTypeQuestion);
-    popup.setIconVisible(true);
-    popup.setTimeout(HbPopup::NoTimeout);
-       
-    QString text = 0;
-    
-    switch(type)
-        {
-        case CalenActionUiUtils::EDeleteEntry:
-            {
-            // TODO: Add the text id
-            text.append("Delete entry?");
-            break;
-            }
-        case CalenActionUiUtils::EDeleteToDo:
-            {
-            text.append(hbTrId("txt_calendar_info_delete_todo_note"));
-            break;
-            }
-        case CalenActionUiUtils::EDeleteToDos:
-            {//"Delete %N to-do notes?"
-            // TODO: Add the text id
-            text.append("Delete %N to-do's?").arg(count);
-            break;
-            }
-        case CalenActionUiUtils::EDeleteAll:
-            {
-            text.append(hbTrId("txt_calendar_info_delete_all_calendar_entries"));
-            break;
-            }
-        default:
-            break;
-        }
-    
-    popup.setText(text);
-    		
-	popup.setPrimaryAction(new HbAction(
-								hbTrId("txt_calendar_button_delete"), &popup));
-	popup.setSecondaryAction(new HbAction(
-								hbTrId("txt_calendar_button_cancel"), &popup));
-	HbAction *selected = popup.exec();
-	if (selected == popup.primaryAction()) { 
-		retStatus = 1;
-	}
-
-    TRACE_EXIT_POINT
-    return retStatus;
-    }
-
-
-
 // End of file
--- a/calendarui/controller/src/calenbackgroundstate.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/controller/src/calenbackgroundstate.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -100,6 +100,7 @@
 
     switch( cmd )
         {
+        case ECalenAgendaView:
         case ECalenDayView:
             SetCurrentState(aStateMachine,CCalenStateMachine::ECalenIdleState);
             cmdUsed = ETrue;
--- a/calendarui/controller/src/calencontroller.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/controller/src/calencontroller.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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,73 +48,99 @@
 // (other items were commented in a header).
 // ----------------------------------------------------------------------------
 //
-CCalenController::CCalenController(bool isFromServiceFrmwrk)
+CCalenController::CCalenController()
 {
     TRACE_ENTRY_POINT;
-    iIsFromServiceFrmWrk = isFromServiceFrmwrk;
-    iNextServicesCommandBase = KCustomCommandRangeStart;
-    
-    // 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 );
+	// 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; */
     
-    // Create the notifier.
-    iNotifier = new( ELeave )CalenNotifier( *iStateMachine );
-    
-    // Construct the context
-    mContext = new CalenContextImpl(iNotifier);
+    // 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
     
-    // 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();
+    iNextServicesCommandBase = KCustomCommandRangeStart;
+    iRefCount = 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()
@@ -171,7 +199,24 @@
     TRACE_EXIT_POINT;
     return self;    
     }
+
+// ----------------------------------------------------------------------------
+// CCalenController::ReleaseCustomisations
+// Releases any plugins by deleting the customisation manager
+// should only be called on exiting by the application.
+// (other items were commented in a header).
+// ----------------------------------------------------------------------------
+//
+void CCalenController::ReleaseCustomisations()
+    {
+    TRACE_ENTRY_POINT;
     
+    delete iCustomisationManager;
+    iCustomisationManager = NULL;
+    
+    TRACE_EXIT_POINT;
+    }
+
 // ----------------------------------------------------------------------------
 // CCalenController::Release
 // Decrement the reference count of this singleton.
@@ -204,14 +249,48 @@
 CCalenController::~CCalenController()
     {
     TRACE_ENTRY_POINT;
+
+    if(iStateMachine) {
+    	delete iStateMachine;
+    	iStateMachine = NULL;
+    }
+
     if ( iServices )
         {
         iServices->Release();
         }
-    delete iNotifier;
-    delete iActionUi;
-    delete iViewManager;
-    delete iCustomisationManager;
+    
+    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( iViewManager )
+		{
+    	delete iViewManager;
+    	iViewManager = NULL;
+		}
+    
+    if( iCustomisationManager )
+		{
+    	delete iCustomisationManager;
+    	iCustomisationManager = NULL;
+		}
+    Dll::SetTls( NULL );
     
     TRACE_EXIT_POINT;
     }
@@ -464,7 +543,7 @@
     {
     TRACE_ENTRY_POINT;  
     QDateTime focusTime = mContext->defaultCalTimeForViewsL();
-    mContext->setFocusDateAndTimeL(focusTime,KCalenDayViewUidValue );
+    mContext->setFocusDateAndTime(focusTime);
     TRACE_EXIT_POINT;
     }
 
@@ -519,13 +598,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
@@ -538,7 +614,7 @@
 			// simply return - we dont have anything to do
 		} else {
 			// Set the context properly
-			mContext->setFocusDateAndTimeL(dateTime,KCalenMonthViewUidValue);
+			mContext->setFocusDateAndTime(dateTime);
 			IssueCommandL(view);
 		}
 	}
@@ -559,4 +635,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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/controller/src/calendeleteui.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -20,6 +20,7 @@
 #include <QtGui>
 #include <hbdatetimepicker.h>
 #include <hbdialog.h>
+#include <hbmessagebox.h>
 #include <hbaction.h>
 #include <hblabel.h>
 #include <hbradiobuttonlist.h>
@@ -29,13 +30,11 @@
 // User includes
 #include "calendarui_debug.h"
 #include "calendeleteui.h"
-#include "hb_calencommands.hrh"
 #include "calencontext.h"
 #include "calencontroller.h"
 #include "CleanupResetAndDestroy.h"
 #include "caleninstanceid.h"
 #include "calenactionuiutils.h"
-#include "CalendarPrivateCRKeys.h"  // includes CalendarInternalCRKeys.h
 #include "calendateutils.h"
 #include "calenagendautils.h"
 
@@ -139,28 +138,35 @@
     {
     TRACE_ENTRY_POINT;
     TBool continueCommand(EFalse);
-   
+    
     switch( aCommand.Command() )
         {
         case ECalenDeleteCurrentEntry:
-            
-            DeleteCurrentEntryL(); // Entry & instance
+        	mDeleteCommand = ECalenDeleteCurrentEntry;
+        	DeleteCurrentEntryL(); // Entry & instance
             break;
 
         case ECalenDeleteSeries:
-            DeleteThisOrAllL( AgendaUtil::ThisAndAll );
+        	mDeleteCommand = ECalenDeleteSeries;
+        	DeleteThisOrAllL( AgendaUtil::ThisAndAll );
             break;
             
         case ECalenDeleteCurrentOccurrence:
-            DeleteThisOrAllL( AgendaUtil::ThisOnly );
+        	mDeleteCommand = ECalenDeleteCurrentOccurrence;
+        	DeleteThisOrAllL( AgendaUtil::ThisOnly );
             break;
             
         case ECalenDeleteEntryWithoutQuery:
-            continueCommand = DeleteEntryWithoutQueryL();
+        	//TODO:
+        	// This case is not handled currently as no such commands
+        	// has been issued. So this has to be handled once we start 
+        	// issuing the command. 
+        	/*continueCommand = DeleteEntryWithoutQueryL();*/
             break;
 
         case ECalenDeleteAllEntries:
-            DeleteAllEntriesL(); // EntryView & instance
+        	mDeleteCommand = ECalenDeleteAllEntries;
+        	DeleteAllEntriesL(); // EntryView & instance
             break;
 
         case ECalenDeleteEntriesBeforeDate:
@@ -186,26 +192,21 @@
 // ----------------------------------------------------------------------------
 //
 void CalenDeleteUi::DeleteThisOrAllL( AgendaUtil::RecurrenceRange aRepeatType )
-    {
-    TRACE_ENTRY_POINT;
-    
-    bool isDeleted( false );
-    
-    if( iController.context().instanceId().mEntryLocalUid )
-        {
-        AgendaEntry instance = 
-            CalenActionUiUtils::findPossibleInstanceL(iController.context().instanceId(),
-                                                   iController.Services().agendaInterface() );
-         if( !instance.isNull() )
-            {
-            isDeleted = DeleteSingleInstanceL( instance, aRepeatType );
-            }
-        }
-    iController.BroadcastNotification( isDeleted? ECalenNotifyEntryDeleted :
-                                                               ECalenNotifyDeleteFailed );
-    
-    TRACE_EXIT_POINT;
-    }
+{
+	TRACE_ENTRY_POINT;
+
+	if( iController.context().instanceId().mEntryLocalUid )
+	{
+		AgendaEntry instance = CalenActionUiUtils::findPossibleInstanceL(
+									iController.context().instanceId(),
+									iController.Services().agendaInterface() );
+		if( !instance.isNull() )
+		{
+			DeleteSingleInstanceL( instance, aRepeatType );
+		}
+	}
+	TRACE_EXIT_POINT;
+}
 
 // ----------------------------------------------------------------------------
 // CalenDeleteUi::DeleteEntryWithoutQueryL()
@@ -228,7 +229,7 @@
 
 	    if(!iMoreEntriesToDelete)
 		    {
-		    iDisplayQuery = ShowMultipleEntriesDeleteQueryL(iMutlipleContextIdsCount);
+		    //iDisplayQuery = ShowMultipleEntriesDeleteQueryL(iMutlipleContextIdsCount);
 		    }
 		
 		if(iDisplayQuery)
@@ -290,47 +291,34 @@
 //
 void CalenDeleteUi::DeleteCurrentEntryL()
 {
-    TRACE_ENTRY_POINT;
+	TRACE_ENTRY_POINT;
 
-    bool deleted( false );
-    TCalenNotification notification = ECalenNotifyDeleteFailed;
-    
-    // Make sure we're focused on an entry.
-    if (iController.context().instanceId().mEntryLocalUid) {
-        // 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()) {
-                deleted = DeleteEntryL(entry);
-                if(deleted) {
-                    // Delete is successful
-                    notification = ECalenNotifyEntryDeleted;
-                }
-            }
-        }
-        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
-                deleted = DeleteEntryL(entry);
-                if (deleted) {
-                    // Delete is successful
-                    notification = ECalenNotifyEntryDeleted;
-                }
-            }
-        }
-    }
-
-    iController.BroadcastNotification( notification );
-
-    TRACE_EXIT_POINT;
+	// Make sure we're focused on an entry.
+	if (iController.context().instanceId().mEntryLocalUid) {
+		// 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()) {
+				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);
+				}
+			}
+	}
+	TRACE_EXIT_POINT;
 }
 
 // ----------------------------------------------------------------------------
@@ -341,24 +329,12 @@
 //
 void CalenDeleteUi::DeleteAllEntriesL()
     {
-    TRACE_ENTRY_POINT;
-
-    ASSERT( !iIsDeleting );
+	if(iIsDeleting) {
+		return;
+	}
 
-    const int buttonId = CalenActionUiUtils::showDeleteConfirmationQueryL( 
-                                                                        CalenActionUiUtils::EDeleteAll );   
-    if( buttonId )
-        {
-        HandleDeleteMultipleEventsL( AgendaUtil::minTime(), AgendaUtil::maxTime(),1 );
-        }
-    else
-        {
-        // notify delete failed
-        iController.BroadcastNotification(ECalenNotifyDeleteFailed); 
-        }
-
-    TRACE_EXIT_POINT;
-    }
+    showDeleteQuery(EDeleteAll );
+	}
 
 // ----------------------------------------------------------------------------
 // CalenDeleteUi::DeleteEntriesBeforeDateL
@@ -369,63 +345,102 @@
 void CalenDeleteUi::DeleteEntriesBeforeDateL()
     {
     TRACE_ENTRY_POINT;
-
-    ASSERT( !iIsDeleting );
-
-    TCalenNotification notification = ECalenNotifyDeleteFailed;
-    
+	if(iIsDeleting) {
+		return;
+	}    
     // launch the datepicker
-    mIsDateValid = false;
     dateQuery();
-
-    if( mIsDateValid )
-        {
-        // Do delete only if inputted day is after beginning of range
-        if( mDateTime > AgendaUtil::minTime() )
-            {
-            // Two pass delete:
-            // 1. pass
-            // To prevent destroying entries starting and ending midnight
-            // subtract one second and do delete on that range.
-            mDateTime = mDateTime.addSecs(-1);
-            mDateTime = ( mDateTime > AgendaUtil::minTime()? mDateTime :  AgendaUtil::minTime());
-
-            HandleDeleteMultipleEventsL( AgendaUtil::minTime(),
-                                                    mDateTime,1 );
-            notification = ECalenNotifyMultipleEntriesDeleted;
-            }
-        }
-
-    iController.BroadcastNotification( notification );
     TRACE_EXIT_POINT;
     }
-    
+
+// ----------------------------------------------------------------------------
+// CalenDeleteUi::dateQuery
+// Launches the popup for the date selection
+// (other items were commented in a header).
+// ----------------------------------------------------------------------------
+//
 void CalenDeleteUi::dateQuery()
 	{
 	// Create a popup with datepicker to select the date.
+	HbDialog *popUp = new HbDialog();
+	popUp->setDismissPolicy(HbDialog::NoDismiss);
+	popUp->setTimeout(HbDialog::NoTimeout );
+	popUp->setAttribute( Qt::WA_DeleteOnClose, true );
+	popUp->setHeadingWidget(new HbLabel(hbTrId("txt_calendar_title_set_date")));
+	
 	QDateTime currentDateTime(CalenDateUtils::today());
 	QDate currentDate(currentDateTime.date());
-	mDatePicker = new  HbDateTimePicker(currentDate);
+	if(mDatePicker) {
+		mDatePicker = NULL;
+	}
+	mDatePicker = new  HbDateTimePicker(popUp);
 	mDatePicker->setMinimumDate(CalenDateUtils::minTime().date());
 	mDatePicker->setMaximumDate(currentDate);
-	HbDialog popUp;
-	popUp.setDismissPolicy(HbDialog::NoDismiss);
-	popUp.setTimeout(HbDialog::NoTimeout );
-	popUp.setHeadingWidget(new HbLabel(hbTrId("txt_calendar_title_set_date")));
-	popUp.setContentWidget(mDatePicker);  
-	HbAction *okAction = new HbAction(hbTrId("txt_calendar_button_dialog_delete"));
-	popUp.setPrimaryAction(okAction);
-	connect(okAction,SIGNAL(triggered()),this,SLOT(getSelectedDate()));
-	connect(okAction,SIGNAL(triggered()),&popUp,SLOT(close()));
-	popUp.setSecondaryAction(new HbAction(hbTrId("txt_common_button_cancel"),&popUp));
-	popUp.exec();
+	mDatePicker->setDate(currentDate);
+
+	popUp->setContentWidget(mDatePicker);  
+	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*)));
 	}
 
+// ----------------------------------------------------------------------------
+// CalenDeleteUi::handleDateQuery
+// Handles the selection for the date query
+// (other items were commented in a header).
+// ----------------------------------------------------------------------------
+//
+void CalenDeleteUi::handleDateQuery(HbAction* action)
+{
+	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
+// Launches the popup for deleting the repeating entry
+// (other items were commented in a header).
+// ----------------------------------------------------------------------------
+//
 void CalenDeleteUi::showRepeatingEntryDeleteQuery()
 {
-    HbDialog popUp;
-    popUp.setDismissPolicy(HbDialog::NoDismiss);
-    popUp.setTimeout(HbDialog::NoTimeout);
+    HbDialog *popUp = new HbDialog();
+    popUp->setDismissPolicy(HbDialog::NoDismiss);
+    popUp->setTimeout(HbDialog::NoTimeout);
+    popUp->setAttribute( Qt::WA_DeleteOnClose, true );
     
     QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(Qt::Vertical);
     HbWidget *editWidget = new HbWidget();
@@ -441,61 +456,188 @@
 
     layout->addItem(editButtonList);
     
-    popUp.setContentWidget(editWidget);
-    popUp.setHeadingWidget(new HbLabel(
+    popUp->setContentWidget(editWidget);
+    popUp->setHeadingWidget(new HbLabel(
 						hbTrId("txt_calendar_title_delete_repeated_entry")));
 
-    connect(editButtonList, SIGNAL(itemSelected(int)), this,
-            SLOT(handleRepeatedEntryDelete(int)));
-    connect(editButtonList, SIGNAL(itemSelected(int)), &popUp, SLOT(close()));
-
-    // Create secondary action
+    // Add cancel action
     HbAction *cancelAction = new HbAction(
 							hbTrId("txt_calendar_button_softkey1_cancel"));
-    popUp.setSecondaryAction(cancelAction);
-    connect(cancelAction, SIGNAL(triggered()), this, SLOT(handleCancel()));
-    connect(cancelAction, SIGNAL(triggered()), &popUp, SLOT(close()));
+    popUp->addAction(cancelAction);
+    connect(editButtonList, SIGNAL(itemSelected(int)), this,
+										SLOT(handleRepeatedEntryDelete(int)));
+    connect(editButtonList, SIGNAL(itemSelected(int)), popUp, SLOT(close()));
+    connect(cancelAction, SIGNAL(triggered()), this, 
+										SLOT(handleDeleteCancel()));
     
     // Show the popup
-    popUp.exec();
+    popUp->open();
 }
 
-void CalenDeleteUi::getSelectedDate()
-	{  
-    QDate selectedDate(mDatePicker->date());
-        
-	// Check if the date is within the range.
-	if(selectedDate.isValid())
-		{
-		QTime time(0,0,0,0);
-		mDateTime.setDate(selectedDate);
-		mDateTime.setTime(time);
-		mIsDateValid = true;
-		}
-    }
+// ----------------------------------------------------------------------------
+// CalenDeleteUi::handleDeleteCancel
+// Handles the cancel action
+// (other items were commented in a header).
+// ----------------------------------------------------------------------------
+//
+void CalenDeleteUi::handleDeleteCancel()
+{
+	iController.BroadcastNotification(ECalenNotifyDeleteFailed);
+}
 
 void CalenDeleteUi::handleRepeatedEntryDelete(int index)
 {
-    // Fetch the entry
-    // Find all possible instances
-    AgendaEntry instance = CalenActionUiUtils::findPossibleInstanceL(
-                                iController.context().instanceId(),
-                                iController.Services().agendaInterface());
+	// 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;
+		}
+	}
+}
 
-    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
+// (other items were commented in a header).
+// ----------------------------------------------------------------------------
+//
+void CalenDeleteUi::showDeleteQuery(const TDeleteConfirmationType type,
+                                                     const int count)
+    {
+    HbMessageBox *popup = new HbMessageBox(HbMessageBox::MessageTypeQuestion);
+    popup->setDismissPolicy(HbDialog::NoDismiss);
+    popup->setTimeout(HbDialog::NoTimeout);
+    popup->setAttribute( Qt::WA_DeleteOnClose, true );
+    
+    QString text = 0;
+    
+    switch(type)
+        {
+        case EDeleteEntry:
+            {
+            text.append(hbTrId("txt_calendar_info_delete_meeting"));
+            break;
+            }
+        case EDeleteToDo:
+            {
+            text.append(hbTrId("txt_calendar_info_delete_todo_note"));
+            break;
+            }
+        case EDeleteToDos:
+            {//"Delete %N to-do notes?"
+            // TODO: Add the text id
+            text.append("Delete %N to-do's?").arg(count);
+            break;
+            }
+        case EDeleteAll:
+            {
+            text.append(hbTrId("txt_calendar_info_delete_all_calendar_entries"));
+            break;
+            }
+        default:
+            break;
+        }
+    
+    popup->setText(text);
+    	
+    QList<QAction*> list = popup->actions();
+    for(int i=0; i < list.count(); i++)
+        {
+        popup->removeAction(list[i]);
         }
+    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*)));
     }
+
+// ----------------------------------------------------------------------------
+// CalenDeleteUi::handleDeletion
+// Deletes the entries based on the user selection
+// (other items were commented in a header).
+// ----------------------------------------------------------------------------
+//
+void CalenDeleteUi::handleDeletion(HbAction* action)
+{
+	TCalenNotification notification = ECalenNotifyDeleteFailed;
+	
+	if(action == mDeleteAction) {
+		
+		switch (mDeleteCommand) {
+			
+			case ECalenDeleteCurrentEntry:
+			{
+				// 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(id);
+			}
+				break;
+			
+			case ECalenDeleteSeries:
+			case ECalenDeleteCurrentOccurrence:
+			{
+				AgendaEntry instance = 
+						CalenActionUiUtils::findPossibleInstanceL(
+								iController.context().instanceId(),
+								iController.Services().agendaInterface() );
+				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 );
+					}
+				}
+			}
+				break;
+			
+			case ECalenDeleteAllEntries:
+			{
+				HandleDeleteMultipleEventsL( AgendaUtil::minTime(), 
+											AgendaUtil::maxTime(),1 );
+			}
+				break;
+			
+			default:
+				break;
+				
+		}
+	}
+	// If the user presses cancel button the notification will be
+	// ECalenNotifyDeleteFailed as default.
+	// Notify the status
+	iController.BroadcastNotification(notification);
+	
+	// Reset the member variables
+	mDeleteAction = NULL;
+	mCancelAction = NULL;
 }
 
 void CalenDeleteUi::entryDeleted(ulong id)
@@ -518,9 +660,10 @@
                                                  int aConfNoteId )
     {
     TRACE_ENTRY_POINT;
-
     
-    ASSERT( !iIsDeleting );
+	if(iIsDeleting) {
+		return;
+	}
     iConfirmationNoteId = aConfNoteId;
     
     DeleteDayRangeL( aFirstDay, aLastDay );
@@ -618,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
@@ -639,11 +782,11 @@
 // (other items were commented in a header).
 // -----------------------------------------------------------------------------
 //
-TBool CalenDeleteUi::DeleteSingleInstanceL( AgendaEntry& aInstance )
+void CalenDeleteUi::DeleteSingleInstanceL( AgendaEntry& aInstance )
     {
     TRACE_ENTRY_POINT;
+    DoDeleteSingleInstanceL( aInstance, EFalse, AgendaUtil::ThisAndAll );
     TRACE_EXIT_POINT;
-    return DoDeleteSingleInstanceL( aInstance, EFalse, AgendaUtil::ThisAndAll );
     }
 
 // -----------------------------------------------------------------------------
@@ -652,12 +795,13 @@
 // (other items were commented in a header).
 // -----------------------------------------------------------------------------
 //
-TBool CalenDeleteUi::DeleteSingleInstanceL( AgendaEntry& aInstance, 
+void CalenDeleteUi::DeleteSingleInstanceL( AgendaEntry& aInstance, 
                                 AgendaUtil::RecurrenceRange aRepeatType )
     {
     TRACE_ENTRY_POINT;
+    DoDeleteSingleInstanceL( aInstance, ETrue, aRepeatType );
     TRACE_EXIT_POINT;
-    return DoDeleteSingleInstanceL( aInstance, ETrue, aRepeatType );
+    
     }
 
 // -----------------------------------------------------------------------------
@@ -669,107 +813,42 @@
 // (other items were commented in a header).
 // -----------------------------------------------------------------------------
 //
-TBool CalenDeleteUi::DoDeleteSingleInstanceL( AgendaEntry& aInstance,
-                                               bool aHasRepeatType,
-                                               AgendaUtil::RecurrenceRange aRepeatType )
-    {
-    TRACE_ENTRY_POINT;
-
-    bool repeating = aInstance.isRepeating();
-
-    if( !repeating )
-        {
-        // Even though there is no RRule, the entry might
-        // have a list of rdates.
-       QList<QDate> rDates = aInstance.rDates();
-        repeating = ( rDates.count() > 0 );
-        }
-    QDateTime recId = aInstance.recurrenceId().toUTC();
-    const bool child = recId.isNull();
-
-    if( !aHasRepeatType )
-        {
-        aRepeatType = AgendaUtil::ThisAndAll;
-        }
+void CalenDeleteUi::DoDeleteSingleInstanceL(
+									AgendaEntry& aInstance,
+									bool aHasRepeatType,
+									AgendaUtil::RecurrenceRange aRepeatType )
+{
+	TRACE_ENTRY_POINT;
+	bool repeating = aInstance.isRepeating();
 
-    bool doDelete( ETrue );
-
-    if( !aHasRepeatType && ( child || repeating ) && ( aInstance.type() != AgendaEntry::TypeAnniversary ) )
-        {
-        //doDelete = CalenActionUiUtils::ShowRepeatTypeQueryL( aRepeatType,
-          //                                                 CalenActionUiUtils::EDelete );
-        }
-    else
-        {
-        doDelete = CalenActionUiUtils::showDeleteConfirmationQueryL(aInstance.type() == AgendaEntry::TypeTodo ?
-                                                                   CalenActionUiUtils::EDeleteToDo :
-                                                                   CalenActionUiUtils::EDeleteEntry );
-        }
-        
-    if( doDelete )
-        {
-        if( !child || aRepeatType == AgendaUtil::ThisOnly )
-            {
-            iController.Services().agendaInterface()->deleteRepeatedEntry( aInstance, aRepeatType );
-            }
-        else if( aRepeatType == AgendaUtil::ThisAndAll )
-            {
-            iController.Services().agendaInterface()->deleteRepeatedEntry( aInstance, aRepeatType );
-            }
-        }
+	if( !repeating ) {
+		// Even though there is no RRule, the entry might
+		// have a list of rdates.
+		QList<QDate> rDates = aInstance.rDates();
+		repeating = ( rDates.count() > 0 );
+	}
+	QDateTime recId = aInstance.recurrenceId().toUTC();
+	const bool child = recId.isNull();
 
-    TRACE_EXIT_POINT;
-    return doDelete;
-    }
-
-// -----------------------------------------------------------------------------
-// CalenDeleteUi::DeleteEntryL
-// Deletes an entry from the database
-// (other items were commented in a header).
-// -----------------------------------------------------------------------------
-//
-TBool CalenDeleteUi::DeleteEntryL( AgendaEntry& entry )
-    {
-    TRACE_ENTRY_POINT;
-
-    TBool doDelete = CalenActionUiUtils::showDeleteConfirmationQueryL(entry.type() == AgendaEntry::TypeTodo ?
-                                                                      CalenActionUiUtils::EDeleteToDo :
-                                                                      CalenActionUiUtils::EDeleteEntry );
-    
-    if( doDelete )
-        {
-        iController.Services().agendaInterface()->deleteEntry(entry.id());
-        }
+	if( !aHasRepeatType ) {
+		aRepeatType = AgendaUtil::ThisAndAll;
+	}
+	// For later reference in handleDeletion()
+	mRecurrenceRange = aRepeatType;
 
-    TRACE_EXIT_POINT;
-    return doDelete;
-    }
-
-// -----------------------------------------------------------------------------
-// CalenDeleteUi::ShowMultipleEntriesDeleteQueryL
-// For displaying multiple entries deletion confirmation query
-// -----------------------------------------------------------------------------
-//
-TInt CalenDeleteUi::ShowMultipleEntriesDeleteQueryL(int aCount)
+	if( !aHasRepeatType && ( child || repeating ) && 
+			( aInstance.type() != AgendaEntry::TypeAnniversary ) ) {
+		showRepeatingEntryDeleteQuery();
+	}
+	else
 	{
-    TRACE_ENTRY_POINT;
-    if( aCount > 1 )
-        {
-        TRACE_EXIT_POINT;
-        return CalenActionUiUtils::showDeleteConfirmationQueryL(CalenActionUiUtils::EDeleteToDos, aCount );
-        }
-    else if( aCount ==  1 )
-        {
-        TRACE_EXIT_POINT;
-        return CalenActionUiUtils::showDeleteConfirmationQueryL(CalenActionUiUtils::EDeleteToDo);
-        }
-    else
-        {        
-        TRACE_EXIT_POINT;
-        return 0;   //return 0 for other invalid aCount value ( < 0 )
-        }   
-    
+		showDeleteQuery(aInstance.type() == AgendaEntry::TypeTodo ?
+														EDeleteToDo :
+														EDeleteEntry );
 	}
+	TRACE_EXIT_POINT;
+}
+
 
 // -----------------------------------------------------------------------------
 // CalenDeleteUi::DialogDismissedL
--- a/calendarui/controller/src/calendocloader.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/controller/src/calendocloader.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/controller/src/caleneditui.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/controller/src/calenidlestate.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/controller/src/calensettingsstate.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/controller/src/calenstatemachine.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/controller/src/calenviewmanager.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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,41 +46,108 @@
 // (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;
-	
-	mController.MainWindow().setItemVisible(Hb::NaviPaneItem, false);
+	mAgendaViewDocLoader = NULL;	
+	mAgendaViewAltDocLoader = NULL;
+	mCalenAgendaView = NULL;
+	mCalenMonthView = NULL;
+	mCalenAgendaViewAlt = NULL;
+	mSettingsView = NULL;
+	mCalenDayView = NULL;
 	
-	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(constructOtherViews()));
-		
-		mController.MainWindow().addView(mCalenMonthView);
-		mController.MainWindow().setCurrentView(mCalenMonthView);
-	}
+	// Connect to instance view and entry view creation signals from agenda
+	// interface
+	connect(mController.agendaInterface(), SIGNAL(instanceViewCreationCompleted(int)),
+	        this, SLOT(handleInstanceViewCreation(int)));
+	connect(mController.agendaInterface(), SIGNAL(entryViewCreationCompleted(int)),
+		        this, SLOT(handleEntryViewCreation(int)));
 	
 	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.
@@ -88,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;
 }
 
@@ -106,18 +186,28 @@
 void CalenViewManager::constructAndActivateView(int view)
 {
 	TRACE_ENTRY_POINT;
+	// We are here because, some other application is launching calendar with 
+	// the view, hence connect to viewReady() signal to do any lazy loading
+	// in the slot
+	
+	// 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()));
 	if (view == ECalenMonthView) {
 		mFirstView = ECalenMonthView;
 		loadMonthView();
 		ActivateDefaultViewL(ECalenMonthView);
 		// Add month view to mainwindow.
 		mController.MainWindow().addView(mCalenMonthView);
-	} else if (view == ECalenDayView) {
-		mFirstView = ECalenDayView;
-		loadDayView();
-		ActivateDefaultViewL(ECalenDayView);
-		// Add day view to mainwindow.
-		mController.MainWindow().addView(mCalenDayView);
+		mController.MainWindow().setCurrentView(mCalenMonthView);
+	} 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;
 }
@@ -150,7 +240,7 @@
 	// Get the calenmonth view from the loader.
 	mCalenMonthView = static_cast<CalenMonthView *> 
 							(mMonthViewDocLoader->findWidget(CALEN_MONTHVIEW));
-	Q_ASSERT_X(mCalenDayView, "calenviewmanager.cpp", 
+	Q_ASSERT_X(mCalenMonthView, "calenviewmanager.cpp", 
 											"Unable to load calenMonth view");
 	
 	// Setup the month view.
@@ -158,37 +248,63 @@
 }
 
 // ----------------------------------------------------------------------------
-// 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();
+	
+}
+
+// ----------------------------------------------------------------------------
+// CalenViewManager::handleMainViewReady
+// Slot to handle viewReady() signal from mainwindow
+// (other items were commented in a header).
+// ----------------------------------------------------------------------------
+//
+void CalenViewManager::handleMainViewReady()
+{
+	// Construct the month view part that is kept for lazy loading
+	if (mCalenMonthView) {
+		mCalenMonthView->doLazyLoading();
+	}
+	
+	// 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()));
 }
 
 // ----------------------------------------------------------------------------
@@ -202,25 +318,32 @@
 	// 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());
-	
-	// disconnect the view ready signal as we dont need it anymore
-	disconnect(&mController.MainWindow(), SIGNAL(viewReady()), 
-	           this, SLOT(constructOtherViews()));
 }
 
 // ----------------------------------------------------------------------------
@@ -242,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);
     }
 }
 
@@ -277,40 +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,
-                      ":/fxml/view_show",
+    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,
-                      ":/fxml/view_hide",
+        HbEffect::add(mCalenAgendaViewAlt,
+                      ":/fxml/view_show_back",
                       "show");
-        mCalenDayViewAlt->doPopulation();
-        mController.MainWindow().setCurrentView(mCalenDayViewAlt, true, Hb::ViewSwitchUseBackAnim);
+		// It would also connect for aboutToQuit events
+        mCalenAgendaViewAlt->doPopulation();
+        mController.MainWindow().setCurrentView(mCalenAgendaViewAlt, true, Hb::ViewSwitchUseNormalAnim);
     } else {
-        HbEffect::add(mCalenDayViewAlt,
-                      ":/fxml/view_show",
+    mCalenAgendaViewAlt->disconnectAboutToQuitEvent(); // disconnect mCalenAgendaViewAlt to get aboutToQuit Events
+        HbEffect::add(mCalenAgendaViewAlt,
+                      ":/fxml/view_hide_back",
                       "hide");
-        HbEffect::add(mCalenDayView,
-                      ":/fxml/view_hide",
+        HbEffect::add(mCalenAgendaView,
+                      ":/fxml/view_show_back",
                       "show");
-        mCalenDayView->doPopulation();
-        mController.MainWindow().setCurrentView(mCalenDayView, true, Hb::ViewSwitchUseBackAnim);
+		// 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()
 {
-    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);
+		}
+	}
+
 }
 
 // ----------------------------------------------------------------------------
@@ -325,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;
 }
@@ -354,30 +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
-                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
-		        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
-		        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;
@@ -391,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()));
 	}
@@ -419,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);
 }
 
 // ----------------------------------------------------------------------------
@@ -458,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;
@@ -502,7 +669,6 @@
 {
 	TRACE_ENTRY_POINT;
 	switch (notification) {
-		case ECalenNotifySystemLocaleChanged:
 		case ECalenNotifyExternalDatabaseChanged:
 		case ECalenNotifyDialogClosed:
 		case ECalenNotifyMultipleEntriesDeleted:
@@ -510,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;
@@ -538,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();
+	}
 }
 
 // ----------------------------------------------------------------------------
@@ -559,11 +746,9 @@
 //
 void CalenViewManager::handleEditingStarted()
 {
-	qDebug() <<"calendar: CalenViewManager::handleEditingStarted -->";
 	
 	mController.IssueCommandL(ECalenEditEntryFromViewer);
 	
-	qDebug() <<"calendar: CalenViewManager::handleEditingStarted <--";
 }
 
 // ----------------------------------------------------------------------------
@@ -574,11 +759,9 @@
 //
 void CalenViewManager::handleEditingCompleted()
 {
-	qDebug() <<"calendar: CalenViewManager::handleEditingStarted -->";
 	
 	mController.Services().IssueNotificationL(ECalenNotifyEditorClosedFromViewer);
 	
-	qDebug() <<"calendar: CalenViewManager::handleEditingStarted <--";
 }
 
 // ----------------------------------------------------------------------------
@@ -589,11 +772,9 @@
 //
 void CalenViewManager::handleDeletingStarted()
 {
-	qDebug() <<"calendar: CalenViewManager::handleEditingStarted -->";
 	
 	mController.IssueCommandL(ECalenDeleteEntryFromViewer);
 	
-	qDebug() <<"calendar: CalenViewManager::handleEditingStarted <--";
 }
 
 // ----------------------------------------------------------------------------
@@ -604,11 +785,91 @@
 //
 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 <--";
+}
+
+// ----------------------------------------------------------------------------
+// CalenViewManager::handleInstanceViewCreation
+//  Slot to handle completion of instance view creation
+// (other items were commented in a header).
+// ----------------------------------------------------------------------------
+//
+void CalenViewManager::handleInstanceViewCreation(int status)
+{
+	Q_UNUSED(status);
+	// 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();
+	}
+}
+
+// ----------------------------------------------------------------------------
+// CalenViewManager::handleDeletingCompleted
+//  Slot to handle completion of entry view creation
+// (other items were commented in a header).
+// ----------------------------------------------------------------------------
+//
+void CalenViewManager::handleEntryViewCreation(int status)
+{
+	// 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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/customisationmanager/inc/calencustomisationmanager.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/customisationmanager/src/calencustomisationmanager.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +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
-	_ZN16CCalenController21checkMultipleCreationEv @ 13 NONAME
-	_ZN16CCalenController24handleServiceManagerSlotEiRK9QDateTime @ 14 NONAME
-	_ZN16CCalenController25RegisterForNotificationsLEP25MCalenNotificationHandler18TCalenNotification @ 15 NONAME
-	_ZN16CCalenController25RegisterForNotificationsLEP25MCalenNotificationHandlerR6RArrayI18TCalenNotificationE @ 16 NONAME
-	_ZN16CCalenController7InfobarEv @ 17 NONAME
-	_ZN16CCalenController7ReleaseEv @ 18 NONAME
-	_ZN16CCalenController7contextEv @ 19 NONAME
-	_ZN16CCalenController8NotifierEv @ 20 NONAME
-	_ZN16CCalenController8ServicesEv @ 21 NONAME
-	_ZN16CCalenController9InstanceLEv @ 22 NONAME
-	_ZN16CCalenController9OfferMenuEP6HbMenu @ 23 NONAME
-	_ZN16CCalenControllerC1Eb @ 24 NONAME
-	_ZN16CCalenControllerC2Eb @ 25 NONAME
-	_ZN16CCalenControllerD1Ev @ 26 NONAME
-	_ZN16CCalenControllerD2Ev @ 27 NONAME
-	_ZTI16CCalenController @ 28 NONAME
-	_ZTV16CCalenController @ 29 NONAME
-
--- a/calendarui/eabi/calencustomisationmanageru.def	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,189 +0,0 @@
-EXPORTS
-	_ZN12CalenDayView12doPopulationEv @ 1 NONAME
-	_ZN12CalenDayView18HandleNotificationE18TCalenNotification @ 2 NONAME
-	_ZN12CalenDayView9docLoaderEv @ 3 NONAME
-	_ZN12CalenDayView9setupViewEP14CalenDocLoader @ 4 NONAME
-	_ZN12CalenDayViewC1ER14MCalenServices @ 5 NONAME
-	_ZN12CalenDayViewC2ER14MCalenServices @ 6 NONAME
-	_ZN12CalenDayViewD0Ev @ 7 NONAME
-	_ZN12CalenDayViewD1Ev @ 8 NONAME
-	_ZN12CalenDayViewD2Ev @ 9 NONAME
-	_ZN14CalenMonthGrid10appendRowsEv @ 10 NONAME
-	_ZN14CalenMonthGrid10panGestureERK7QPointF @ 11 NONAME
-	_ZN14CalenMonthGrid11downGestureEi @ 12 NONAME
-	_ZN14CalenMonthGrid11prependRowsEv @ 13 NONAME
-	_ZN14CalenMonthGrid11qt_metacallEN11QMetaObject4CallEiPPv @ 14 NONAME
-	_ZN14CalenMonthGrid11qt_metacastEPKc @ 15 NONAME
-	_ZN14CalenMonthGrid12timerExpiredEv @ 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
-	_ZN14CalenMonthGrid19setFocusToProperDayEv @ 27 NONAME
-	_ZN14CalenMonthGrid20updateMonthGridModelER5QListI14CalenMonthDataEi @ 28 NONAME
-	_ZN14CalenMonthGrid7setViewEP14CalenMonthView @ 29 NONAME
-	_ZN14CalenMonthGrid9upGestureEi @ 30 NONAME
-	_ZN14CalenMonthGridC1EP13QGraphicsItem @ 31 NONAME
-	_ZN14CalenMonthGridC2EP13QGraphicsItem @ 32 NONAME
-	_ZN14CalenMonthGridD0Ev @ 33 NONAME
-	_ZN14CalenMonthGridD1Ev @ 34 NONAME
-	_ZN14CalenMonthGridD2Ev @ 35 NONAME
-	_ZN14CalenMonthView10createGridEv @ 36 NONAME
-	_ZN14CalenMonthView11qt_metacallEN11QMetaObject4CallEiPPv @ 37 NONAME
-	_ZN14CalenMonthView11qt_metacastEPKc @ 38 NONAME
-	_ZN14CalenMonthView12createEditorEv @ 39 NONAME
-	_ZN14CalenMonthView12doPopulationEv @ 40 NONAME
-	_ZN14CalenMonthView12getActiveDayEv @ 41 NONAME
-	_ZN14CalenMonthView12setActiveDayE9QDateTime @ 42 NONAME
-	_ZN14CalenMonthView13getCurrentDayEv @ 43 NONAME
-	_ZN14CalenMonthView13launchDayViewEv @ 44 NONAME
-	_ZN14CalenMonthView13monthDataListEv @ 45 NONAME
-	_ZN14CalenMonthView14addWeekNumbersEv @ 46 NONAME
-	_ZN14CalenMonthView14firstDayOfGridEv @ 47 NONAME
-	_ZN14CalenMonthView14rowsInFutMonthEv @ 48 NONAME
-	_ZN14CalenMonthView14setDateToLabelEv @ 49 NONAME
-	_ZN14CalenMonthView15dateFromContextERK13MCalenContext @ 50 NONAME
-	_ZN14CalenMonthView15getInstanceListER5QListI11AgendaEntryE9QDateTimeS4_ @ 51 NONAME
-	_ZN14CalenMonthView15onLocaleChangedEi @ 52 NONAME
-	_ZN14CalenMonthView15rowsInPrevMonthEv @ 53 NONAME
-	_ZN14CalenMonthView16getCurrGridIndexEv @ 54 NONAME
-	_ZN14CalenMonthView16setCurrGridIndexEi @ 55 NONAME
-	_ZN14CalenMonthView16staticMetaObjectE @ 56 NONAME DATA 16
-	_ZN14CalenMonthView17changeOrientationEN2Qt11OrientationE @ 57 NONAME
-	_ZN14CalenMonthView17populateNextMonthEv @ 58 NONAME
-	_ZN14CalenMonthView17populatePrevMonthEv @ 59 NONAME
-	_ZN14CalenMonthView17removeWeekNumbersEv @ 60 NONAME
-	_ZN14CalenMonthView18addBackgroundFrameEv @ 61 NONAME
-	_ZN14CalenMonthView18completePopulationEv @ 62 NONAME
-	_ZN14CalenMonthView19getStaticMetaObjectEv @ 63 NONAME
-	_ZN14CalenMonthView19populatePreviewPaneER9QDateTime @ 64 NONAME
-	_ZN14CalenMonthView20prepareForPopulationEv @ 65 NONAME
-	_ZN14CalenMonthView21refreshViewOnGoToDateEv @ 66 NONAME
-	_ZN14CalenMonthView22setContextForActiveDayEi @ 67 NONAME
-	_ZN14CalenMonthView22updateWeekNumGridModelEv @ 68 NONAME
-	_ZN14CalenMonthView23handleChangeOrientationEv @ 69 NONAME
-	_ZN14CalenMonthView23handleGridItemActivatedEv @ 70 NONAME
-	_ZN14CalenMonthView24handlePreviewPaneGestureEb @ 71 NONAME
-	_ZN14CalenMonthView24populateWithInstanceViewEv @ 72 NONAME
-	_ZN14CalenMonthView24updateModelWithPrevMonthEv @ 73 NONAME
-	_ZN14CalenMonthView25handleGridItemLongPressedEiR7QPointF @ 74 NONAME
-	_ZN14CalenMonthView25handleLeftEffectCompletedERKN8HbEffect12EffectStatusE @ 75 NONAME
-	_ZN14CalenMonthView26handleRightEffectCompletedERKN8HbEffect12EffectStatusE @ 76 NONAME
-	_ZN14CalenMonthView26updateModelWithFutureMonthEv @ 77 NONAME
-	_ZN14CalenMonthView35updateMonthDataArrayWithActiveDatesEv @ 78 NONAME
-	_ZN14CalenMonthView7setDateEv @ 79 NONAME
-	_ZN14CalenMonthView9goToTodayEv @ 80 NONAME
-	_ZN14CalenMonthView9setupViewEP14CalenDocLoader @ 81 NONAME
-	_ZN14CalenMonthViewC1ER14MCalenServices @ 82 NONAME
-	_ZN14CalenMonthViewC2ER14MCalenServices @ 83 NONAME
-	_ZN14CalenMonthViewD0Ev @ 84 NONAME
-	_ZN14CalenMonthViewD1Ev @ 85 NONAME
-	_ZN14CalenMonthViewD2Ev @ 86 NONAME
-	_ZN16CalenPreviewPane11qt_metacallEN11QMetaObject4CallEiPPv @ 87 NONAME
-	_ZN16CalenPreviewPane11qt_metacastEPKc @ 88 NONAME
-	_ZN16CalenPreviewPane13populateLabelE9QDateTime @ 89 NONAME
-	_ZN16CalenPreviewPane13stopScrollingEv @ 90 NONAME
-	_ZN16CalenPreviewPane15mousePressEventEP24QGraphicsSceneMouseEvent @ 91 NONAME
-	_ZN16CalenPreviewPane15startAutoScrollEv @ 92 NONAME
-	_ZN16CalenPreviewPane16GetInstanceListLEv @ 93 NONAME
-	_ZN16CalenPreviewPane16staticMetaObjectE @ 94 NONAME DATA 16
-	_ZN16CalenPreviewPane17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 95 NONAME
-	_ZN16CalenPreviewPane17scrollingFinishedEv @ 96 NONAME
-	_ZN16CalenPreviewPane17setNoEntriesLabelEP7HbLabel @ 97 NONAME
-	_ZN16CalenPreviewPane19getStaticMetaObjectEv @ 98 NONAME
-	_ZN16CalenPreviewPane19onTwoSecondsTimeoutEv @ 99 NONAME
-	_ZN16CalenPreviewPane4DateEv @ 100 NONAME
-	_ZN16CalenPreviewPane7setViewEP14CalenMonthView @ 101 NONAME
-	_ZN16CalenPreviewPaneC1ER14MCalenServicesP13QGraphicsItem @ 102 NONAME
-	_ZN16CalenPreviewPaneC2ER14MCalenServicesP13QGraphicsItem @ 103 NONAME
-	_ZN16CalenPreviewPaneD0Ev @ 104 NONAME
-	_ZN16CalenPreviewPaneD1Ev @ 105 NONAME
-	_ZN16CalenPreviewPaneD2Ev @ 106 NONAME
-	_ZN17CalenSettingsView11qt_metacallEN11QMetaObject4CallEiPPv @ 107 NONAME
-	_ZN17CalenSettingsView11qt_metacastEPKc @ 108 NONAME
-	_ZN17CalenSettingsView14initializeFormEv @ 109 NONAME
-	_ZN17CalenSettingsView16staticMetaObjectE @ 110 NONAME DATA 16
-	_ZN17CalenSettingsView18launchPreviousViewEv @ 111 NONAME
-	_ZN17CalenSettingsView19getStaticMetaObjectEv @ 112 NONAME
-	_ZN17CalenSettingsViewC1ER14MCalenServicesP13QGraphicsItem @ 113 NONAME
-	_ZN17CalenSettingsViewC2ER14MCalenServicesP13QGraphicsItem @ 114 NONAME
-	_ZN17CalenSettingsViewD0Ev @ 115 NONAME
-	_ZN17CalenSettingsViewD1Ev @ 116 NONAME
-	_ZN17CalenSettingsViewD2Ev @ 117 NONAME
-	_ZN18CalenDayViewWidgetC1ER14MCalenServicesP14CalenDocLoader @ 118 NONAME
-	_ZN18CalenDayViewWidgetC2ER14MCalenServicesP14CalenDocLoader @ 119 NONAME
-	_ZN18CalenDayViewWidgetD0Ev @ 120 NONAME
-	_ZN18CalenDayViewWidgetD1Ev @ 121 NONAME
-	_ZN18CalenDayViewWidgetD2Ev @ 122 NONAME
-	_ZN21CalenThickLinesDrawer11qt_metacallEN11QMetaObject4CallEiPPv @ 123 NONAME
-	_ZN21CalenThickLinesDrawer11qt_metacastEPKc @ 124 NONAME
-	_ZN21CalenThickLinesDrawer16staticMetaObjectE @ 125 NONAME DATA 16
-	_ZN21CalenThickLinesDrawer19getStaticMetaObjectEv @ 126 NONAME
-	_ZN21CalenThickLinesDrawer5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 127 NONAME
-	_ZN21CalenThickLinesDrawerC1EN17CalendarNamespace10WidgetTypeEP13QGraphicsItem @ 128 NONAME
-	_ZN21CalenThickLinesDrawerC2EN17CalendarNamespace10WidgetTypeEP13QGraphicsItem @ 129 NONAME
-	_ZN21CalenThickLinesDrawerD0Ev @ 130 NONAME
-	_ZN21CalenThickLinesDrawerD1Ev @ 131 NONAME
-	_ZN21CalenThickLinesDrawerD2Ev @ 132 NONAME
-	_ZNK14CalenMonthGrid10metaObjectEv @ 133 NONAME
-	_ZNK14CalenMonthView10metaObjectEv @ 134 NONAME
-	_ZNK16CalenPreviewPane10metaObjectEv @ 135 NONAME
-	_ZNK17CalenSettingsView10metaObjectEv @ 136 NONAME
-	_ZNK21CalenThickLinesDrawer10metaObjectEv @ 137 NONAME
-	_ZTI14CalenMonthGrid @ 138 NONAME
-	_ZTI14CalenMonthView @ 139 NONAME
-	_ZTI16CalenPreviewPane @ 140 NONAME
-	_ZTI17CalenSettingsView @ 141 NONAME
-	_ZTI21CalenThickLinesDrawer @ 142 NONAME
-	_ZTV14CalenMonthGrid @ 143 NONAME
-	_ZTV14CalenMonthView @ 144 NONAME
-	_ZTV16CalenPreviewPane @ 145 NONAME
-	_ZTV17CalenSettingsView @ 146 NONAME
-	_ZTV21CalenThickLinesDrawer @ 147 NONAME
-	_ZThn16_N12CalenDayViewD0Ev @ 148 NONAME
-	_ZThn16_N12CalenDayViewD1Ev @ 149 NONAME
-	_ZThn16_N14CalenMonthGridD0Ev @ 150 NONAME
-	_ZThn16_N14CalenMonthGridD1Ev @ 151 NONAME
-	_ZThn16_N14CalenMonthViewD0Ev @ 152 NONAME
-	_ZThn16_N14CalenMonthViewD1Ev @ 153 NONAME
-	_ZThn16_N16CalenPreviewPaneD0Ev @ 154 NONAME
-	_ZThn16_N16CalenPreviewPaneD1Ev @ 155 NONAME
-	_ZThn16_N17CalenSettingsViewD0Ev @ 156 NONAME
-	_ZThn16_N17CalenSettingsViewD1Ev @ 157 NONAME
-	_ZThn16_N18CalenDayViewWidgetD0Ev @ 158 NONAME
-	_ZThn16_N18CalenDayViewWidgetD1Ev @ 159 NONAME
-	_ZThn16_N21CalenThickLinesDrawerD0Ev @ 160 NONAME
-	_ZThn16_N21CalenThickLinesDrawerD1Ev @ 161 NONAME
-	_ZThn28_N12CalenDayView18HandleNotificationE18TCalenNotification @ 162 NONAME
-	_ZThn8_N12CalenDayViewD0Ev @ 163 NONAME
-	_ZThn8_N12CalenDayViewD1Ev @ 164 NONAME
-	_ZThn8_N14CalenMonthGrid15mousePressEventEP24QGraphicsSceneMouseEvent @ 165 NONAME
-	_ZThn8_N14CalenMonthGrid17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 166 NONAME
-	_ZThn8_N14CalenMonthGridD0Ev @ 167 NONAME
-	_ZThn8_N14CalenMonthGridD1Ev @ 168 NONAME
-	_ZThn8_N14CalenMonthViewD0Ev @ 169 NONAME
-	_ZThn8_N14CalenMonthViewD1Ev @ 170 NONAME
-	_ZThn8_N16CalenPreviewPane15mousePressEventEP24QGraphicsSceneMouseEvent @ 171 NONAME
-	_ZThn8_N16CalenPreviewPane17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 172 NONAME
-	_ZThn8_N16CalenPreviewPaneD0Ev @ 173 NONAME
-	_ZThn8_N16CalenPreviewPaneD1Ev @ 174 NONAME
-	_ZThn8_N17CalenSettingsViewD0Ev @ 175 NONAME
-	_ZThn8_N17CalenSettingsViewD1Ev @ 176 NONAME
-	_ZThn8_N18CalenDayViewWidgetD0Ev @ 177 NONAME
-	_ZThn8_N18CalenDayViewWidgetD1Ev @ 178 NONAME
-	_ZThn8_N21CalenThickLinesDrawer5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 179 NONAME
-	_ZThn8_N21CalenThickLinesDrawerD0Ev @ 180 NONAME
-	_ZThn8_N21CalenThickLinesDrawerD1Ev @ 181 NONAME
-	_ZN14CalenMonthGrid5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 182 NONAME
-	_ZN14CalenMonthView27showHideRegionalInformationEv @ 183 NONAME
-	_ZThn8_N14CalenMonthGrid5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 184 NONAME
-	_ZN16CalenPreviewPane14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 185 NONAME
-	_ZThn8_N16CalenPreviewPane14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 186 NONAME
-	_ZN14CalenMonthView22addRemoveActionsInMenuEv @ 187 NONAME
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/globaldata/bwins/calenglobaldatau.def	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/globaldata/inc/calencontext.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/globaldata/inc/calencontextimpl.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/globaldata/src/calencontextimpl.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/inc/CalenConstants.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/inc/CalenUid.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/inc/CalendarPrivateCRKeys.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/inc/calenagendautils.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/inc/calencommandhandler.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/inc/calencommon.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/inc/calendateutils.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/inc/hb_calencommands.hrh	Mon Jun 28 15:22:02 2010 +0530
@@ -38,8 +38,8 @@
     {
     ECalenMonthView                             = ECalenViewCommandBase,
     ECalenWeekView,
+    ECalenAgendaView,
     ECalenDayView,
-    ECalenLandscapeDayView,
     ECalenTodoEditor,
     ECalenTodoEditorDone,
     ECalenForwardsToDayView,
--- a/calendarui/loc/calendar.loc	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/regionalplugins/calenregionalutil/eabi/calenregionalutilu.def	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/regionalplugins/calenregionalutil/inc/calenlunarlocalizer.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/regionalplugins/calenregionalutil/src/calenextrarowformatter.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/regionalplugins/calenregionalutil/src/calenlunarinfo.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/regionalplugins/calenregionalutil/src/calenlunarlocalizer.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/regionalplugins/calenregionalutil/src/calensolarterms.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	_Z24ImplementationGroupProxyRi @ 1 NONAME
-
--- a/calendarui/regionalplugins/inc/CalenLunarPaths.h	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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 );
-    
-    IMPORT_C const TDesC& Festival() { return iFestival; }
-    IMPORT_C const TDesC& SolarTerm() { return iSolarTerm; }
-    IMPORT_C const TDesC& FullLunarDate() { return iFullLunarDate; }
-    IMPORT_C const TDesC& LunarYear() { return iLunarYear; }    
-    IMPORT_C const TDesC& LunarMonthAndDay() { return iLunarMonthAndDay; }    
-    IMPORT_C const TDesC& AnimalYear() { return iAnimalYear; }    
-    IMPORT_C 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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/regionalplugins/lunarVietnamese/src/calenlunarvietnameseplugin.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/regionalplugins/lunarchinese/data/2002EA3C.rss	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,3 @@
+EXPORTS
+	_Z24ImplementationGroupProxyRi @ 1 NONAME
+
--- a/calendarui/regionalplugins/lunarchinese/inc/CalenLunarChinesePlugin.h	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/regionalplugins/lunarchinese/inc/CalenLunarChinesePlugin.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/regionalplugins/lunarchinese/lunarchinese.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/regionalplugins/lunarchinese/src/CalenLunarChinesePlugin.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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,87 +302,75 @@
 // -----------------------------------------------------------------------------
 //	
 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);
+	popup->setTimeout(HbDialog::NoTimeout);
+	popup->setIconVisible(false);
+	popup->setAttribute( Qt::WA_DeleteOnClose, true );
 	
-    // Instantiate a popup
-	HbMessageBox popup;
-	popup.setDismissPolicy(HbDialog::NoDismiss);
-	popup.setTimeout(HbDialog::NoTimeout);
-	popup.setIconVisible(false);
+	popup->setHeadingWidget(new HbLabel(hbTrId("txt_calendar_title_lunar_calendar")));
+	popup->setText(aMsgText);
+	
+	// Remove the default actions
+	QList<QAction*> list = popup->actions();
+	for(int i=0; i < list.count(); i++)
+	{
+		popup->removeAction(list[i]);
+	}
+	// Sets the primary action
+	popup->addAction(new HbAction(hbTrId("txt_calendar_button_close"), popup));
 
-    popup.setHeadingWidget(new HbLabel("Lunar Calendar"));
-    popup.setText(text);
-    
-    // Sets the primary action
-    popup.setPrimaryAction(new HbAction(hbTrId("txt_calendar_button_cancel"),
-                                        &popup));
-
-    // Launch popup syncronously
-    popup.exec();
+	// Launch popup
+	popup->open();
    	TRACE_EXIT_POINT;
 	}
-
 //EOF
 
 
--- a/calendarui/regionalplugins/regionalplugins.pro	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/regionalplugins/regionalplugins.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ /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:   IBY file for non-localizable elements of Calendar.app
-*
-*/
-
-
-
-#ifndef CALENDAR_IBY
-#define CALENDAR_IBY
-
-
-S60_APP_EXE( calendar )
-
-
-// Backup registration file
-data = ZPRIVATE\10005901\backup_registration.xml  PRIVATE\10005901\backup_registration.xml
-
-
-
-// Application registration file.
-data=DATAZ_\private\10003a3f\import\apps\CALENDAR_REG.RSC		\private\10003a3f\import\apps\CALENDAR_REG.RSC
-data=\epoc32\data\c\resource\qt\plugins\controlpanel\calensettingsplugin.qtplugin             resource\qt\plugins\controlpanel\calensettingsplugin.qtplugin
-data=\epoc32\data\z\pluginstub\calengriditemstyleplugin.qtplugin   \private\10005901\calengriditemstyleplugin.qtplugin
-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
-
-file=ABI_DIR\BUILD_DIR\calencommonutils.dll SHARED_LIB_DIR\calencommonutils.dll
-file=ABI_DIR\BUILD_DIR\calenglobaldata.dll SHARED_LIB_DIR\calenglobaldata.dll
-file=ABI_DIR\BUILD_DIR\calencustomisationmanager.dll SHARED_LIB_DIR\calencustomisationmanager.dll
-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\calensettingsplugin.dll SHARED_LIB_DIR\calensettingsplugin.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
-file=ABI_DIR\BUILD_DIR\agendaeventviewerplugin.dll SHARED_LIB_DIR\agendaeventviewerplugin.dll 
-
-#endif // CALENDAR_IBY
-
-//  End of File
--- a/calendarui/rom/CalendarResources.iby	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +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:   IBY file for localizable elements of Calendar.app
-*
-*/
-
-
-
-#ifndef CALENDARRESOURCE_IBY
-#define CALENDARRESOURCE_IBY
-#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
-
-#endif // CALENDARRESOURCE_IBY
-
-//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/rom/calendar.iby	Mon Jun 28 15:22:02 2010 +0530
@@ -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:   IBY file for non-localizable elements of Calendar.app
+*
+*/
+
+
+
+#ifndef CALENDAR_IBY
+#define CALENDAR_IBY
+
+
+S60_APP_EXE( calendar )
+
+
+// Backup registration file
+data = ZPRIVATE\10005901\backup_registration.xml  PRIVATE\10005901\backup_registration.xml
+
+
+
+// Application registration file.
+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
+
+file=ABI_DIR\BUILD_DIR\calencommonutils.dll SHARED_LIB_DIR\calencommonutils.dll
+file=ABI_DIR\BUILD_DIR\calenglobaldata.dll SHARED_LIB_DIR\calenglobaldata.dll
+file=ABI_DIR\BUILD_DIR\calencustomisationmanager.dll SHARED_LIB_DIR\calencustomisationmanager.dll
+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\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
+file=ABI_DIR\BUILD_DIR\agendaeventviewerplugin.dll SHARED_LIB_DIR\agendaeventviewerplugin.dll 
+
+#endif // CALENDAR_IBY
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/rom/calendarresources.iby	Mon Jun 28 15:22:02 2010 +0530
@@ -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 iby file for calendar resources
+*
+*/
+
+
+
+#ifndef CALENDARRESOURCE_IBY
+#define CALENDARRESOURCE_IBY
+#include <data_caging_paths_for_iby.hrh>
+
+// Application resource file.
+S60_APP_RESOURCE(calendar)
+data=DATAZ_/QT_TRANSLATIONS_DIR/calendar.qm			QT_TRANSLATIONS_DIR/calendar.qm
+
+#endif // CALENDARRESOURCE_IBY
+
+//  End of File
--- a/calendarui/rom/calenlunarchinese_variant.iby	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/rom/calenlunarchinese_variant.iby	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/rom/calenregionalutil.iby	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/settings/inc/calensettings.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/settings/settings.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -19,9 +19,10 @@
 CONFIG += hb
 DEPENDPATH += . \
               ../../inc
+			  
 INCLUDEPATH += . \
                ../../inc \
-               ../cenrep
+	       ../inc
 
 DEFINES += CALENSETTINGS_DLL
 
--- a/calendarui/settings/src/calensettings.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/settings/src/calensettings.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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
+	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
+	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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,72 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,72 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Single day item view model
+*
+*/
+
+#ifndef CALENDAYMODEL_H
+#define CALENDAYMODEL_H
+
+//System includes
+#include <QAbstractItemModel>
+#include <QVariant>
+#include <QDateTime>
+
+#include <agendaentry.h>
+
+//User includes
+
+//Forward declarations
+class MCalenServices;
+
+//Constantss
+const int CalenDayEntry = Qt::UserRole + 1; 
+
+Q_DECLARE_METATYPE(AgendaEntry)
+class CalenDayModel : public QAbstractListModel
+{
+    Q_OBJECT
+public:
+	CalenDayModel(const QDateTime &date, MCalenServices &services,
+						QObject *parent = 0)
+	{
+        Q_UNUSED(date)
+        Q_UNUSED(parent)
+        Q_UNUSED(date)
+	};
+	
+    // from QAbstractListModel
+	int rowCount(const QModelIndex &parent = QModelIndex()) const
+	{
+	    return 0;
+	}
+    QVariant data(const QModelIndex &index, int role) const
+    {
+        Q_UNUSED(index)
+        Q_UNUSED(role)
+        return QVariant();
+    }
+    
+	void refreshModel(const QDateTime &date) 
+	{
+	    Q_UNUSED(date)
+	};
+	
+	QDateTime modelDate() const
+	    {return QDateTime();}
+
+};
+
+#endif //CALENDAYMODEL_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/dayview/tsrc/unittests/unittest_calendayitemview/calenservices.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,170 +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 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	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,328 +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 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();
-    
-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();
-
-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;
-};
-
-#endif //CALENDAYVIEWWIDGET_H
-
-// End of file	--Don't remove this.
--- a/calendarui/views/inc/caleneventlistviewitem.h	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/inc/caleneventlistviewitem.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/inc/calengriditemprototype.h	Mon Jun 28 15:22:02 2010 +0530
@@ -28,13 +28,19 @@
 class HbIconItem;
 class HbTextItem;
 class HbFrameItem;
-class CalenGridItem;
+class CalenTodayIndicatorLineDrawer;
+
+// CONSTANTS
+const QString focusIconName = "qtg_fr_cal_focused_day_ind";
+const QString eventIndname = "qtg_graf_cal_event_ind";
 
 class CalenGridItemPrototype : public HbGridViewItem
 {
 	Q_OBJECT
 
 public:
+	CalenGridItemPrototype(QColor todayIndColor, QColor activeColor, QColor inActiveColor, 
+	                       QGraphicsWidget *parent = 0);
 	CalenGridItemPrototype(QGraphicsWidget *parent = 0);
 	virtual ~CalenGridItemPrototype()
 	{
@@ -46,19 +52,18 @@
 	void pressStateChanged(bool pressed,bool animate);
 	void pressStateChanged(bool  animate);
 	bool canSetModelIndex(const QModelIndex& index);
+	void createPrimitives();
 
 private:
-	void drawUnderline(bool underlineEnabled);
-private:
-	QGraphicsLinearLayout *mLayout;
-	CalenGridItem *mWidget;
+	QColor mTodayUnderLineColor;
+	QColor mActiveTextColor;
+	QColor mInActiveTextColor;
 	QColor mCurrentDateColor;
 	QColor mGridBorderColor;
 	HbIconItem *mEventIndicatorItem;
 	HbTextItem *mMonthDayInfoItem;
 	HbFrameItem *mFocusIndicatorItem;
-	HbIconItem *mTodayIndicatorItem;
-	QColor mTodayUnderLineColor;
+	CalenTodayIndicatorLineDrawer *mTodayIndicatorItem;
 };
 
 #endif // CALENGRIDITEMPROTOTYPE_H
--- a/calendarui/views/inc/calenmonthgrid.h	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/inc/calenmonthgrid.h	Mon Jun 28 15:22:02 2010 +0530
@@ -56,19 +56,30 @@
 	~CalenMonthGrid();
 	void setView(CalenMonthView *view);
 	void updateMonthGridModel(QList<CalenMonthData> &monthDataArray,
-                                int indexToBeScrolled);
+                                int indexToBeScrolled, bool isFirstTime);
+	void updateMonthGridWithInActiveMonths(
+										QList<CalenMonthData> &monthDataArray);
+	void updateMonthGridWithEventIndicators(
+										QList<CalenMonthData> &monthDataArray);
 	void setCurrentIdex(int index);
 	int getCurrentIndex();
 
 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();
 	void mousePressEvent(QGraphicsSceneMouseEvent* event);
 	void mouseReleaseEvent(QGraphicsSceneMouseEvent* event);
 	void setFocusToProperDay();
 	void setActiveDates(QDate activeDate);
-	void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget);
+	void paint(QPainter* painter, 
+	           const QStyleOptionGraphicsItem* option, QWidget* widget);
 	
 public slots:
 	void scrollingFinished();
@@ -76,12 +87,6 @@
 	void appendRows();
 	void itemActivated(const QModelIndex &index);
 
-protected slots:
-	void downGesture(int value);
-	void upGesture(int value);
-	void panGesture(const QPointF &delta);
-	void timerExpired();
-
 private:
 	QStandardItemModel *mModel;
 	QList<CalenMonthData> mMonthDataArray;
@@ -97,6 +102,8 @@
 	QColor mGridLineColor;
 	QColor mGridBorderColor;
 	QGraphicsWidget* mContentWidget;
+	QList<QString> mLocalisedDates;
+	QPointF mStartPos;
 };
 
 #endif // CALENMONTHGRID_H
--- a/calendarui/views/inc/calenmonthview.h	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/inc/calenmonthview.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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
@@ -66,8 +66,8 @@
 public:  // From CCalenView
 	virtual void doPopulation();
 	void setupView(CalenDocLoader *docLoader);
+	void doLazyLoading();
 	void handleGridItemActivated();
-	void handleGridItemLongPressed(int index, QPointF &coords);
 	void setContextForActiveDay(int index);
 	QDateTime getCurrentDay();
 	QDateTime getActiveDay();
@@ -84,6 +84,8 @@
 	void populatePreviewPane(QDateTime &dateTime);
 	void handlePreviewPaneGesture(bool rightGesture);
 	QDateTime firstDayOfGrid();
+	void fetchEntriesAndUpdateModel();
+	void launchDayView();
 	
 private:
 	void createGrid();
@@ -93,8 +95,8 @@
 	QDateTime dateFromContext( const MCalenContext &context );
 	void setActiveDay(QDateTime day);
 	void setDate();
-	void getInstanceList(QList<AgendaEntry> &list,
-						QDateTime rangeStart, QDateTime rangeEnd);
+	void getInstanceList(QList<QDate> &list,
+                         QDateTime rangeStart, QDateTime rangeEnd);
 	void handleChangeOrientation();
 	void setDateToLabel();
 	void updateWeekNumGridModel();
@@ -104,6 +106,7 @@
 	void refreshViewOnGoToDate();
 	void showHideRegionalInformation();
 	void onContextChanged();
+	void updateDayLabel();
 	
 private slots:
 	void createEditor();
@@ -112,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:
@@ -173,6 +173,8 @@
 	CalenPluginLabel *mCurrRegionalInfo;
 	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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/inc/calennativeview.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/inc/calenpluginlabel.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/inc/calenpreviewpane.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/inc/calensettingsview.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/resources/caleneventlistviewitem.css	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/resources/caleneventlistviewitem.widgetml	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/resources/calengriditemprototype.css	Mon Jun 28 15:22:02 2010 +0530
@@ -36,5 +36,4 @@
 	left: -0.75un;
 	right: 0.75un;
 	fixed-height: 0.75un;
-	background-color: red;
 }
--- a/calendarui/views/resources/calenresources.qrc	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/resources/calenresources.qrc	Mon Jun 28 15:22:02 2010 +0530
@@ -4,12 +4,15 @@
 		<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>
     <qresource prefix="/fxml">
     	<file alias="view_show">view_show_normal.fxml</file>
 	<file alias="view_hide">view_hide_normal.fxml</file>
+	<file alias="view_hide_back">view_hide_back.fxml</file>
+	<file alias="view_show_back">view_show_back.fxml</file>
 	<file alias="portrait_preview_pane_show_on_left_gesture">portrait_preview_pane_show_on_left_gesture_normal.fxml</file>
 	<file alias="portrait_preview_pane_hide_on_left_gesture">portrait_preview_pane_hide_on_left_gesture_normal.fxml</file>
 	<file alias="portrait_preview_pane_show_on_right_gesture">portrait_preview_pane_show_on_right_gesture_normal.fxml</file>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/resources/view_hide_back.fxml	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,10 @@
+<layers>
+<visual>
+    <param name="translation_x" type="anim">
+        <duration>0.35</duration>
+        <style>outquad</style>
+        <start>extrect.right</start>
+        <end ref="screen.width">1</end>
+    </param>
+</visual>
+</layers>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/resources/view_show_back.fxml	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,10 @@
+<layers>
+<visual>
+    <param name="translation_x" type="anim">
+        <duration>0.35</duration>
+        <style>outquad</style>
+        <start ref="screen.width">-1</start>
+        <end>extrect.left</end>
+    </param>
+</visual>
+</layers>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/views/src/calenagendaview.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,311 +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::BackAction);
-		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);
-}
-
-// End of file	--Don't remove this.
--- a/calendarui/views/src/calendayviewwidget.cpp	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1054 +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)
-{
-    // 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)
-{
-    // 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"));
-    connect(openAction, SIGNAL(triggered()), this, SLOT(viewEntry()));
-    
-    // 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"));
-        connect(completeAction, SIGNAL(triggered()), this, SLOT(markAsDone()));
-    }
-    
-    // Add the edit option
-    HbAction *editAction = contextMenu->addAction(hbTrId("txt_common_menu_edit"));
-    connect(editAction, SIGNAL(triggered()), this, SLOT(editEntry()));
-    
-    // Add the delete option
-    HbAction *deleteAction = contextMenu->addAction(hbTrId("txt_common_menu_delete"));
-    connect(deleteAction, SIGNAL(triggered()), this, SLOT(deleteEntry()));
-    
-    contextMenu->setDismissPolicy(HbMenu::TapAnywhere);
-
-    // Show context sensitive menu. 
-    // Param const QPointF& coordinate - is a longpress position.
-    contextMenu->exec(coords);
-}
-
-// ----------------------------------------------------------------------------
-// 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;
-    }
-    
-    // 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();
-}
-
-// End of file	--Don't remove this.
--- a/calendarui/views/src/caleneventlistviewitem.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/src/caleneventlistviewitem.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/src/calengriditemprototype.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -16,7 +16,6 @@
  */
 
 // System includes
-#include <QDebug>
 #include <QPainter>
 #include <QPen>
 #include <QGraphicsWidget>
@@ -32,8 +31,8 @@
 // User includes
 #include "calengriditemprototype.h"
 #include "calencommon.h"
+#include "calentodayindicatorlinedrawer.h"
 
-#define GRIDLINE_WIDTH 0.075 //units
 /*!
  \class CalenGridItemPrototype
 
@@ -43,19 +42,55 @@
 /*!
  Constructor.
  */
-CalenGridItemPrototype::CalenGridItemPrototype(QGraphicsWidget *parent) :
+CalenGridItemPrototype::CalenGridItemPrototype(QColor todayIndColor, QColor activeColor, QColor inActiveColor,
+                                               QGraphicsWidget *parent) :
 	HbGridViewItem(parent),
-	mLayout(0),
+	mTodayUnderLineColor(todayIndColor),
+	mActiveTextColor(activeColor),
+	mInActiveTextColor(inActiveColor),
 	mCurrentDateColor(Qt::black),
 	mGridBorderColor(Qt::gray),
 	mEventIndicatorItem(0),
 	mMonthDayInfoItem(0),
 	mFocusIndicatorItem(0),
-	mTodayIndicatorItem(0),
-	mTodayUnderLineColor(Qt::gray)
+	mTodayIndicatorItem(0)
 	{
-	mTodayUnderLineColor = HbColorScheme::color("qtc_cal_month_current_day");
+	}
+
+/*!
+	Constructs all the primitives
+*/
+void CalenGridItemPrototype::createPrimitives()
+{
+	if (!mMonthDayInfoItem) {
+		mMonthDayInfoItem = new HbTextItem(this);
+		HbStyle::setItemName(mMonthDayInfoItem,
+				 QLatin1String("monthDayInfoTextItem"));
+		mMonthDayInfoItem->setElideMode(Qt::ElideNone);
 	}
+		
+	if (!mFocusIndicatorItem) {
+		mFocusIndicatorItem = new HbFrameItem(this);
+		mFocusIndicatorItem->frameDrawer().setFrameType(
+				HbFrameDrawer::NinePieces);
+		mFocusIndicatorItem->setZValue(-1);
+		HbStyle::setItemName(
+				mFocusIndicatorItem, QLatin1String("focusIconItem"));
+	}
+	
+	if (!mEventIndicatorItem) {
+		mEventIndicatorItem = new HbIconItem(this);
+		HbStyle::setItemName(
+				mEventIndicatorItem, QLatin1String("eventIconItem"));
+	}
+	
+	if (!mTodayIndicatorItem) {
+		mTodayIndicatorItem = new CalenTodayIndicatorLineDrawer(this);
+		HbStyle::setItemName(
+				mTodayIndicatorItem, QLatin1String("todayIndicatorItem"));
+	}
+
+}
 
 /*!
  From HbAbstractViewItem.
@@ -65,7 +100,16 @@
  */
 HbAbstractViewItem *CalenGridItemPrototype::createItem()
 {
-	return new CalenGridItemPrototype(*this);
+	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;
 }
 
 /*!
@@ -74,101 +118,70 @@
  \sa HbAbstractViewItem, HbGridViewItem
  */
 void CalenGridItemPrototype::updateChildItems()
-{
-	
-	// base class implementation
-	HbGridViewItem::updateChildItems();
-		
+{		
 	// Here update content of each item.
 	QVariant monthDayRole;
-	QVariant monthFocusRole;
+	bool monthFocusRole;
 	bool underlineEnabled = false;
-	QVariant monthEventRole;
-	QVariant monthTextColorRole;
+	bool monthEventRole;
+	bool monthTextColorRole;
 	QVariant itemData = modelIndex().data(Qt::UserRole + 1);
 	if (itemData.isValid()) {
 		if (itemData.canConvert<QVariantList>()) {
+		
 			// Get the item list
 			QVariantList itemList = itemData.toList();
 			// Get the day text
 			monthDayRole = itemList.at(CalendarNamespace::CalendarMonthDayRole);
 			if (monthDayRole.canConvert<QString>()) {
-				QString monthDayText = monthDayRole.toString();
-
-				if (!mMonthDayInfoItem) {
-					mMonthDayInfoItem = new HbTextItem(this);
-					HbStyle::setItemName(mMonthDayInfoItem,
-							 QLatin1String("monthDayInfoTextItem"));
-
-				}
-
-				mMonthDayInfoItem->setText(monthDayText);
-				mMonthDayInfoItem->setElideMode(Qt::ElideNone);
+				mMonthDayInfoItem->setText(monthDayRole.toString());
 			}
 			
 			// Get the focus data
-			monthFocusRole = itemList.at(CalendarNamespace::CalendarMonthFocusRole);
-			if (monthFocusRole.canConvert<QString>()) {
-				QString focusIconPath = monthFocusRole.toString();
-				if (!mFocusIndicatorItem) {
-					mFocusIndicatorItem = new HbFrameItem(this);
-					mFocusIndicatorItem->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
-					mFocusIndicatorItem->setZValue(-1);
-					HbStyle::setItemName(mFocusIndicatorItem, QLatin1String("focusIconItem"));
-				}
-				mFocusIndicatorItem->frameDrawer().setFrameGraphicsName(focusIconPath);
+			monthFocusRole = itemList.at(CalendarNamespace::CalendarMonthFocusRole).value<bool>();
+			if (monthFocusRole) {
+				mFocusIndicatorItem->frameDrawer().setFrameGraphicsName(focusIconName);
+			} else {
+				mFocusIndicatorItem->frameDrawer().setFrameGraphicsName(QString(""));
 			}
 			
 			// 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);
-			if (monthEventRole.canConvert<QString>()) {
-				QString eventIconPath = monthEventRole.toString();
-				if (!mEventIndicatorItem) {
-					mEventIndicatorItem = new HbIconItem(this);
-					HbStyle::setItemName(mEventIndicatorItem, QLatin1String("eventIconItem"));
-				}
-				mEventIndicatorItem->setIconName(eventIconPath);
+			monthEventRole = itemList.at(CalendarNamespace::CalendarMonthEventRole).value<bool>();
+			if (monthEventRole) {
+				// Set the event indicator
+				//QString iconName(focusIconName);
+				mEventIndicatorItem->setIconName(eventIndname);
+			} else {
+				mEventIndicatorItem->setIconName(QString(""));
 			}
 			
 			// Get the text color
-			monthTextColorRole = itemList.at(CalendarNamespace::CalendarMonthTextColorRole);
-			if (monthTextColorRole.canConvert<QColor>()) {
-				QColor monthTextColor = monthTextColorRole.value<QColor>();
-				mMonthDayInfoItem->setTextColor(monthTextColor);
+			monthTextColorRole = itemList.at(CalendarNamespace::CalendarMonthTextColorRole).value<bool>();
+			if (monthTextColorRole) {
+				// Set the active text color
+				mMonthDayInfoItem->setTextColor(mActiveTextColor);
+			} else {
+				// Set the inactive text color
+				mMonthDayInfoItem->setTextColor(mInActiveTextColor);
 			}
 		}
 	}
 	
+	// base class implementation
+	HbGridViewItem::updateChildItems();
 }
 
 /*!
- 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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/src/calenmonthgrid.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -16,14 +16,13 @@
  */
 
 // System includes
-#include <qtimer.h>
-#include <hbmenu.h>
-#include <hbaction.h>
-#include <hbmainwindow.h>
 #include <hbgridview.h>
 #include <hbabstractviewitem.h>
 #include <hbstyleloader.h>
 #include <hbcolorscheme.h>
+#include <hbpangesture.h>
+#include <hbswipegesture.h>
+#include <hbdeviceprofile.h>
 
 // User includes
 #include "calenmonthgrid.h"
@@ -32,10 +31,13 @@
 #include "calenmonthview.h"
 #include "calendateutils.h"
 #include "calencommon.h"
+#include "calenconstants.h"
 
 // Constants
-#define SCROLL_SPEEED 1000 
+#define SCROLL_SPEEED 3000 
 #define GRIDLINE_WIDTH 0.075 //units
+#define MAX_PAN_DIRECTION_THRESHOLD 50
+#define MIN_PAN_DIRECTION_THRESHOLD 20
 
 /*!
  \class CalenMonthGrid
@@ -53,7 +55,7 @@
 	mIsPanGesture(false),
 	mIsAtomicScroll(true),
 	mView(NULL),
-	mCurrentRow(0),
+	mCurrentRow(-100),
 	mIsNonActiveDayFocused(false),
 	mIgnoreItemActivated(false),
 	mGridBorderColor(Qt::gray)
@@ -66,33 +68,30 @@
 	setSelectionMode(HbGridView::NoSelection);
 	setUniformItemSizes(true);
 	setVerticalScrollBarPolicy(HbScrollArea::ScrollBarAlwaysOff);
-	setClampingStyle(HbScrollArea::StrictClamping );
+	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
 	mContentWidget = contentWidget();
 	
-	// Get the color of the grid lines
+	// Get the all required colors 
+	// Color of the grid lines
 	mGridLineColor = HbColorScheme::color("qtc_cal_grid_line");
 	
-	// Create the prototype
-	CalenGridItemPrototype* gridItemPrototype = new CalenGridItemPrototype(this);
-	// Create the model
-	mModel = new QStandardItemModel(14*KCalenDaysInWeek, 1, this);
-	// Set the mode and the prototype
-	setModel(mModel,gridItemPrototype);
+	// Get the localised dates well before
+	// TODO: Need to update the mLocalisedDates when user changes the
+	// phone language keeping calendar application in background
+	HbExtendedLocale locale = HbExtendedLocale::system();
+	for (int i = 1; i <= 31; i++) {
+		mLocalisedDates.append(locale.toString(i));
+	}
 	
-	// Register the widgetml and css files
-	HbStyleLoader::registerFilePath(":/");
-	
-	// Set the layout name
-	setLayoutName("calendarCustomGridItem");
-	
+	// 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 &)));
 }
 
 /*!
@@ -100,6 +99,7 @@
  */
 CalenMonthGrid::~CalenMonthGrid()
 {
+	// Nothing Yet
 }
 
 /*!
@@ -114,55 +114,66 @@
  Updates the model with the proper dates and sets the required user roles
  */
 void CalenMonthGrid::updateMonthGridModel(QList<CalenMonthData> &monthDataArray,
-                        int indexToBeScrolled)
+                        int indexToBeScrolled, bool isFirstTime)
 {
-	// Check the counts
-	int dataCount = monthDataArray.count();
-	int rowCount = mModel->rowCount();
-	int countDiff = dataCount - rowCount;
-	if (countDiff < 0) {
-		// Delete extra rows in the model
-		mModel->removeRows(dataCount,abs(countDiff));
-	} else if (countDiff > 0) {
-		// Add the necessary number of rows
-		mModel->insertRows(rowCount,countDiff);
+	int loopStart = 0;
+	int loopEnd = monthDataArray.count();
+	if (isFirstTime) {
+		// Create the model with only 42 items as visible to the user
+		mModel = new QStandardItemModel(KCalenDaysInWeek * KNumOfVisibleRows, 
+		                                1, this);
+		loopStart = (mView->rowsInPrevMonth()) * KCalenDaysInWeek;
+		loopEnd = loopStart + (KCalenDaysInWeek * KNumOfVisibleRows);
+	} else {
+		// Block the signals generated by model, this is being done as
+		// we want to avoid the overload of view listening to signals
+		mModel->blockSignals(true);
+		
+		// Check the counts
+		int dataCount = monthDataArray.count();
+		int rowCount = mModel->rowCount();
+		int countDiff = dataCount - rowCount;
+		if (countDiff < 0) {
+			// Delete extra rows in the model
+			mModel->removeRows(dataCount,abs(countDiff));
+		} else if (countDiff > 0) {
+			// Add the necessary number of rows
+			mModel->insertRows(rowCount,countDiff);
+		}
+		loopEnd = dataCount;
 	}
+	
 	QDateTime currDate = mView->getCurrentDay();
 	QDateTime currDateTime = CalenDateUtils::beginningOfDay(currDate);
 	QDateTime activeDay = mView->getActiveDay();
 	QDateTime activeDateTime = CalenDateUtils::beginningOfDay(activeDay);
 	
 	QModelIndex currentIndex;
-	
-	// Get the default text color to be set
-	QColor textColor = HbColorScheme::color("qtc_cal_month_notactive_dates");
-	HbExtendedLocale locale = HbExtendedLocale::system();
-	for (int i = 0; i < dataCount; i++) {
+	int modelIndex = 0;
+	for (int i = loopStart; i < loopEnd; i++) {
 		QDateTime dateTime = monthDataArray[i].Day();
-		currentIndex = mModel->index(i, 0);
-		// Get the localised string for the day
-		QString date = locale.toString(dateTime.date().day());
+		currentIndex = mModel->index(modelIndex++, 0);
 		
 		// Create the variant list to contain the date to depict a grid item
 		QVariantList itemData;
 		
-		// NOTE: Add the data in the order mentioned in the 
+		// !!!NOTE!!!: Add the data in the order mentioned in the 
 		// CalendarNamespace::DataRole enum. Dont change the order.
-		itemData << date; 
+		itemData << mLocalisedDates.at(dateTime.date().day()-1); 
 		
 		// Check for active day
 		if (activeDateTime == CalenDateUtils::beginningOfDay(dateTime)) {
-			mCurrentRow = currentIndex.row();
-			// Set the focus icon
-			itemData << QString("qtg_fr_cal_focused_day_ind");
+			mCurrentRow = i;
+			// Set the focus attribute to true
+			itemData << true;
 		} else {
 			// reset the highlight
-			itemData << QString("");
+			itemData << false;
 		}
 
 		// Check for current day
 		if (currDateTime == CalenDateUtils::beginningOfDay(dateTime)) {
-			// Set the underline icon
+			// Set the underline attribute to true
 			itemData << true;
 		} else {			
 			itemData << false;
@@ -170,61 +181,166 @@
 
 		// Check for events
 		if (monthDataArray[i].HasEvents()) {
-			// Set the underline icon
-			itemData << QString("qtg_graf_cal_event_ind");
+			// Set the event indicator attribute
+			itemData << true;
 		} else {
-			itemData << QString("");
+			itemData << false;
 		}
 		
 		// Add default text color
-		itemData << textColor;
+		if (monthDataArray[i].isActive()) {
+			itemData << true;
+		} else {
+			itemData << false;
+		}
 		mModel->itemFromIndex(currentIndex)->setData(itemData);
 	}
+	
+	if (isFirstTime) {
+		// Color of the today indicator
+		QColor todayIndColor = HbColorScheme::color("qtc_cal_month_current_day");
+		// Color of the active dates
+		QColor mActiveTextColor = 
+								HbColorScheme::color("qtc_cal_month_active_dates");
+		// Color of the inactive dates
+		QColor mInActiveTextColor = 
+							HbColorScheme::color("qtc_cal_month_notactive_dates");
+		
+		// Create the prototype
+		CalenGridItemPrototype* gridItemPrototype = new CalenGridItemPrototype(
+						todayIndColor, mActiveTextColor, mInActiveTextColor, this);
+		
+		// Set the mode and the prototype
+		setModel(mModel,gridItemPrototype);
+		
+		// Register the widgetml and css files
+		HbStyleLoader::registerFilePath(":/");
+		
+		// Set the layout name
+		setLayoutName("calendarCustomGridItem");
+	} else {
+		// Since, we have finished setData, Now unblock the signals
+		mModel->blockSignals(false);
+		
+		// Since till now, we had blocked signals being generated frm the mode
+		// view will be unaware of the items that we added. Hence, inform the view
+		// explicitly in one shot
+		QModelIndex leftIndex = mModel->index(0, 0);
+		QModelIndex rightIndex = mModel->index(loopEnd-1, 0);
+		dataChanged(leftIndex, rightIndex);
+		
+		// NOTE: To make sure that we always display proper month,
+		// two calls have been  made to scrollTo(), one with top
+		// visible item and other with bottom visible item
+		// Calculate the first visible item in the grid
+		QModelIndex firstVisibleIndex = mModel->index(indexToBeScrolled - 
+								(KNumOfVisibleRows * KCalenDaysInWeek - 1), 0);
+		scrollTo(firstVisibleIndex);
+		
+		
+		// Calculate the last visible item in the grid
+		QModelIndex lastVisibleIndex = mModel->index(indexToBeScrolled, 0);
+		scrollTo(lastVisibleIndex);
+	}
 	mMonthDataArray = monthDataArray;
-	
-	// Get the active month
-	QDateTime activeDate = mView->getActiveDay();
-	// Set the text color properly
-	setActiveDates(activeDate.date());
-	
-	// NOTE: To make sure that we always display proper month,
-	// two calls have been  made to scrollTo(), one with top
-	// visible item and other with bottom visible item
-    // Calculate the first visible item in the grid
-    QModelIndex firstVisibleIndex = mModel->index(indexToBeScrolled - 
-                                        (KNumOfVisibleRows * KCalenDaysInWeek - 1), 0);
-    scrollTo(firstVisibleIndex);
-    
-    
-    // Calculate the last visible item in the grid
-    QModelIndex lastVisibleIndex = mModel->index(indexToBeScrolled, 0);
-    scrollTo(lastVisibleIndex);
 }
 
 /*!
- Listens for down gesture
+	Updates the view with jprevious month dates when calendar is opened for the 
+	first time to improve the opening time
  */
-void CalenMonthGrid::downGesture (int value)
-{
-	Q_UNUSED(value)	
-	mDirection = down;
-	// Before we start scrolling, setthe active text color to previous month
-	QDateTime activeDate = mView->getActiveDay();
-	setActiveDates(activeDate.addMonths(-1).date());
-	HbScrollArea::downGesture(SCROLL_SPEEED);
+void CalenMonthGrid::updateMonthGridWithInActiveMonths(
+										QList<CalenMonthData> &monthDataArray)
+{	
+	mMonthDataArray = monthDataArray;
+		
+	// Prepend the required rows
+	handlePrependingRows(monthDataArray);
+	
+	// Append the required rows
+	handleAppendingRows(monthDataArray);
+	
+	int rowsInPrevMonth = mView->rowsInPrevMonth();
+	
+	// Calculate the proper index to be scrolled to
+	int itemToBeScrolled = rowsInPrevMonth * KCalenDaysInWeek;
+	QModelIndex indexToBeScrolled = mModel->index(itemToBeScrolled, 0);
+	mIsAtomicScroll = true;
+	scrollTo(indexToBeScrolled);
+		
+	// Scroll to proper index
+	itemToBeScrolled = ((rowsInPrevMonth + KNumOfVisibleRows) * 
+								   KCalenDaysInWeek) - 1;
+	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 &)));
 }
 
 /*!
- Listens for Up gesture
+	Updates the view with just event indicators
  */
-void CalenMonthGrid::upGesture (int value)
+void CalenMonthGrid::updateMonthGridWithEventIndicators(
+										QList<CalenMonthData> &monthDataArray)
+{
+	mMonthDataArray = monthDataArray;
+	for(int i = 0; i < monthDataArray.count(); i++) {
+		// Check if the day has events
+		if (monthDataArray[i].HasEvents()) {
+			QModelIndex itemIndex = mModel->index(i,0);
+			QVariant itemData = itemIndex.data(Qt::UserRole + 1);
+			QVariantList list = itemData.toList();
+			list.replace(CalendarNamespace::CalendarMonthEventRole, true);
+			mModel->itemFromIndex(itemIndex)->setData(list);
+		}
+	}
+}
+
+/*!
+ Scrolls the content dowmwards
+ */
+void CalenMonthGrid::downGesture()
 {
-	Q_UNUSED(value)	
-	mDirection = up;
-	// Before we start scrolling, setthe active text color to future month
-	QDateTime activeDate = mView->getActiveDay();
-	setActiveDates(activeDate.addMonths(1).date());
-	HbScrollArea::upGesture(SCROLL_SPEEED);
+    // 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);
+}
+
+/*!
+ Scrolls the content upwards
+ */
+void CalenMonthGrid::upGesture()
+{
+    // 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);
+	
 }
 
 /*!
@@ -232,7 +348,6 @@
  */
 void CalenMonthGrid::mousePressEvent(QGraphicsSceneMouseEvent* event)
 {
-	mPressedPos = event->pos();
 	// Pass it to parent
 	HbGridView::mousePressEvent(event);
 }
@@ -242,43 +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)
 {
-	if (!mIsPanGesture) {
-		mIsPanGesture = true;
-		mIgnoreItemActivated = true;
-		
-		// Get to know the direction of the gesture
-		if (delta.y() > 0) {
-			mDirection = down;
-		} else {
-			mDirection = up;
-		}
-	} else { // This case is when user changes the direction while panning
-		// without lifting the finger
-		// Check if direction has changed
-		if (((delta.y() > 0) && (mDirection == up))
-			|| ((delta.y() < 0) && (mDirection == down))) {
-			// Direction has changed, ignore this pan
-			return;
-		}
-	}
-	// 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);
+   }
 }
 
 /*!
@@ -286,42 +446,100 @@
  */
 void CalenMonthGrid::scrollingFinished()
 {
-	
 	if (mIsPanGesture) {
-		mIsPanGesture = false;
-		if (mDirection == up) {
-			// Make a request for upgesture
-			upGesture(SCROLL_SPEEED);
-			return; // return immediately
-		} else if (mDirection == down) {
-			// Make a request for upgesture
-			downGesture(SCROLL_SPEEED);
-			return; // return immediately
+		handlePanGestureFinished();
+	} else if(!mIsAtomicScroll) {
+		QDateTime activeDate = mView->getActiveDay();
+		if(mDirection == down) { // down gesture
+			if (!mIsNonActiveDayFocused) {
+				setActiveDates(activeDate.addMonths(-1).date());
+			}
+			prependRows();
+		} else if (mDirection == up) { //up gesture
+			if (!mIsNonActiveDayFocused) {
+				setActiveDates(activeDate.addMonths(1).date());
+			}
+			appendRows();
 		}
-	} else if(!mIsAtomicScroll) {
-		// Before we do anything, set the focus to proper date
-		// Set it only when non active day was focussed. When inactive day
-		// was focussed, we need to focus the same day
-		if (!mIsNonActiveDayFocused) {
-			setFocusToProperDay();
-		}
-		// To improve the performance, lets start the timer for 10 ms, 
-		// return immediately and do the other things after that
-		QTimer::singleShot(10, this, SLOT(timerExpired()));
+		mDirection = invalid;
 	} else {
         mIsAtomicScroll = false;
+        mDirection = invalid;
 	}
 	mIgnoreItemActivated = false;
+	setAttribute(Hb::InteractionDisabled, false);
 }
 
-void CalenMonthGrid::timerExpired()
+/*!
+ Function to handle completion of pan gesture
+ */
+void CalenMonthGrid::handlePanGestureFinished()
 {
-	if(mDirection == down) { // down gesture
-		prependRows();
-	} else if (mDirection == up) { //up gesture
-		appendRows();
+	mIsPanGesture = false;
+	// Get the first item that is visible
+	QList<HbAbstractViewItem *> list = visibleItems();
+	HbAbstractViewItem* item = list[0];
+	QModelIndex modelIndex = item->modelIndex();
+	
+	// Get the date which is visible at the above row
+	QDateTime date = mMonthDataArray[modelIndex.row()].Day();
+	
+	// Check if this date belong to current active month or 
+	// previous month else future month
+	QDateTime activeMonth = mView->getActiveDay();
+	QDateTime prevMonth = activeMonth.addMonths(-1);
+	QDateTime nextMonth = activeMonth.addMonths(1);
+	int month = date.date().month();
+	if (month == activeMonth.date().month()) {
+		// Then pan is completed on current month
+		// Check if the date is more than half of the current month or it is
+		// more than or equal to half of the future month
+		if (date.date().day() > (activeMonth.date().daysInMonth()) / 2 ||
+				date.addDays(KNumOfVisibleRows*KCalenDaysInWeek).date().day() >=
+				(prevMonth.date().daysInMonth()) / 2) {
+			// up gesture to bring the next month
+			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()) {
+		// first visible item belongs to previous month
+		// Check if the date is more than half of the previous month
+		if (date.date().day() > (prevMonth.date().daysInMonth()) / 2) {
+			// 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();
+		}
+	} 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();
+		} 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();
 	}
-	mDirection = invalid;
 }
 
 /*!
@@ -330,43 +548,84 @@
  */
 void CalenMonthGrid::prependRows()
 {
+	// Before we do anything, set the focus to proper date
+	// Set it only when non active day was focussed. When inactive day
+	// was focussed, we need to focus the same day
+	if (!mIsNonActiveDayFocused) {
+		setFocusToProperDay();
+	}
+	
+	// Block the signals generated by model, this is being done as
+	// we want to avoid the overload of view listening to signals
+	mModel->blockSignals(true);
+		
 	mIsNonActiveDayFocused = false;
-	QDateTime currDate = mView->getCurrentDay();
-	QDateTime currDateTime = CalenDateUtils::beginningOfDay( currDate );
+	
 	int rowsInFutMonthEarlier = mView->rowsInFutMonth();
 	int rowsInPrevMonthEarlier = mView->rowsInPrevMonth();
 	
+	// remove the cells in the future month
+	int deleteFromIndex = (rowsInPrevMonthEarlier + KNumOfVisibleRows) * KCalenDaysInWeek;
+	int numOfIndices = rowsInFutMonthEarlier * KCalenDaysInWeek;
+	
 	// Get the updated dates from the view
 	mView->updateModelWithPrevMonth();
 	QList<CalenMonthData > monthDataList = mView->monthDataList();
 	mMonthDataArray = monthDataList;
-	int listCount = monthDataList.count();
-	// Get the updated rows to be inserted
-	int rowsInPrevMonth = mView->rowsInPrevMonth();
-	int rowsInFutMonth = mView->rowsInFutMonth();
+	
+	// Prepend the required rows
+	handlePrependingRows(monthDataList);
+		
+	// Since, we have finished setData, Now unblock the signals
+	mModel->blockSignals(false);
 	
-	// remove the cells in the future month
-	int deleteFromIndex = (rowsInPrevMonthEarlier + KNumOfVisibleRows) * KCalenDaysInWeek;
-	int numOfIndices = rowsInFutMonthEarlier * KCalenDaysInWeek;
-	int count = mModel->rowCount();
+	int rowsInPrevMonth = mView->rowsInPrevMonth();
+	int countToBeAdded = rowsInPrevMonth * KCalenDaysInWeek;
+		
+	// Since till now, we had blocked signals being generated frm the model
+	// view will be unaware of the items that we added. Hence, inform the view
+	// explicitly in one shot
+	QModelIndex leftIndex = mModel->index(0, 0);
+	QModelIndex rightIndex = mModel->index(countToBeAdded-1, 0);
+	dataChanged(leftIndex, rightIndex);
+		
+	// Now remove the necessary items frm the model
+	mModel->removeRows(deleteFromIndex+countToBeAdded, numOfIndices);
+	mIsAtomicScroll = true;
+	int itemToBeScrolled = rowsInPrevMonth * KCalenDaysInWeek;
+	QModelIndex indexToBeScrolled  = mModel->index(itemToBeScrolled, 0);
+	scrollTo(indexToBeScrolled);
 	
-	count = mModel->rowCount();
+	// Scroll to proper index
+	itemToBeScrolled = ((rowsInPrevMonth + KNumOfVisibleRows) * 
+								   KCalenDaysInWeek) - 1;
+	indexToBeScrolled = mModel->index(itemToBeScrolled, 0);
+	mIsAtomicScroll = true;
+	scrollTo(indexToBeScrolled);
+	// Update the mCurrentRow
+	mCurrentRow += countToBeAdded;
 	
+	// Update the sart position of the content widget
+	mStartPos = mContentWidget->pos();
+}
+
+/*!
+	Helper function that prepends the required rows to the model
+ */
+void CalenMonthGrid::handlePrependingRows(QList<CalenMonthData > &monthDataList)
+{
+	QDateTime currDate = mView->getCurrentDay();
+	QDateTime currDateTime = CalenDateUtils::beginningOfDay( currDate );
+	int rowsInPrevMonth = mView->rowsInPrevMonth();
 	// Add the new days
 	int countToBeAdded = rowsInPrevMonth * KCalenDaysInWeek;
 	
 	mModel->insertRows(0, countToBeAdded);
-	count = mModel->rowCount();
-	
-	// Get the default text color to be set
-	QColor textColor = HbColorScheme::color("qtc_cal_month_notactive_dates");
-	HbExtendedLocale locale = HbExtendedLocale::system();
 	
 	for (int i = 0; i < countToBeAdded; i++) {
 		QDateTime dateTime = monthDataList[i].Day();
 		
 		// Get the localised string for the day
-		QString date = locale.toString(dateTime.date().day());
 		QModelIndex currentIndex = mModel->index(i, 0);
 		
 		// Create the variant list to contain the date to depict a grid item
@@ -374,14 +633,14 @@
 		
 		// NOTE: Add the data in the order mentioned in the 
 		// CalendarNamespace::DataRole enum. Dont change the order.
-		itemData << date;
+		itemData << mLocalisedDates.at(dateTime.date().day()-1);;
 				
-		// Diable the focus role
-		itemData << QString("");
+		// Disable the focus role
+		itemData << false;
 		
 		// Check for current day
 		if  (currDateTime == CalenDateUtils::beginningOfDay( dateTime )) {
-			// Set the underline icon
+			// Set the underline icon attribute
 			itemData << true;
 		} else {
 			itemData << false;
@@ -389,39 +648,18 @@
 		
 		// Update the event indicators
 		if (monthDataList[i].HasEvents()) {
-			// Set the event indicator icon
-			itemData << QString("qtg_graf_cal_event_ind");
+			// Set the event indicator attribute
+			itemData << true;
 		} else {
-			itemData << QString("");
+			itemData << false;
 		}
 		
 		// Add default text color
-		
-		itemData << textColor;
+		itemData << false;
 		
 		// Set the data to model
 		mModel->itemFromIndex(currentIndex)->setData(itemData);
 	}
-	
-	// Update the mCurrentRow
-	mCurrentRow += countToBeAdded;
-	// Scroll to proper index
-	int itemToBeScrolled = ((rowsInPrevMonth + KNumOfVisibleRows) * 
-								   KCalenDaysInWeek) - 1;
-	QModelIndex indexToBeScrolled = mModel->index(itemToBeScrolled, 0);
-	QMap<int, QVariant> data;
-	data = mModel->itemData(indexToBeScrolled);
-	QVariant value = data.value(Qt::DisplayRole);
-	int date = value.toInt();
-	mIsAtomicScroll = true;
-	scrollTo(indexToBeScrolled);
-	
-	// Now remove the necessary items frm the model
-	mModel->removeRows(deleteFromIndex+countToBeAdded, numOfIndices);
-	mIsAtomicScroll = true;
-	itemToBeScrolled = rowsInPrevMonth * KCalenDaysInWeek;
-	indexToBeScrolled = mModel->index(itemToBeScrolled, 0);
-	scrollTo(indexToBeScrolled);
 }
 
 /*!
@@ -430,9 +668,19 @@
  */
 void CalenMonthGrid::appendRows()
 {
+	// Before we do anything, set the focus to proper date
+	// Set it only when non active day was focussed. When inactive day
+	// was focussed, we need to focus the same day
+	if (!mIsNonActiveDayFocused) {
+		setFocusToProperDay();
+	}
+	
+	// Block the signals generated by model, this is being done as
+	// we want to avoid the overload of view listening to signals
+	mModel->blockSignals(true);
+	
 	mIsNonActiveDayFocused = false;
-	QDateTime currDate = mView->getCurrentDay();
-	QDateTime currDateTime = CalenDateUtils::beginningOfDay( currDate );
+	
 	int rowsInFutMonth = mView->rowsInFutMonth();
 	int rowsInPrevMonth = mView->rowsInPrevMonth();
 	// remove the cells in the previous month
@@ -442,40 +690,80 @@
 	mView->updateModelWithFutureMonth();
 	QList<CalenMonthData > monthDataList = mView->monthDataList();
 	mMonthDataArray = monthDataList;
-	// Get the updated rows to be inserted
+	
+	// Get the model count before we add any rows into the mode
+	int rowCount = mModel->rowCount();
+	// Append the required rows
+	handleAppendingRows(monthDataList);
+	
+	// Since, we have finished setData, Now unblock the signals
+	mModel->blockSignals(false);
+	
+	// Since till now, we had blocked signals being generated frm the mode
+	// view will be unaware of the items that we added. Hence, inform the view
+	// explicitly in one shot
+	QModelIndex leftIndex = mModel->index(rowCount-1, 0);
+	QModelIndex rightIndex = mModel->index(mModel->rowCount()-1, 0);
+	dataChanged(leftIndex, rightIndex);
+		
+	// Update the mCurrentRow
+	mCurrentRow -= (countToBeDeleted);
+	for (int i = 0; i < countToBeDeleted; i++) {
+		mModel->removeRow(0);
+	}
+	
+	mIsAtomicScroll = true;
+	
+	rowsInFutMonth = mView->rowsInFutMonth();
 	rowsInPrevMonth = mView->rowsInPrevMonth();
-	rowsInFutMonth = mView->rowsInFutMonth();
+	
+	// Calculate the proper index to be scrolled to
+	int itemToBeScrolled = rowsInPrevMonth * KCalenDaysInWeek;
+	QModelIndex indexToBeScrolled = mModel->index(itemToBeScrolled, 0);
+	scrollTo(indexToBeScrolled);
+	
+	itemToBeScrolled = ((rowsInPrevMonth + KNumOfVisibleRows) * 
+									   KCalenDaysInWeek) - 1;
+	indexToBeScrolled = mModel->index(itemToBeScrolled, 0);
+	mIsAtomicScroll = true;
+	scrollTo(indexToBeScrolled);
+	
+	// Update the sart position of the content widget
+    mStartPos = mContentWidget->pos();
+}
+
+/*!
+	Helper function that appends the required rows to the model
+ */
+void CalenMonthGrid::handleAppendingRows(QList<CalenMonthData > &monthDataList)
+{
+	QDateTime currDate = mView->getCurrentDay();
+	QDateTime currDateTime = CalenDateUtils::beginningOfDay( currDate );
+	int rowsInFutMonth = mView->rowsInFutMonth();
 	int countToBeAdded = rowsInFutMonth * KCalenDaysInWeek;
 	int lastVisibleIndex = monthDataList.count() - countToBeAdded;
 	
 	int rowCount = mModel->rowCount();
 	mModel->insertRows(rowCount, countToBeAdded);
 	
-	// Get the default text color to be set
-	QColor textColor = HbColorScheme::color("qtc_cal_month_notactive_dates");
 	for (int i = 0; i < countToBeAdded; i++) {
-		QMap<int, QVariant> data;
 		QModelIndex currentIndex = mModel->index(rowCount + i, 0);
 				
 		QDateTime dateTime = monthDataList[lastVisibleIndex + i].Day();
-		HbExtendedLocale locale = HbExtendedLocale::system();
-		// Get the localised string for the day
-		QString date = locale.toString(dateTime.date().day());
-		data.insert(CalendarNamespace::CalendarMonthDayRole, date);
 		
 		// Create the variant list to contain the date to depict a grid item
 		QVariantList itemData;
 		
 		// NOTE: Add the data in the order mentioned in the 
 		// CalendarNamespace::DataRole enum. Dont change the order.
-		itemData << date;
+		itemData << mLocalisedDates.at(dateTime.date().day()-1);;
 		
 		// Disable the focus role
-		itemData << QString("");
+		itemData << false;
 		
 		// Check for current day
 		if (currDateTime == CalenDateUtils::beginningOfDay( dateTime )) {
-			// Set the underline icon
+			// Set the underline icon attribute
 			itemData << true;
 		} else {
 			itemData << false;
@@ -483,30 +771,18 @@
 		
 		// Update the event indicators
 		if (monthDataList[lastVisibleIndex + i].HasEvents()) {
-			// Set the underline icon
-			itemData << QString("qtg_graf_cal_event_ind");
+			// Set the event indicator attribute
+			itemData << true;
 		} else {
-			itemData << QString("");
+			itemData << false;
 		}
 		
 		// Add default text color
-		itemData << textColor;
+		itemData << false;
 				
 		// Set the data to model
 		mModel->itemFromIndex(currentIndex)->setData(itemData);
 	}
-	
-	// Update the mCurrentRow
-	mCurrentRow -= (countToBeDeleted);
-	for (int i = 0; i < countToBeDeleted; i++) {
-		mModel->removeRow(0);
-	}
-	mIsAtomicScroll = true;
-	
-	// Calculate the proper index to be scrolled to
-	int itemToBeScrolled = rowsInPrevMonth * KCalenDaysInWeek;
-	QModelIndex indexToBeScrolled = mModel->index(itemToBeScrolled, 0);
-	scrollTo(indexToBeScrolled);
 }
 
 /*!
@@ -521,14 +797,18 @@
 	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, QString(""));
+		list.replace(CalendarNamespace::CalendarMonthFocusRole, false);
 		mModel->itemFromIndex(itemIndex)->setData(list);
 		
 		// Inform view to update the context and preview panes
@@ -537,7 +817,7 @@
 		itemData = itemIndex.data(Qt::UserRole + 1);
 		list = itemData.toList();
 		list.replace(CalendarNamespace::CalendarMonthFocusRole, 
-						 QString("qtg_fr_cal_focused_day_ind"));
+								 true);
 		mModel->itemFromIndex(itemIndex)->setData(list);
 		// Check if inactive date is tapped
 		QDateTime activeMonth = mView->getActiveDay();
@@ -547,17 +827,19 @@
 			mIsNonActiveDayFocused = true;
 			mNonActiveFocusedDay = mMonthDataArray[mCurrentRow].Day();
 			
-			// Get the current active month
-			QDateTime activeMonth = mView->getActiveDay();
-			// Add one month to it
+			// Add one month to active month
 			activeMonth = activeMonth.addMonths(1);
 			if (activeMonth.date().month() == 
 				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());
 			}
 		} 
 		mView->setContextForActiveDay(index.row());
@@ -588,7 +870,7 @@
 	QModelIndex index = mModel->index(mCurrentRow,0);
 	QVariant itemData = index.data(Qt::UserRole + 1);
 	QVariantList list = itemData.toList();
-	list.replace(CalendarNamespace::CalendarMonthFocusRole, QString(""));
+	list.replace(CalendarNamespace::CalendarMonthFocusRole, false);
 	mModel->itemFromIndex(index)->setData(list);
 	
 	// Search for this date in the model
@@ -598,7 +880,7 @@
 			itemData = index.data(Qt::UserRole + 1);
 			list = itemData.toList();
 			list.replace(CalendarNamespace::CalendarMonthFocusRole,
-							 QString("qtg_fr_cal_focused_day_ind"));
+										 true);
 			mModel->itemFromIndex(index)->setData(list);
 			mCurrentRow = i;
 			mView->setContextForActiveDay(i);
@@ -635,15 +917,12 @@
 	end = firstDateInGrid.daysTo(endOfActiveMonth);
 	
 	// Set the active text color
-	QColor textColor = HbColorScheme::color("qtc_cal_month_active_dates");
-	if (textColor.isValid()) {
-		for (int i = start; i < end; i++) {	
-			QModelIndex index = mModel->index(i,0);
-			QVariant itemData = index.data(Qt::UserRole + 1);
-			QVariantList list = itemData.toList();
-			list.replace(CalendarNamespace::CalendarMonthTextColorRole, textColor);
-			mModel->itemFromIndex(index)->setData(list);
-		}
+	for (int i = start; i < end; i++) {	
+		QModelIndex index = mModel->index(i,0);
+		QVariant itemData = index.data(Qt::UserRole + 1);
+		QVariantList list = itemData.toList();
+		list.replace(CalendarNamespace::CalendarMonthTextColorRole, true);
+		mModel->itemFromIndex(index)->setData(list);
 	}
 	
 	// Now set the inactive text color to those which were active before the swipe
@@ -683,15 +962,12 @@
 	}
 	
 	// Set the inactive text color
-	textColor = HbColorScheme::color("qtc_cal_month_notactive_dates");
-	if (textColor.isValid()) {
-		for (int i = start; i < end; i++) {		
-			QModelIndex index = mModel->index(i,0);
-			QVariant itemData = index.data(Qt::UserRole + 1);
-			QVariantList list = itemData.toList();
-			list.replace(CalendarNamespace::CalendarMonthTextColorRole, textColor);
-			mModel->itemFromIndex(index)->setData(list);
-		}
+	for (int i = start; i < end; i++) {		
+		QModelIndex index = mModel->index(i,0);
+		QVariant itemData = index.data(Qt::UserRole + 1);
+		QVariantList list = itemData.toList();
+		list.replace(CalendarNamespace::CalendarMonthTextColorRole, false);
+		mModel->itemFromIndex(index)->setData(list);
 	}
 }
 
@@ -719,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);
+	}
 }
 
 /*!
@@ -730,29 +1029,51 @@
 {
 	Q_UNUSED(option);
 	Q_UNUSED(widget);
+	painter->setRenderHint(QPainter::NonCosmeticDefaultPen);
 	
 	// 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
 	qreal contentHeight = mContentWidget->size().height();
 	qreal contentWidth = mContentWidget->size().width();
+	qreal rowWidth = 0.0;
+	int numOfRows = 0;
+	QPointF startPoint = mContentWidget->pos();
 	
-	// Get the num of rows
-	int numOfRows = mModel->rowCount() / KCalenDaysInWeek;
-	// Draw horizontal lines
-	qreal rowWidth = contentHeight / numOfRows;
+	// NOTE!!!: There is a filcker when we blindly draw equally spaced lines
+	// on complete content widget when scrolling is finished. This happens only
+	// when content widget size is changed due to the change in total number
+	// of rows when we append or prepend rows. Hence, to avoid this, we draw
+	// lines on complete content widget only when it is scrolling.
+	// That means, as soon as scrolling is finished, we will end up drawing 
+	// only 6 lines that are visible to the user.
+	if (mDirection == invalid) {
+		// Start point is left most point on the screen
+		startPoint = QPointF(0,0);
+		rowWidth = size().height() / KNumOfVisibleRows;
+		numOfRows = KNumOfVisibleRows;
+	} else {
+		// Get the num of rows
+		numOfRows = mModel->rowCount() / KCalenDaysInWeek;
+		// Draw horizontal lines
+		rowWidth = contentHeight / numOfRows;
+	}
 	
-	QPointF startPoint = mContentWidget->pos();
 	QPointF endPoint(startPoint.x() + contentWidth, 
 	                 startPoint.y());
 	
@@ -780,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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/src/calenmonthview.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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,23 +65,26 @@
 	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;
 	mIsPrevPaneGesture = false;
+	// Get the week day color from the theme
+	mWeekDaysColor = HbColorScheme::color("qtc_cal_week_day");
 }
 
 /*!
@@ -100,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);
 	}
 		
@@ -131,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
@@ -209,22 +203,51 @@
 
 	mMonthGrid->setView(this);
 
+	
+	
+	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);
+
+}
+
+/*!
+ Constructs the remaining part of the month view that was kept as 
+ part if lazy loading
+ */
+void CalenMonthView::doLazyLoading()
+{
+	// Add background items to all the widgets
+	addBackgroundFrame();
+	
+	// Construct and add the previous month and next month items to the view
+	mMonthGrid->updateMonthGridWithInActiveMonths(mMonthDataArray);
+	
+	// Check if regional information needs to be shown
+	// and add it or remove it
+	showHideRegionalInformation();
+	
 	// Connect to the menu actions
 	HbAction
-	        *newEventAction =
-	                qobject_cast<HbAction *> (
+			*newEventAction =
+					qobject_cast<HbAction *> (
 						mDocLoader->findObject(CALEN_MONTVIEW_MENU_NEWEVENT));
 
 	connect(newEventAction, SIGNAL(triggered()), this, SLOT(createEditor()));
 
 	mGoToTodayAction =
-	                qobject_cast<HbAction *> (
+					qobject_cast<HbAction *> (
 							mDocLoader->findObject(CALEN_MONTVIEW_MENU_GOTOTODAY));
 	connect(mGoToTodayAction, SIGNAL(triggered()), this, SLOT(goToToday()));
 	
 	HbAction
-	        *goToDateAction =
-	                qobject_cast<HbAction *> (
+			*goToDateAction =
+					qobject_cast<HbAction *> (
 						mDocLoader->findObject(CALEN_MONTVIEW_MENU_GOTODATE));
 
 	connect(goToDateAction, SIGNAL(triggered()), this, SLOT(goToDate()));
@@ -269,12 +292,7 @@
 	// Connect to the signal when options menu is shown
 	// This is required to add/remove dynamically some options
 	connect(menu(), SIGNAL(aboutToShow ()), this,
-	        SLOT(addRemoveActionsInMenu()));
-	
-	mIsFirstTimeLoad = true;
-	
-	// Add background items to all the widgets
-	addBackgroundFrame();
+			SLOT(addRemoveActionsInMenu()));	
 }
 
 /*!
@@ -303,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();
 
@@ -392,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;
-        }
-    }
+	}
 }
 
 /*!
@@ -529,29 +569,20 @@
 		long weekNumber(day.date().weekNumber());
 		mWeekNumbers.append(weekNumber);
 	}
-	
-	// Get the week day color from the theme
-	QColor weekDayColor = HbColorScheme::color("qtc_cal_week_day");
 
 	// Update the week labels text
 	QString text = QString::number(mWeekNumbers.at(0));
 	mFirstWeekLabel->setPlainText(text);
-	mFirstWeekLabel->setTextColor(weekDayColor);
 	text = QString::number(mWeekNumbers.at(1));
 	mSecondWeekLabel->setPlainText(text);
-	mSecondWeekLabel->setTextColor(weekDayColor);
 	text = QString::number(mWeekNumbers.at(2));
 	mThirdWeekLabel->setPlainText(text);
-	mThirdWeekLabel->setTextColor(weekDayColor);
 	text = QString::number(mWeekNumbers.at(3));
 	mFourthWeekLabel->setPlainText(text);
-	mFourthWeekLabel->setTextColor(weekDayColor);
 	text = QString::number(mWeekNumbers.at(4));
 	mFifthWeekLabel->setPlainText(text);
-	mFifthWeekLabel->setTextColor(weekDayColor);
 	text = QString::number(mWeekNumbers.at(5));
 	mSixthWeekLabel->setPlainText(text);
-	mSixthWeekLabel->setTextColor(weekDayColor);
 }
 
 /*!
@@ -560,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();
 }
 
 /*
@@ -610,38 +643,62 @@
  */
 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);
 	}
-	mIsFirstTimeLoad = false;
+	
 	// prepare for the population like reading the date frm the context 
 	// calculating the start of the grid etc.,
 	prepareForPopulation();
-
-	// fetch list of required calendar instances
-	populateWithInstanceView();
-
-	populatePreviewPane(mDate);
-
-	// Create the grid items with proper dates
+	
+	// Populate the view and preview panes only if we are not opening the calendar
+	if (!mIsFirstTimeLoad) {
+		// fetch list of required calendar instances
+		populateWithInstanceView();
+		// Populate the preview panes
+		populatePreviewPane(mDate);
+	}
+	
+	
+    //update the day label 
+    //if changes in locale setting
+	updateDayLabel();
+	
+	  // Create the grid items with proper dates
 	createGrid();
 	
-	// Check if regional information needs to be shown
-	// and add it or remove it
-	showHideRegionalInformation();
 
 	// 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) {
+		showHideRegionalInformation();
+	}
+	// Reset the first time load flag
+	mIsFirstTimeLoad = false;
 }
 
 /*!
@@ -651,6 +708,7 @@
 {
 	setActiveDay(dateFromContext(mServices.Context()));
 	setDate();
+	updateMonthDataArrayWithActiveDates();
 }
 
 /*!
@@ -658,18 +716,19 @@
  */
 void CalenMonthView::refreshViewOnGoToDate()
 {
-	setActiveDay(dateFromContext(mServices.Context()));
-	setDate();
+	prepareForPopulation();
 	setDateToLabel();
 	// fetch list of required calendar instances
 	populateWithInstanceView();
 
 	populatePreviewPane(mDate);
 	
-	mMonthGrid->updateMonthGridModel(mMonthDataArray, mIndexToBeScrolled);
-	
-	// Start the auto scroll on current preview pane
-	mCurrPreviewPane->startAutoScroll();
+	mMonthGrid->updateMonthGridModel(mMonthDataArray, mIndexToBeScrolled, 
+	                                 mIsFirstTimeLoad);
+	// Update the week Numbers model
+	if (mIsWeekNumbersShown) {
+		updateWeekNumGridModel();
+	}
 }
 
 /*!
@@ -680,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;
 }
@@ -708,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) {
@@ -804,11 +861,22 @@
 void CalenMonthView::createGrid()
 {
 	// Update the month grid
-	mMonthGrid->updateMonthGridModel(mMonthDataArray, mIndexToBeScrolled);
-
-	// Read the week number setting from cenrep
-	QVariant value = mSettingsManager->readItemValue(*mWeekNumberCenrepKey);
-	mIsWeekNumbersShown = value.toUInt();
+	mMonthGrid->updateMonthGridModel(mMonthDataArray, mIndexToBeScrolled, 
+	                                 mIsFirstTimeLoad);
+    // 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();
@@ -905,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) {
@@ -1002,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);
@@ -1016,7 +1085,7 @@
 /*!
  Fetches the calenda entries for a given range
  */
-void CalenMonthView::getInstanceList(QList<AgendaEntry> &list,
+void CalenMonthView::getInstanceList(QList<QDate> &list,
                                      QDateTime rangeStart, QDateTime rangeEnd)
 {
 	AgendaUtil::FilterFlags filter =
@@ -1025,7 +1094,7 @@
 	                | AgendaUtil::IncludeEvents
 	                | AgendaUtil::IncludeReminders
 	                | AgendaUtil::IncludeIncompletedTodos);
-	list = mAgendaUtil->fetchEntriesInRange(rangeStart, rangeEnd, filter);
+	mAgendaUtil->markDatesWithEvents(rangeStart, rangeEnd, filter, list);
 }
 
 /*!
@@ -1040,21 +1109,14 @@
 	const int todayIndex(gridStart.daysTo(today)); 
 
 	QDateTime gridEnd(mLastDayOfGrid.date(), QTime(23, 59, 59, 0));
-	QList<AgendaEntry> list;
-
-	AgendaUtil::FilterFlags filter =
-		        AgendaUtil::FilterFlags(AgendaUtil::IncludeAnniversaries
-		                | AgendaUtil::IncludeAppointments
-		                | AgendaUtil::IncludeEvents
-		                | AgendaUtil::IncludeReminders
-		                | AgendaUtil::IncludeIncompletedTodos);
 	
 	// Get the list of dates which have events
 	QList<QDate> datesWithEvents;
-	mAgendaUtil->markDatesWithEvents(gridStart,gridEnd,filter,datesWithEvents);
+	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);
 	}
@@ -1068,7 +1130,6 @@
  */
 void CalenMonthView::populatePrevMonth()
 {
-	QList<AgendaEntry> list;
 	const QDateTime gridStart(CalenDateUtils::beginningOfDay(mFirstDayOfGrid));
 	const QDateTime today(CalenDateUtils::today());
 
@@ -1077,23 +1138,16 @@
 	QDateTime gridEnd(end.date(), QTime(23, 59, 59, 0));
 
 
-	AgendaUtil::FilterFlags filter =
-		        AgendaUtil::FilterFlags(AgendaUtil::IncludeAnniversaries
-		                | AgendaUtil::IncludeAppointments
-		                | AgendaUtil::IncludeEvents
-		                | AgendaUtil::IncludeReminders
-		                | AgendaUtil::IncludeIncompletedTodos);
-						
 	// Get the list of dates which have events
 	QList<QDate> datesWithEvents;
-	mAgendaUtil->markDatesWithEvents(gridStart,gridEnd,filter,datesWithEvents);
+	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);
 	}
-	
 	datesWithEvents.clear();
 }
 
@@ -1112,27 +1166,31 @@
 	const int todayIndex(gridStart.daysTo(today)); // grid index for "today"
 	QDateTime gridEnd(mLastDayOfGrid.date(), QTime(23, 59, 59, 0));
 
-
-	AgendaUtil::FilterFlags filter =
-		        AgendaUtil::FilterFlags(AgendaUtil::IncludeAnniversaries
-		                | AgendaUtil::IncludeAppointments
-		                | AgendaUtil::IncludeEvents
-		                | AgendaUtil::IncludeReminders
-		                | AgendaUtil::IncludeIncompletedTodos);
-						
 	// Get the list of dates which have events
 	QList<QDate> datesWithEvents;
-	mAgendaUtil->markDatesWithEvents(gridStart,gridEnd,filter,datesWithEvents);
+	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);
 	}
-
+	datesWithEvents.clear();
+}
 
-	
-	datesWithEvents.clear();
+/*!
+	Function that gets called when instacne view is created, so that it can
+	query agenda server for any entries
+ */
+void CalenMonthView::fetchEntriesAndUpdateModel()
+{
+	// Get to know if entries are there from the agenda server
+	populateWithInstanceView();
+	// Update the month grid model
+	mMonthGrid->updateMonthGridWithEventIndicators(mMonthDataArray);
+	// Populate the preview panes
+	populatePreviewPane(mDate);
 }
 
 /*!
@@ -1143,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();
 }
 
 /*!
@@ -1163,43 +1224,18 @@
 }
 
 /*!
- Handles the long press on a grid item
- */
-void CalenMonthView::handleGridItemLongPressed(int index, QPointF &coords)
-{
-	QDateTime newActiveDay = CalenDateUtils::futureOf(mFirstDayOfGrid, index);
-
-	// set the context
-	mServices.Context().setFocusDateL(newActiveDay, KCalenMonthViewUidValue);
-
-	HbMenu *contextMenu = new HbMenu(this);
-
-	connect(contextMenu->addAction(hbTrId("txt_common_menu_open")), SIGNAL( triggered() ), this,
-	        SLOT( launchDayView()));
-	// TODO: Add the text id
-	connect(contextMenu->addAction("New Todo"), SIGNAL( triggered() ), this,
-	        SLOT( createEditor()));
-
-	// Show context sensitive menu. 
-	// Param const QPointF& coordinate - is a longpress position.
-	contextMenu->exec(coords);
-}
-
-/*!
  Sets the context w.r.t to the active day
  */
 void CalenMonthView::setContextForActiveDay(int index)
 {
 	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;
@@ -1216,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;
+	    }
 }
 
 /*!
@@ -1228,13 +1271,11 @@
  */
 void CalenMonthView::changeOrientation(Qt::Orientation orientation)
 {
-	if (this == mServices.MainWindow().currentView()) {
 		if (mOrientation != orientation) {
 			// change the orientation here
 			mOrientation = orientation;
 			handleChangeOrientation();
 		}
-	}
 }
 
 /*!
@@ -1260,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);
 	}
 }
 
@@ -1439,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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/src/calennativeview.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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);
 }
 
 /*!
@@ -95,27 +99,28 @@
  */
 void CalenNativeView::goToDate()
 {
-	// Get the current date.
-	QDateTime currentDateTime = CalenDateUtils::today();
-	QDate currentDate = currentDateTime.date();
-	mDatePicker = new HbDateTimePicker(currentDate, this);
-
+	// Create a popup with datepicker for the user to select date.
+	HbDialog *popUp = new HbDialog();
+	popUp->setDismissPolicy(HbDialog::NoDismiss);
+	popUp->setTimeout(HbDialog::NoTimeout);
+	popUp->setAttribute( Qt::WA_DeleteOnClose, true );
+	popUp->setHeadingWidget(new HbLabel(hbTrId("txt_calendar_opt_go_to_date")));
+	
+	if(mDatePicker) {
+		mDatePicker = NULL;
+	}
+	mDatePicker = new HbDateTimePicker(QDate::currentDate(), popUp);
 	// Set the date range.
 	mDatePicker->setMinimumDate(CalenDateUtils::minTime().date());
 	mDatePicker->setMaximumDate(CalenDateUtils::maxTime().date());
-
-	// Create a popup with datepicker for the user to select date.
-	HbDialog popUp;
-	popUp.setDismissPolicy(HbDialog::NoDismiss);
-	popUp.setTimeout(HbDialog::NoTimeout);
-	popUp.setHeadingWidget(new HbLabel(hbTrId("txt_calendar_opt_go_to_date")));
-	popUp.setContentWidget(mDatePicker);
+	mDatePicker->setDate(QDate::currentDate());
+	
+	popUp->setContentWidget(mDatePicker);
 	HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok"));
-	popUp.setPrimaryAction(okAction);
+	popUp->addAction(okAction);
 	connect(okAction, SIGNAL(triggered()), this, SLOT(goToSelectedDate()));
-	connect(okAction, SIGNAL(triggered()), &popUp, SLOT(close()));
-	popUp.setSecondaryAction(new HbAction(hbTrId("txt_common_button_cancel"), &popUp));
-	popUp.exec();
+	popUp->addAction(new HbAction(hbTrId("txt_common_button_cancel"), popUp));
+	popUp->open();
 }
 
 /*
@@ -130,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();
 }
@@ -202,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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/src/calenpluginlabel.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/src/calenpreviewpane.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/src/calensettingsview.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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::BackAction);
-	setNavigationAction(mSoftKeyAction);
-	connect(mSoftKeyAction, SIGNAL(triggered()), 
+	mSoftKeyAction = new HbAction(Hb::BackNaviAction);
+	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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/src/calenthicklinesdrawer.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/calendarui/views/views.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clock.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockengines/clockserver/server/src/clockserver.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockengines/clockserver/server/src/clockserverimpl.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +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 &)
-
--- a/clock/clockmw/bwins/clocksettingsutilityu.def	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-EXPORTS
-	?timeFormat@SettingsUtility@@QAEHAAVQStringList@@@Z @ 1 NONAME ; int SettingsUtility::timeFormat(class QStringList &)
-	?setSnoozeTime@SettingsUtility@@QAEXH@Z @ 2 NONAME ; void SettingsUtility::setSnoozeTime(int)
-	?setDateFormat@SettingsUtility@@QAEXABVQString@@@Z @ 3 NONAME ; void SettingsUtility::setDateFormat(class QString const &)
-	?time@SettingsUtility@@QAE?AVQString@@XZ @ 4 NONAME ; class QString SettingsUtility::time(void)
-	?staticMetaObject@SettingsUtility@@2UQMetaObject@@B @ 5 NONAME ; struct QMetaObject const SettingsUtility::staticMetaObject
-	?clockType@SettingsUtility@@QAEHAAVQStringList@@@Z @ 6 NONAME ; int SettingsUtility::clockType(class QStringList &)
-	?setDateSeparator@SettingsUtility@@QAEXABVQString@@@Z @ 7 NONAME ; void SettingsUtility::setDateSeparator(class QString const &)
-	?autoUpdate@SettingsUtility@@QAEHAAVQStringList@@@Z @ 8 NONAME ; int SettingsUtility::autoUpdate(class QStringList &)
-	?dateSeparator@SettingsUtility@@QAEHAAVQStringList@@@Z @ 9 NONAME ; int SettingsUtility::dateSeparator(class QStringList &)
-	?setTimeZone@SettingsUtility@@QAEXABVQString@@@Z @ 10 NONAME ; void SettingsUtility::setTimeZone(class QString const &)
-	?setAutoUpdate@SettingsUtility@@QAEXABVQString@@@Z @ 11 NONAME ; void SettingsUtility::setAutoUpdate(class QString const &)
-	?setTime@SettingsUtility@@QAEXABVQString@@@Z @ 12 NONAME ; void SettingsUtility::setTime(class QString const &)
-	??_ESettingsUtility@@UAE@I@Z @ 13 NONAME ; SettingsUtility::~SettingsUtility(unsigned int)
-	??0SettingsUtility@@QAE@PAVQObject@@@Z @ 14 NONAME ; SettingsUtility::SettingsUtility(class QObject *)
-	?qt_metacall@SettingsUtility@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 15 NONAME ; int SettingsUtility::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?setClockType@SettingsUtility@@QAEXABVQString@@@Z @ 16 NONAME ; void SettingsUtility::setClockType(class QString const &)
-	?setTimeFormat@SettingsUtility@@QAEXABVQString@@@Z @ 17 NONAME ; void SettingsUtility::setTimeFormat(class QString const &)
-	?settingsChanged@SettingsUtility@@IAEXW4SettingsItemChanged@@VQString@@@Z @ 18 NONAME ; void SettingsUtility::settingsChanged(enum SettingsItemChanged, class QString)
-	?timeFormatString@SettingsUtility@@QAE?AVQString@@XZ @ 19 NONAME ; class QString SettingsUtility::timeFormatString(void)
-	?tr@SettingsUtility@@SA?AVQString@@PBD0H@Z @ 20 NONAME ; class QString SettingsUtility::tr(char const *, char const *, int)
-	?setStartOfWeek@SettingsUtility@@QAEXH@Z @ 21 NONAME ; void SettingsUtility::setStartOfWeek(int)
-	?getStaticMetaObject@SettingsUtility@@SAABUQMetaObject@@XZ @ 22 NONAME ; struct QMetaObject const & SettingsUtility::getStaticMetaObject(void)
-	?workdays@SettingsUtility@@QAEHAAVQStringList@@@Z @ 23 NONAME ; int SettingsUtility::workdays(class QStringList &)
-	?date@SettingsUtility@@QAE?AVQString@@XZ @ 24 NONAME ; class QString SettingsUtility::date(void)
-	?dateFormat@SettingsUtility@@QAEHAAVQStringList@@@Z @ 25 NONAME ; int SettingsUtility::dateFormat(class QStringList &)
-	?setTimeSeparator@SettingsUtility@@QAEXABVQString@@@Z @ 26 NONAME ; void SettingsUtility::setTimeSeparator(class QString const &)
-	?qt_metacast@SettingsUtility@@UAEPAXPBD@Z @ 27 NONAME ; void * SettingsUtility::qt_metacast(char const *)
-	?snoozeTime@SettingsUtility@@QAEHAAVQStringList@@@Z @ 28 NONAME ; int SettingsUtility::snoozeTime(class QStringList &)
-	?setWorkdays@SettingsUtility@@QAEXABVQString@@@Z @ 29 NONAME ; void SettingsUtility::setWorkdays(class QString const &)
-	?dateFormatString@SettingsUtility@@QAE?AVQString@@XZ @ 30 NONAME ; class QString SettingsUtility::dateFormatString(void)
-	?metaObject@SettingsUtility@@UBEPBUQMetaObject@@XZ @ 31 NONAME ; struct QMetaObject const * SettingsUtility::metaObject(void) const
-	?timeZone@SettingsUtility@@QAE?AVQString@@XZ @ 32 NONAME ; class QString SettingsUtility::timeZone(void)
-	?timeSeparator@SettingsUtility@@QAEHAAVQStringList@@@Z @ 33 NONAME ; int SettingsUtility::timeSeparator(class QStringList &)
-	??1SettingsUtility@@UAE@XZ @ 34 NONAME ; SettingsUtility::~SettingsUtility(void)
-	?trUtf8@SettingsUtility@@SA?AVQString@@PBD0@Z @ 35 NONAME ; class QString SettingsUtility::trUtf8(char const *, char const *)
-	?tr@SettingsUtility@@SA?AVQString@@PBD0@Z @ 36 NONAME ; class QString SettingsUtility::tr(char const *, char const *)
-	?trUtf8@SettingsUtility@@SA?AVQString@@PBD0H@Z @ 37 NONAME ; class QString SettingsUtility::trUtf8(char const *, char const *, int)
-	?setDate@SettingsUtility@@QAEXABVQString@@@Z @ 38 NONAME ; void SettingsUtility::setDate(class QString const &)
-
--- a/clock/clockmw/bwins/clockstopwatchengineu.def	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-EXPORTS
-	??_ETimezoneClient@@UAE@I@Z @ 1 NONAME ; TimezoneClient::~TimezoneClient(unsigned int)
-	?locationSelectorModel@TimezoneClient@@QAEPAVQStandardItemModel@@XZ @ 2 NONAME ; class QStandardItemModel * TimezoneClient::locationSelectorModel(void)
-	?getUtcDstOffsetL@TimezoneClient@@QAE_NAAHABVCTzId@@@Z @ 3 NONAME ; bool TimezoneClient::getUtcDstOffsetL(int &, class CTzId const &)
-	?getLocations@TimezoneClient@@QAE?AV?$QList@ULocationInfo@@@@XZ @ 4 NONAME ; class QList<struct LocationInfo> TimezoneClient::getLocations(void)
-	?getCityOffsetByNameAndId@TimezoneClient@@QAEHABVQString@@H@Z @ 5 NONAME ; int TimezoneClient::getCityOffsetByNameAndId(class QString const &, int)
-	?intToMonth@TimezoneClient@@AAE?AW4TMonth@@H@Z @ 6 NONAME ; enum TMonth TimezoneClient::intToMonth(int)
-	?getDstZoneOffset@TimezoneClient@@AAEHH@Z @ 7 NONAME ; int TimezoneClient::getDstZoneOffset(int)
-	?environmentCallback@TimezoneClient@@SAHPAX@Z @ 8 NONAME ; int TimezoneClient::environmentCallback(void *)
-	?trUtf8@TimezoneClient@@SA?AVQString@@PBD0H@Z @ 9 NONAME ; class QString TimezoneClient::trUtf8(char const *, char const *, int)
-	?getStandardOffset@TimezoneClient@@QAEHH@Z @ 10 NONAME ; int TimezoneClient::getStandardOffset(int)
-	?getCurrentZoneInfoL@TimezoneClient@@QAE?AULocationInfo@@XZ @ 11 NONAME ; struct LocationInfo TimezoneClient::getCurrentZoneInfoL(void)
-	?createWorldClockModel@TimezoneClient@@QAEXXZ @ 12 NONAME ; void TimezoneClient::createWorldClockModel(void)
-	?dstOn@TimezoneClient@@QAE_NH@Z @ 13 NONAME ; bool TimezoneClient::dstOn(int)
-	?tr@TimezoneClient@@SA?AVQString@@PBD0H@Z @ 14 NONAME ; class QString TimezoneClient::tr(char const *, char const *, int)
-	?setAsCurrentLocationL@TimezoneClient@@QAEXAAULocationInfo@@@Z @ 15 NONAME ; void TimezoneClient::setAsCurrentLocationL(struct LocationInfo &)
-	?timeUpdateOn@TimezoneClient@@QAE_NXZ @ 16 NONAME ; bool TimezoneClient::timeUpdateOn(void)
-	?staticMetaObject@TimezoneClient@@2UQMetaObject@@B @ 17 NONAME ; struct QMetaObject const TimezoneClient::staticMetaObject
-	?qt_metacast@TimezoneClient@@UAEPAXPBD@Z @ 18 NONAME ; void * TimezoneClient::qt_metacast(char const *)
-	?trUtf8@TimezoneClient@@SA?AVQString@@PBD0@Z @ 19 NONAME ; class QString TimezoneClient::trUtf8(char const *, char const *)
-	?getDstRulesL@TimezoneClient@@QAEXAAVQDateTime@@0H@Z @ 20 NONAME ; void TimezoneClient::getDstRulesL(class QDateTime &, class QDateTime &, int)
-	?getSavedLocations@TimezoneClient@@QAE?AV?$QList@ULocationInfo@@@@XZ @ 21 NONAME ; class QList<struct LocationInfo> TimezoneClient::getSavedLocations(void)
-	?listUpdated@TimezoneClient@@IAEXXZ @ 22 NONAME ; void TimezoneClient::listUpdated(void)
-	?populateCities@TimezoneClient@@AAEXXZ @ 23 NONAME ; void TimezoneClient::populateCities(void)
-	?tr@TimezoneClient@@SA?AVQString@@PBD0@Z @ 24 NONAME ; class QString TimezoneClient::tr(char const *, char const *)
-	?getStaticMetaObject@TimezoneClient@@SAABUQMetaObject@@XZ @ 25 NONAME ; struct QMetaObject const & TimezoneClient::getStaticMetaObject(void)
-	?metaObject@TimezoneClient@@UBEPBUQMetaObject@@XZ @ 26 NONAME ; struct QMetaObject const * TimezoneClient::metaObject(void) const
-	?setDateTime@TimezoneClient@@QAEXVQDateTime@@@Z @ 27 NONAME ; void TimezoneClient::setDateTime(class QDateTime)
-	??0TimezoneClient@@QAE@PAVQObject@@@Z @ 28 NONAME ; TimezoneClient::TimezoneClient(class QObject *)
-	?setTimeUpdateOn@TimezoneClient@@QAEX_N@Z @ 29 NONAME ; void TimezoneClient::setTimeUpdateOn(bool)
-	?getCountries@TimezoneClient@@QAEXAAV?$QMap@VQString@@H@@@Z @ 30 NONAME ; void TimezoneClient::getCountries(class QMap<class QString, int> &)
-	?getCityGroupIdByName@TimezoneClient@@QAEHABVQString@@@Z @ 31 NONAME ; int TimezoneClient::getCityGroupIdByName(class QString const &)
-	?checkForDstChange@TimezoneClient@@QAE_NAAUAlarmInfo@@@Z @ 32 NONAME ; bool TimezoneClient::checkForDstChange(struct AlarmInfo &)
-	?getCitiesForCountry@TimezoneClient@@QAEXHAAV?$QMap@VQString@@H@@@Z @ 33 NONAME ; void TimezoneClient::getCitiesForCountry(int, class QMap<class QString, int> &)
-	?isDSTOnL@TimezoneClient@@QAE_NH@Z @ 34 NONAME ; bool TimezoneClient::isDSTOnL(int)
-	?timechanged@TimezoneClient@@IAEXXZ @ 35 NONAME ; void TimezoneClient::timechanged(void)
-	??1TimezoneClient@@UAE@XZ @ 36 NONAME ; TimezoneClient::~TimezoneClient(void)
-	?saveLocations@TimezoneClient@@QAEXABV?$QList@ULocationInfo@@@@@Z @ 37 NONAME ; void TimezoneClient::saveLocations(class QList<struct LocationInfo> const &)
-	?getLocationInfo@TimezoneClient@@QAEXHHAAULocationInfo@@@Z @ 38 NONAME ; void TimezoneClient::getLocationInfo(int, int, struct LocationInfo &)
-	?qt_metacall@TimezoneClient@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 39 NONAME ; int TimezoneClient::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?addCity@TimezoneClient@@QAE?AULocationInfo@@HAAVQString@@H@Z @ 40 NONAME ; struct LocationInfo TimezoneClient::addCity(int, class QString &, int)
-	?getAllTimeZoneOffsets@TimezoneClient@@QAE?AV?$QList@H@@XZ @ 41 NONAME ; class QList<int> TimezoneClient::getAllTimeZoneOffsets(void)
-	?getCountriesForUTCOffset@TimezoneClient@@QAE?AV?$QList@ULocationInfo@@@@H@Z @ 42 NONAME ; class QList<struct LocationInfo> TimezoneClient::getCountriesForUTCOffset(int)
-	?getAllTimeZoneIds@TimezoneClient@@QAE?AV?$QList@H@@XZ @ 43 NONAME ; class QList<int> TimezoneClient::getAllTimeZoneIds(void)
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockmw/clockalarms/bwins/clockalarmclientu.def	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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
+
--- a/clock/clockmw/clockalarms/inc/alarmclient.h	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockmw/clockalarms/inc/alarmclient.h	Mon Jun 28 15:22:02 2010 +0530
@@ -56,6 +56,7 @@
 	void getAlarmList(QList<AlarmInfo>& alarmList);
 	void setAlarm(AlarmInfo& alarmInfo);
 	void deleteAlarm(int alarmId);
+	int deleteSnoozedAlarm(int alarmId);
 	int getAlarmInfo(int alarmId, AlarmInfo& alarmInfo);
 	void toggleAlarmStatus(int alarmId, int alarmStatus);
 
--- a/clock/clockmw/clockalarms/src/alarmclient.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockmw/clockalarms/src/alarmclient.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -18,8 +18,6 @@
 
 // System includes
 #include <e32cmn.h>
-#include <QDebug>
-
 // User includes
 #include "alarmclient.h"
 #include "alarmlistener.h"
@@ -34,18 +32,11 @@
 AlarmClient::AlarmClient(QObject* parent)
 :QObject(parent),
 mListener(0)
-{
-	qDebug("clock: AlarmClient::AlarmClient() -->");
-
+{	
 	// Connect to the alarm server.
 	User::LeaveIfError(mAlarmSrvSession.Connect());
-
-	qDebug("clock: AlarmClient::AlarmClient() - Connection done, looks ok.");
-
 	// Construct the listener, but do not start it.
 	mListener = new AlarmListener(this, mAlarmSrvSession);
-
-	qDebug("clock: AlarmClient::AlarmClient() <--");
 }
 
 /*!
@@ -53,7 +44,6 @@
  */
 AlarmClient::~AlarmClient()
 {
-	qDebug("clock: AlarmClient::~AlarmClient() -->");
 
 	if (mListener) {
 		mListener->stop();
@@ -61,8 +51,6 @@
 		mListener = 0;
 	}
 	mAlarmSrvSession.Close();
-
-	qDebug("clock: AlarmClient::~AlarmClient() <--");
 }
 
 /*!
@@ -72,8 +60,6 @@
  */
 void AlarmClient::getAlarmList(QList<AlarmInfo>& alarmList)
 {
-	qDebug() << "clock: AlarmClient::getAlarmList -->";
-
 	// This will hold the alarm ids returned from alarm server.
 	RArray<TAlarmId> alarmIdArray;
 	AlarmInfo alarmInfo;
@@ -135,8 +121,6 @@
 	}
 	// Cleanup.
 	alarmIdArray.Close();
-
-	qDebug() << "clock: AlarmClient::getAlarmList <--";
 }
 
 /*!
@@ -144,8 +128,6 @@
  */
 void AlarmClient::setAlarm(AlarmInfo& alarmInfo)
 {
-	qDebug() << "clock: AlarmClient::setAlarm -->";
-
 	// Get the current home time
 	TTime homeTime;
 	homeTime.HomeTime();
@@ -222,14 +204,10 @@
 
 		alarmInfo.alarmDateTime = alarmDate;
 	}
-
-	qDebug() << "clock: AlarmClient::setAlarm <--";
 }
 
 void AlarmClient::setAlarmState(TAlarmState state, AlarmState& alarmState)
 {
-	qDebug() << "clock: AlarmClient::setAlarmState -->";
-
 	switch (state) {
 		case EAlarmStateInPreparation:
 			alarmState = InPreparation;
@@ -253,13 +231,10 @@
 			break;
 	}
 
-	qDebug() << "clock: AlarmClient::setAlarmState <--";
 }
 
 void AlarmClient::setAlarmState(AlarmState state, TAlarmState& alarmState)
 {
-	qDebug() << "clock: AlarmClient::setAlarmState -->";
-
 	switch (state) {
 		case InPreparation:
 			alarmState = EAlarmStateInPreparation;
@@ -282,15 +257,11 @@
 		default:
 			break;
 	}
-
-	qDebug() << "clock: AlarmClient::setAlarmState <--";
 }
 
 void AlarmClient::setAlarmRepeatType(
 		TAlarmRepeatDefinition repeat, AlarmRepeatType& repeatType)
 {
-	qDebug() << "clock: AlarmClient::setAlarmRepeatType -->";
-
 	switch (repeat) {
 		case EAlarmRepeatDefintionRepeatOnce:
 			repeatType = Once;
@@ -307,15 +278,11 @@
 		default:
 			break;
 	}
-
-	qDebug() << "clock: AlarmClient::setAlarmRepeatType <--";
 }
 
 void AlarmClient::setAlarmRepeatType(
 		AlarmRepeatType repeat, TAlarmRepeatDefinition& repeatType)
 {
-	qDebug() << "clock: AlarmClient::setAlarmRepeatType -->";
-
 	switch (repeat) {
 		case Once:
 			repeatType = EAlarmRepeatDefintionRepeatOnce;
@@ -332,24 +299,41 @@
 		default:
 			break;
 	}
-
-	qDebug() << "clock: AlarmClient::setAlarmRepeatType <--";
 }
 
 void AlarmClient::deleteAlarm(int alarmId)
 {
-	qDebug() << "clock: AlarmClient::deleteAlarm -->";
-
 	// Request the alarmserver to delete the alarm.
 	mAlarmSrvSession.AlarmDelete(alarmId);
+}
 
-	qDebug() << "clock: AlarmClient::deleteAlarm <--";
+/*!
+	 Delete the snoozed alarm.
+	 
+	 \param alarmId needs to be deleted and reset again.
+	 \return int error value if any.
+ */
+int AlarmClient::deleteSnoozedAlarm(int alarmId)
+{
+	AlarmInfo alarmInfo;
+	int retVal(KErrNone);
+	int returnVal = getAlarmInfo(alarmId, alarmInfo);
+	if (KErrNone != retVal) {
+		return retVal;
+	}
+	returnVal = mAlarmSrvSession.AlarmDelete(alarmId);
+	if (KErrNone != retVal) {
+		return retVal;
+	}
+	alarmInfo.alarmState = InPreparation;
+	alarmInfo.nextDueTime = alarmInfo.origAlarmTime;
+	setAlarm(alarmInfo);
+	
+	return retVal;
 }
 
 int AlarmClient::getAlarmInfo(int alarmId, AlarmInfo& alarmInfo)
 {
-	qDebug() << "clock: AlarmClient::getAlarmInfo -->";
-
 	TASShdAlarm tempSharedAlarm;
 
 	// Get the requested alarm info from the alarm server.
@@ -373,11 +357,15 @@
 				tempSharedAlarm.NextDueTime().DateTime().Minute(),
 				tempSharedAlarm.NextDueTime().DateTime().Second());
 
-		// Alarm day
+		// Alarm date
 		alarmInfo.alarmDateTime.setYMD(
 				tempSharedAlarm.OriginalExpiryTime().DateTime().Year(),
 				tempSharedAlarm.OriginalExpiryTime().DateTime().Month()+1,
 				tempSharedAlarm.OriginalExpiryTime().DateTime().Day()+1);
+		
+		// Set alarm day.
+		alarmInfo.alarmDay =
+			tempSharedAlarm.OriginalExpiryTime().DayNoInWeek();
 
 		// The alarm status
 		if (EAlarmStatusEnabled == tempSharedAlarm.Status()) {
@@ -404,46 +392,31 @@
 			alarmInfo.volumeStatus = AlarmVolumeOff;
 		}
 	}
-
-	qDebug() << "clock: AlarmClient::getAlarmInfo <--";
-
 	return error;
 }
 
 void AlarmClient::toggleAlarmStatus(int alarmId, int alarmStatus)
 {
-	qDebug() << "clock: AlarmClient::toggleAlarmStatus -->";
 
 	mAlarmSrvSession.SetAlarmStatus(alarmId, (TAlarmStatus)alarmStatus);
 
-	qDebug() << "clock: AlarmClient::toggleAlarmStatus <--";
 }
 
 void AlarmClient::startListener()
 {
-	qDebug("clock: AlarmClient::startListener() -->");
+		mListener->start();
 
-	mListener->start();
-
-	qDebug("clock: AlarmClient::startListener() <--");
 }
 
 void AlarmClient::stopListener()
 {
-	qDebug("clock: AlarmClient::stopListener() -->");
-
 	mListener->stop();
 
-	qDebug("clock: AlarmClient::stopListener() <--");
 }
 
 void AlarmClient::notifyChange(int alarmId)
 {
-	qDebug() << "clock: AlarmClient::notifyChange -->";
-
-	emit alarmStateChanged(alarmId);
-
-	qDebug() << "clock: AlarmClient::notifyChange <--";
+		emit alarmStateChanged(alarmId);
 }
 
 // End of file	--Don't remove this.
--- a/clock/clockmw/clockalarms/src/alarmlistener.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockmw/clockalarms/src/alarmlistener.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -25,57 +25,39 @@
 mClient(client),
 mSession(session)
 {
-	qDebug("clock: AlarmListener::AlarmListener -->");
-
-	// Nothing to do.
-
-	qDebug("clock: AlarmListener::AlarmListener <--");
+		// Nothing to do.
 }
 
 AlarmListener::~AlarmListener()
 {
-	qDebug("clock: AlarmListener::~AlarmListener -->");
-
 	if (IsActive()) {
 		Cancel();
 	}
 
-	qDebug("clock: AlarmListener::~AlarmListener <--");
 }
 
 void AlarmListener::start()
 {
-	qDebug("clock: AlarmListener::start -->");
-
 	// Add the AO to the scheduler.
 	CActiveScheduler::Add(this);
 
 	// Subscrive for async notification from alarm server.
 	mSession.NotifyChange(iStatus, mAlarmId);
 
-	qDebug("clock: AlarmListener::start - Successfully subscribed for change notifiation.");
-
 	// Set the AO active.
 	SetActive();
 
-	qDebug("clock: AlarmListener::start <--");
 }
 
 void AlarmListener::stop()
 {
-	qDebug("clock: AlarmListener::stop -->");
-
 	if (IsActive()) {
 		Cancel();
 	}
-
-	qDebug("clock: AlarmListener::stop <--");
 }
 
 void AlarmListener::RunL()
 {
-	qDebug("clock: AlarmListener::RunL --");
-
 	if (iStatus != KRequestPending) {
 		// We get notification for various changes with the alarm server.
 		// Only the required Events are used to emit a signal.
@@ -95,18 +77,13 @@
 
 		SetActive();
 	}
-
-	qDebug("clock: AlarmListener::RunL <--");
 }
 
 void AlarmListener::DoCancel()
 {
-	qDebug("clock: AlarmListener::DoCancel -->");
-
 	// Cancel async request.
 	mSession.NotifyChangeCancel();
 
-	qDebug("clock: AlarmListener::DoCancel <--");
 }
 
 // End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockmw/clocksettingsutility/bwins/clocksettingsutilityu.def	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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/inc/settingsutility.h	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockmw/clocksettingsutility/inc/settingsutility.h	Mon Jun 28 15:22:02 2010 +0530
@@ -42,11 +42,11 @@
 	~SettingsUtility();
 
 public:
-	void setTime(const QString &time);
+//	void setTime(const QString &time);
 	QString time();
 
-	void setTimeZone(const QString &timezone);
-	QString timeZone();
+/*	void setTimeZone(const QString &timezone);
+	QString timeZone();*/
 
 	void setTimeFormat(const QString &format);
 	int timeFormat(QStringList &format);
@@ -57,10 +57,10 @@
 	void setTimeSeparator(const QString &separator);
 	int timeSeparator(QStringList &list);
 
-	void setAutoUpdate(const QString &value);
-	int autoUpdate(QStringList &list);
+/*	void setAutoUpdate(const QString &value);
+	int autoUpdate(QStringList &list);*/
 
-	void setDate(const QString &date);
+//	void setDate(const QString &date);
 	QString date();
 
 	void setDateFormat(const QString &format);
@@ -91,8 +91,6 @@
 	QStringList mDateSeparatorList;
 	QStringList mAutoUpdateValueList;
 	QStringList mSnoozeValueList;
-
-	TimezoneClient *mTimeZoneClient;
 };
 
 #endif // SETTINGSUTILITY_H
--- a/clock/clockmw/clocksettingsutility/src/settingsutility.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockmw/clocksettingsutility/src/settingsutility.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -37,21 +37,13 @@
 SettingsUtility::SettingsUtility(QObject *parent)
 :QObject(parent)
 {
-	qDebug("clock: SettingsUtility::SettingsUtility -->");
-
 	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("-");
 	mAutoUpdateValueList << tr("ON") << tr("OFF");
 	mSnoozeValueList << tr("5 minutes") << tr("15 minutes") << tr(" 30 minutes") << tr("1 hour");
-
-	mTimeZoneClient = new TimezoneClient(this);
-
-	qDebug("clock: SettingsUtility::SettingsUtility <--");
-
-//	mSettingsMamager = new XQSettingsManager(this);
 }
 
 /*!
@@ -59,23 +51,11 @@
  */
 SettingsUtility::~SettingsUtility()
 {
-	// Nothing yet.
+	// Nothing.
 }
 
 /*!
-
- */
-void SettingsUtility::setTime(const QString &time)
-{
-	QTime newTime = QTime::fromString(time, timeFormatString());
-
-	if (newTime.isValid()) {
-		mTimeZoneClient->setDateTime(QDateTime(QDate::currentDate(), newTime));
-	}
-}
-
-/*!
-
+	Returns the current time in the device.
  */
 QString SettingsUtility::time()
 {
@@ -85,64 +65,6 @@
 /*!
 
  */
-void SettingsUtility::setTimeZone(const QString &timezone)
-{
-	Q_UNUSED(timezone)
-}
-
-/*!
-
- */
-QString SettingsUtility::timeZone()
-{
-	QStringList dummyList;
-
-	// Get the current zone info.
-	LocationInfo currentZoneInfo = mTimeZoneClient->getCurrentZoneInfoL();
-
-	// Construct the GMT +/- X string.
-	QString gmtOffset(hbTrId("txt_common_common_gmt"));
-
-	int utcOffset = currentZoneInfo.zoneOffset;
-	int offsetInHours (utcOffset/60);
-	int offsetInMinutes (utcOffset%60);
-
-	// Check wether the offset is +ve or -ve.
-	if (0 < utcOffset) {
-		// We have a positive offset. Append the '+' character.
-		gmtOffset += tr("+ ");
-	} else if (0 > utcOffset) {
-		// We have a negative offset. Append the '-' character.
-		gmtOffset += tr("- ");
-		offsetInHours = -offsetInHours;
-	} else {
-		// We dont have an offset. We are at GMT zone.
-	}
-
-	// Append the hour component.
-	gmtOffset += QString::number(offsetInHours);
-
-	// Append the time separator.
-	gmtOffset += mTimeSeparatorList.at(timeSeparator(dummyList));
-
-	// Append the minute component.
-	// If minute component is less less than 10, append a '00'
-	if (0 <= offsetInMinutes && offsetInMinutes < 10) {
-		gmtOffset += tr("00");
-	} else {
-		gmtOffset += QString::number(offsetInMinutes);
-	}
-
-	gmtOffset += tr(" ");
-	// TODO: append city name when more than one cities else country name.
-	gmtOffset += currentZoneInfo.cityName;
-
-	return gmtOffset;
-}
-
-/*!
-
- */
 void SettingsUtility::setTimeFormat(const QString& format)
 {
 	TLocale locale;
@@ -234,8 +156,6 @@
  */
 int SettingsUtility::timeSeparator(QStringList &list)
 {
-	qDebug() << "clock: SettingsUtility::timeSeparator -->";
-
 	TLocale locale;
 	TChar separatorChar = locale.TimeSeparator(1);
 	int value = -1;
@@ -249,70 +169,14 @@
 	}
 
 	list = mTimeSeparatorList;
-
-	qDebug() << "clock: SettingsUtility::timeSeparator <--";
-
 	return value;
 }
 
 /*!
 
  */
-void SettingsUtility::setAutoUpdate(const QString &value)
-{
-	// TODO: implement the changes after server is in place.
-	// 1. Inform the server about the setting.
-	// 2. Get the status of the change from server
-	// 3. Emit the signal to inform the clients of the change in the settings item,
-	// pass the enum of settings item changed and the updated value.
-
-	if (0 == value.compare(tr("ON"), Qt::CaseInsensitive)) {
-		mTimeZoneClient->setTimeUpdateOn(true);
-    } else {
-    	mTimeZoneClient->setTimeUpdateOn(false);
-    }
-
-	emit settingsChanged(AutoTimeUpdate, value);
-}
-
-/*!
-
- */
-int SettingsUtility::autoUpdate(QStringList &list)
-{
-	// TODO: implement properly. this is jst a dummy implementation.
-	int value = 1;
-
-	bool autoUpdate = mTimeZoneClient->timeUpdateOn();
-
-	if (autoUpdate) {
-	    value = 0;
-    }
-	list = mAutoUpdateValueList;
-	return value;
-}
-
-/*!
-
- */
-void SettingsUtility::setDate(const QString &date)
-{
-	QDate newDate = QDate::fromString(date, dateFormatString());
-
-	if (newDate.isValid()) {
-		mTimeZoneClient->setDateTime(QDateTime(newDate, QTime::currentTime()));
-    }
-}
-
-/*!
-
- */
 QString SettingsUtility::date()
 {
-	qDebug() << "clock: SettingsUtility::date -->";
-
-	qDebug() << "clock: SettingsUtility::date <--";
-
 	return QDate::currentDate().toString(dateFormatString());
 }
 
@@ -456,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	Mon Jun 28 15:22:02 2010 +0530
@@ -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 * *)
+
--- a/clock/clockmw/clocktimezone/clocktimezone.pro	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockmw/clocktimezone/clocktimezone.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -41,7 +41,8 @@
 			-lbafl \
 			-ltimezonelocalization \
 			-ltzclient \
-			-lclockserverclient
+			-lclockserverclient \
+			-lxqsettingsmanager
 
 	BLD_INF_RULES.prj_exports += \
 		"../../data/timezonedata/timezonelocalization.loc	APP_LAYER_LOC_EXPORT_PATH(timezonelocalization.loc)" \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockmw/clocktimezone/eabi/timezoneclientu.def	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockmw/clocktimezone/inc/timezoneclient.h	Mon Jun 28 15:22:02 2010 +0530
@@ -41,6 +41,8 @@
 class CEnvironmentChangeNotifier;
 class QStandardItemModel;
 class CTzLocalizer;
+class XQSettingsManager;
+class XQSettingsKey;
 
 const int KInitialEvent = (
 		EChangesLocale |
@@ -56,29 +58,31 @@
 	Q_OBJECT
 
 public:
-	TimezoneClient(QObject* parent = 0);
+	/*TIMEZONECLIENT_EXPORT*/ static TimezoneClient* getInstance();
+	/*TIMEZONECLIENT_EXPORT*/ void deleteInstance();
+	/*TIMEZONECLIENT_EXPORT*/ bool isNull();
+
+private:
+	TimezoneClient();
 	~TimezoneClient();
 
+private:
+
+private:
+	static TimezoneClient *mTimezoneClient;
+	static bool mReferenceCount;
+
+// TODO: still refatoring
 public:
-	QList<LocationInfo> getLocations();
-	bool getUtcDstOffsetL(int &dstOffset,
-						  const CTzId &tzId);
-	LocationInfo getCurrentZoneInfoL();
-	void setAsCurrentLocationL(LocationInfo &location);
-	bool isDSTOnL(int timezoneId);
-	int getStandardOffset(int timezoneId);
-	void getDstRulesL(
-			QDateTime &startTime, QDateTime &endTime,int timezoneId);
+	/*TIMEZONECLIENT_EXPORT*/ 	QList<LocationInfo> &getLocations();
+	/*TIMEZONECLIENT_EXPORT*/ LocationInfo getCurrentZoneInfoL();
+	/*TIMEZONECLIENT_EXPORT*/ void setAsCurrentLocationL(LocationInfo &location);
+	/*TIMEZONECLIENT_EXPORT*/ bool isDSTOnL(int timezoneId);
+	/*TIMEZONECLIENT_EXPORT*/ int getStandardOffset(int timezoneId);
 	QList<LocationInfo> getSavedLocations();
 	void saveLocations(const QList<LocationInfo> &locationList);
 	void getCountries(QMap<QString, int>& countries);
-	void getCitiesForCountry(
-			int id, QMap<QString, int>& cities);
-	void getLocationInfo(
-			int groupId, int cityIndex, LocationInfo& cityInfo);
 	bool dstOn(int tzId);
-	int getCityGroupIdByName(const QString& name);
-	int getCityOffsetByNameAndId(const QString& name, int tzId);
 	void setDateTime(QDateTime dateTime);
 	void setTimeUpdateOn(bool timeUpdate = true);
 	bool timeUpdateOn();
@@ -96,13 +100,25 @@
 signals:
 	void timechanged();
 	void listUpdated();
-
+	void autoTimeUpdateChanged(int value);
+	void cityUpdated();
+	
 private:
 	int getDstZoneOffset(int tzId);
 	TMonth intToMonth(int month);
+	bool getUtcDstOffsetL(int &dstOffset, const CTzId &tzId);
+	void getDstRulesL(
+			QDateTime &startTime, QDateTime &endTime,int timezoneId);
+	void getCitiesForCountry(
+			int id, QMap<QString, int>& cities);
+	void getLocationInfo(
+			int groupId, int cityIndex, LocationInfo& cityInfo);
+	int getCityGroupIdByName(const QString& name);
+	int getCityOffsetByNameAndId(const QString& name, int tzId);
 
 private slots:
-    void populateCities();
+	void populateCities();
+	void eventMonitor(const XQSettingsKey& key, const QVariant& value);
 
 public:
 	CEnvironmentChangeNotifier *mNotifier;
@@ -112,14 +128,16 @@
 	QMap<QString, int> mAllCountries;
 	QList<LocationInfo> mAllLocations;
 	QStandardItemModel *mWorldClockModel;
+	XQSettingsManager *mSettingsManager;
+	XQSettingsKey *mAutoTimeUpdateKey;
 
 	QList<int> mTimeZoneIds;
 
-	bool mTimeUpdateOn;
-	int mFetchCount;
+//	bool mTimeUpdateOn;
 	int mCountryCount;
+	int mAutoTimeUpdateValue;
 };
 
-#endif      // __TIMEZONECLIENT_H__
+#endif		// __TIMEZONECLIENT_H__
 
 // End of file
--- a/clock/clockmw/clocktimezone/src/timezoneclient.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockmw/clocktimezone/src/timezoneclient.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -19,18 +19,19 @@
 // System includes
 #include <QList>
 #include <QStandardItemModel>
-#include <QDebug>
 #include <QtAlgorithms>
 #include <tzlocalizationdatatypes.h>
 #include <tzlocalizer.h>
 #include <tz.h>
 #include <vtzrules.h>
+#include <xqsettingsmanager.h>
+#include <xqsettingskey.h>
 
 // User includes
 #include "timezoneclient.h"
 #include "clockcommon.h"
-#include "debug.h"
 #include "clockserverclt.h"
+#include "clockprivatecrkeys.h"
 
 const int KDaysInWeek(7);
 const int KZerothRule(0);
@@ -44,39 +45,72 @@
 	tzserver and timezonelocalization.
  */
 
+TimezoneClient* TimezoneClient::mTimezoneClient = 0;
+bool TimezoneClient::mReferenceCount = false;
 /*!
-	Default constructor.
+	Call this funtion to instantiate the TimezoneClient class.
+ */
+TimezoneClient* TimezoneClient::getInstance()
+{
+	if (!mTimezoneClient) {
+		mTimezoneClient = new TimezoneClient();
+		mReferenceCount = true;
+	}
 
-	\param parent The parent.
+	return mTimezoneClient;
+}
+
+/*!
+	Call this function to clean up the instance of TimezoneClient class.
  */
-TimezoneClient::TimezoneClient(QObject* parent)
-:QObject(parent),
- mTimeUpdateOn(false),
- mFetchCount(0)
+void TimezoneClient::deleteInstance()
 {
-	qDebug("clock: TimezoneClient::TimezoneClient() -->");
+	if (mReferenceCount) {
+		delete mTimezoneClient;
+		mTimezoneClient = 0;
+	}
+}
 
+/*!
+	Call this function to check if the object is NULL.
+ */
+bool TimezoneClient::isNull()
+{
+	return !mReferenceCount;
+}
+
+/*!
+	The constructor.
+ */
+TimezoneClient::TimezoneClient()
+{
 	TCallBack callback(environmentCallback, this);
 
 	mNotifier = CEnvironmentChangeNotifier::NewL(
 			CActive::EPriorityStandard, callback);
 	mNotifier->Start();
 
-	RClkSrvInterface clkSrvInterface1;
-	User::LeaveIfError(clkSrvInterface1.Connect());
-	TBool aUpdate;
-	clkSrvInterface1.IsAutoTimeUpdateOn(aUpdate);
-	if(aUpdate){
-	mTimeUpdateOn = true;
-	}
-	else {
-	mTimeUpdateOn = false;
-	}
-	clkSrvInterface1.Close();
-
 	mTzLocalizer = CTzLocalizer::NewL();
 
-	qDebug("clock: TimezoneClient::TimezoneClient() <--");
+	// Create the settings manager.
+	mSettingsManager = new XQSettingsManager(this);
+
+	// Create the key for auto time update.
+	mAutoTimeUpdateKey = new XQSettingsKey(
+			XQSettingsKey::TargetCentralRepository,
+			KCRUidNitz,
+			KActiveProtocol);
+
+	// Start the monitoring for the auto time update key.
+	mSettingsManager->startMonitoring(*mAutoTimeUpdateKey);
+
+	// Get the value of auto time update from cenrep.
+	mAutoTimeUpdateValue = timeUpdateOn();
+
+	// Listen to the key value changes.
+	connect(
+			mSettingsManager, SIGNAL(valueChanged(XQSettingsKey, QVariant)),
+			this, SLOT(eventMonitor(XQSettingsKey, QVariant)));
 }
 
 /*!
@@ -99,6 +133,11 @@
 	if (mTimeZoneIds.count()) {
 		mTimeZoneIds.clear();
 	}
+	// Clear the locations if exist.
+	if (mAllLocations.count()) {
+		mAllLocations.clear();
+	}
+
 }
 
 /*!
@@ -109,20 +148,15 @@
 			valid cityName, countryName, tz id and city group id. None of the other
 			data is filled.
  */
-QList<LocationInfo> TimezoneClient::getLocations()
+QList<LocationInfo>& TimezoneClient::getLocations()
 {
-	qDebug("clock: TimezoneClient::getLocations() -->");
-
-	// This list will contain the info of the cities fetched from tz server.
-	QList<LocationInfo> infoList;
-
-	// Construct the timezone localizer.
-	CTzLocalizer* localizer = CTzLocalizer::NewL();
-	CleanupStack::PushL(localizer);
+	if (mAllLocations.count()) {
+		mAllLocations.clear();
+	}
 
 	// Get the cities, in alphabetical-ascending sorted order.
 	CTzLocalizedCityArray* cityArray =
-			localizer->GetCitiesL(CTzLocalizer::ETzAlphaNameAscending);
+			mTzLocalizer->GetCitiesL(CTzLocalizer::ETzAlphaNameAscending);
 	ASSERT(cityArray);
 	CleanupStack::PushL(cityArray);
 	int cityCount = cityArray->Count();
@@ -150,7 +184,7 @@
 			if (country) {
 				delete country;
 			}
-			country = localizer->GetCityGroupL(cityGroupId);
+			country = mTzLocalizer->GetCityGroupL(cityGroupId);
 			countryName.Set(country->Name());
 		}
 
@@ -162,16 +196,12 @@
 				cityName.Ptr(), cityName.Length());
 		cityInfo.countryName = QString::fromUtf16(
 				countryName.Ptr(), countryName.Length());
-		infoList.append(cityInfo);
+		mAllLocations.append(cityInfo);
 	}
 
 	// Cleanup.
 	CleanupStack::PopAndDestroy(cityArray);
-	CleanupStack::PopAndDestroy(localizer);
-
-	qDebug("clock: TimezoneClient::getLocations() <--");
-
-	return infoList;
+	return mAllLocations;
 }
 
 bool TimezoneClient::getUtcDstOffsetL(int& dstOffset, const CTzId& timezoneId)
@@ -246,8 +276,6 @@
 
 LocationInfo TimezoneClient::getCurrentZoneInfoL()
 {
-	qDebug() << "clock: TimezoneClient::getCurrentZoneInfoL -->";
-
 	// Current zone info.
 	LocationInfo currentLocation;
 	int timezoneId(0);
@@ -281,140 +309,130 @@
 	timeZones.Close();
 	zoneOffsets.Close();
 
-	// Construct CTzLocalizer object to get the timezone from the ID.
-	CTzLocalizer* tzLocalizer = CTzLocalizer::NewL();
-
 	// Get all the localized timezones for the current timezone ID.
 	CTzLocalizedTimeZone* localizedTimeZone(NULL);
 
-	if (tzLocalizer) {
-		// Get the currently set localized timezone.
-		CleanupStack::PushL(tzLocalizer);
-		localizedTimeZone =
-			tzLocalizer->GetLocalizedTimeZoneL(tzId->TimeZoneNumericID());
+	localizedTimeZone =
+			mTzLocalizer->GetLocalizedTimeZoneL(tzId->TimeZoneNumericID());
+
+	if (localizedTimeZone) {
+		CleanupStack::PushL(localizedTimeZone);
 
-		if (localizedTimeZone) {
-			CleanupStack::PushL(localizedTimeZone);
+		// Get the frequently used localized city.
+		CTzLocalizedCity* localizedCity(0);
+		localizedCity = mTzLocalizer->GetFrequentlyUsedZoneCityL(
+				CTzLocalizedTimeZone::ECurrentZone);
+		CleanupStack::PushL(localizedCity);
 
-			// Get the frequently used localized city.
-			CTzLocalizedCity* localizedCity(0);
-			localizedCity = tzLocalizer->GetFrequentlyUsedZoneCityL(
-					CTzLocalizedTimeZone::ECurrentZone);
-			CleanupStack::PushL(localizedCity);
+		// Get all the city groups.
+		CTzLocalizedCityGroupArray* cityGroupArray =
+				mTzLocalizer->GetAllCityGroupsL(
+						CTzLocalizer::ETzAlphaNameAscending);
+		CleanupStack::PushL(cityGroupArray);
 
-			// Get all the city groups.
-			CTzLocalizedCityGroupArray* cityGroupArray =
-					tzLocalizer->GetAllCityGroupsL(
-							CTzLocalizer::ETzAlphaNameAscending);
-			CleanupStack::PushL(cityGroupArray);
-
-			// Get the index of the country corresponding to the city group ID.
-			int countryIndex(1);
+		// Get the index of the country corresponding to the city group ID.
+		int countryIndex(1);
 
-			for (int index = 0; index < cityGroupArray->Count(); index++) {
-				if (localizedCity->GroupId() ==
-						cityGroupArray->At(index).Id()) {
-					countryIndex = index;
-				}
+		for (int index = 0; index < cityGroupArray->Count(); index++) {
+			if (localizedCity->GroupId() ==
+					cityGroupArray->At(index).Id()) {
+				countryIndex = index;
 			}
+		}
 
-			// Get all the cities within the currently set country.
-			CTzLocalizedCityArray* cityList = tzLocalizer->GetCitiesInGroupL(
-					(cityGroupArray->At(countryIndex )).Id(),
-					CTzLocalizer::ETzAlphaNameAscending);
-			CleanupStack::PushL(cityList);
+		// Get all the cities within the currently set country.
+		CTzLocalizedCityArray* cityList = mTzLocalizer->GetCitiesInGroupL(
+				(cityGroupArray->At(countryIndex )).Id(),
+				CTzLocalizer::ETzAlphaNameAscending);
+		CleanupStack::PushL(cityList);
 
-			// Check if automatic time update is enabled.
-			bool timeUpdateOn( false );
+		// Check if automatic time update is enabled.
+		bool timeUpdateOn( false );
 
-			// Connect to the clock server.
-			// TODO: connect to the clock server and get auto update status in
-			// var:  timeUpdateOn
-			// Check if the country contains only one city or if automatic
-			// time update is on.
-			if (1 == cityList->Count() || timeUpdateOn) {
-				// If yes, then display only the country name.
-				// TODO
-			} else {
-				// Display city name.
-				// TODO:
-			}
+		// Connect to the clock server.
+		// TODO: connect to the clock server and get auto update status in
+		// var:  timeUpdateOn
+		// Check if the country contains only one city or if automatic
+		// time update is on.
+		if (1 == cityList->Count() || timeUpdateOn) {
+			// If yes, then display only the country name.
+			// TODO
+		} else {
+			// Display city name.
+			// TODO:
+		}
 
-			// Get the country name.
-			TPtrC countryName(cityGroupArray->At(countryIndex).Name());
-			currentLocation.countryName = QString::fromUtf16(
-					countryName.Ptr(), countryName.Length());
-
-			// Get the city name.
-			TPtrC cityName(localizedCity->Name());
-			currentLocation.cityName = QString::fromUtf16(
-					cityName.Ptr(), cityName.Length());
+		// Get the country name.
+		TPtrC countryName(cityGroupArray->At(countryIndex).Name());
+		currentLocation.countryName = QString::fromUtf16(
+				countryName.Ptr(), countryName.Length());
 
-			// Get the UTC offset.
-			timezoneId = localizedCity->TimeZoneId();
+		// Get the city name.
+		TPtrC cityName(localizedCity->Name());
+		currentLocation.cityName = QString::fromUtf16(
+				cityName.Ptr(), cityName.Length());
 
-			if (timezoneId) {
-				// Check if the DST is on for the current timezone.
-				if (isDSTOnL(timezoneId)) {
-					// Get the offset with DST enabled.
-					getUtcDstOffsetL(utcOffset, *tzId);
+		// Get the UTC offset.
+		timezoneId = localizedCity->TimeZoneId();
 
-					currentLocation.dstOn = true;
-					currentLocation.timezoneId = timezoneId;
-					currentLocation.zoneOffset = utcOffset;
-				} else {
-					// Use the standard offset.
-					currentLocation.dstOn = false;
-					currentLocation.timezoneId = timezoneId;
-					currentLocation.zoneOffset = initialTimeZoneOffset;
-				}
+		if (timezoneId) {
+			// Check if the DST is on for the current timezone.
+			if (isDSTOnL(timezoneId)) {
+				// Get the offset with DST enabled.
+				getUtcDstOffsetL(utcOffset, *tzId);
+
+				currentLocation.dstOn = true;
+				currentLocation.timezoneId = timezoneId;
+				currentLocation.zoneOffset = utcOffset;
+			} else {
+				// Use the standard offset.
+				currentLocation.dstOn = false;
+				currentLocation.timezoneId = timezoneId;
+				currentLocation.zoneOffset = initialTimeZoneOffset;
 			}
-
-			// Cleanup.
-			CleanupStack::PopAndDestroy( cityList );
-			CleanupStack::PopAndDestroy( cityGroupArray );
-			CleanupStack::PopAndDestroy( localizedCity );
-			CleanupStack::PopAndDestroy( localizedTimeZone );
 		}
 
 		// Cleanup.
-		CleanupStack::PopAndDestroy( tzLocalizer );
+		CleanupStack::PopAndDestroy( cityList );
+		CleanupStack::PopAndDestroy( cityGroupArray );
+		CleanupStack::PopAndDestroy( localizedCity );
+		CleanupStack::PopAndDestroy( localizedTimeZone );
 	}
 
 	// Cleanup.
 	CleanupStack::PopAndDestroy( tzId );
 	CleanupStack::PopAndDestroy( &tzHandle );
-
-	qDebug() << "clock: TimezoneClient::getCurrentZoneInfoL <--";
-
 	return currentLocation;
 }
 
 void TimezoneClient::setAsCurrentLocationL(LocationInfo &location)
 {
-	Debug::writeDebugMsg(
+/*	Debug::writeDebugMsg(
 			"In time zone client setAsCurrentLocationL " + location.cityName +
 			" " +
 			location.countryName +
 			" " +
-			QString::number(location.zoneOffset));
+			QString::number(location.zoneOffset));*/
 
-	// Construct CTzLocalizer object.
-	CTzLocalizer* tzLocalizer = CTzLocalizer::NewL();
-	CleanupStack::PushL( tzLocalizer );
-	tzLocalizer->SetTimeZoneL( location.timezoneId );
+	LocationInfo prevLocationInfo ;
+	prevLocationInfo = getCurrentZoneInfoL();
+
+	mTzLocalizer->SetTimeZoneL( location.timezoneId );
 
 	TPtrC ptrCityName(
 			reinterpret_cast<const TText*>(location.cityName.constData()));
 	CTzLocalizedCity* localizedCity =
-			tzLocalizer->FindCityByNameL(ptrCityName, location.timezoneId);
+			mTzLocalizer->FindCityByNameL(ptrCityName, location.timezoneId);
 	CleanupStack::PushL( localizedCity );
-	tzLocalizer->SetFrequentlyUsedZoneL(
+	mTzLocalizer->SetFrequentlyUsedZoneL(
 			*localizedCity, CTzLocalizedTimeZone::ECurrentZone);
 
 	// Cleanup.
 	CleanupStack::PopAndDestroy( localizedCity );
-	CleanupStack::PopAndDestroy( tzLocalizer );
+
+	if(prevLocationInfo.timezoneId == location.timezoneId) {
+		emit cityUpdated();	
+	}
 }
 
 bool TimezoneClient::isDSTOnL(int timezoneId)
@@ -588,16 +606,11 @@
 
 void TimezoneClient::getCountries(QMap<QString, int>& countries)
 {
-	// Construct the timezone localizer.
-	CTzLocalizer* localizer = CTzLocalizer::NewL();
-	CleanupStack::PushL(localizer);
-
 	// Get all the city groups(countries).
 	QTime t;
 	t.start();
 	CTzLocalizedCityGroupArray* cityGroupArray =
-		localizer->GetAllCityGroupsL(CTzLocalizer::ETzAlphaNameAscending);
-	qDebug() << "Fetching city groups from tzloc: " << t.elapsed();
+			mTzLocalizer->GetAllCityGroupsL(CTzLocalizer::ETzAlphaNameAscending);
 	CleanupStack::PushL(cityGroupArray);
 
 	t.restart();
@@ -611,27 +624,18 @@
 				countryName.Ptr(),countryName.Length());
 	    countries[qCountryName] = cityGroup.Id();
 	}
-	qDebug() << "Converting " <<
-			cityGroupArray->Count() <<
-			"countries to qstring: " <<
-			t.elapsed();
 
 	// Cleanup.
 	CleanupStack::PopAndDestroy(cityGroupArray);
-	CleanupStack::PopAndDestroy(localizer);
 }
 
 void TimezoneClient::getCitiesForCountry(int id, QMap<QString, int>& cities)
 {
-	// Construct the timezone localizer.
-	CTzLocalizer* localizer = CTzLocalizer::NewL();
-	CleanupStack::PushL(localizer);
-
 	// Get the city group for the given id.
-	CTzLocalizedCityArray* cityArray = localizer->GetCitiesInGroupL(id,
+	CTzLocalizedCityArray* cityArray = mTzLocalizer->GetCitiesInGroupL(id,
 			CTzLocalizer::ETzAlphaNameAscending);
 	CleanupStack::PushL(cityArray);
-	CTzLocalizedCityArray* unsortedArray = localizer->GetCitiesInGroupL(id,
+	CTzLocalizedCityArray* unsortedArray = mTzLocalizer->GetCitiesInGroupL(id,
 			CTzLocalizer::ETzUnsorted);
 	CleanupStack::PushL(unsortedArray);
 
@@ -654,7 +658,6 @@
 	// Cleanup.
 	CleanupStack::PopAndDestroy(unsortedArray);
 	CleanupStack::PopAndDestroy(cityArray);
-	CleanupStack::PopAndDestroy(localizer);
 }
 
 void TimezoneClient::getLocationInfo(
@@ -663,15 +666,12 @@
 	TRAPD(
 			error,
 
-			// Construct the localizer.
-			CTzLocalizer* localizer = CTzLocalizer::NewLC();
-
 			// Get the localized city group.
-			CTzLocalizedCityGroup* cityGroup = localizer->GetCityGroupL(groupId);
+			CTzLocalizedCityGroup* cityGroup = mTzLocalizer->GetCityGroupL(groupId);
 			CleanupStack::PushL(cityGroup);
 
 			// Get the localized city array for the given city group.
-			CTzLocalizedCityArray* cityArray = localizer->GetCitiesInGroupL(
+			CTzLocalizedCityArray* cityArray = mTzLocalizer->GetCitiesInGroupL(
 					groupId, CTzLocalizer::ETzUnsorted);
 			CleanupStack::PushL(cityArray);
 
@@ -690,7 +690,6 @@
 			// Cleanup.
 			CleanupStack::PopAndDestroy(cityArray);
 			CleanupStack::PopAndDestroy(cityGroup);
-			CleanupStack::PopAndDestroy(localizer);
 	)
 	Q_UNUSED(error)
 }
@@ -787,11 +786,8 @@
 	TPtrC namePtr;
 	namePtr.Set(name.utf16(), name.length());
 
-	// Construct the timezone localizer.
-	CTzLocalizer *localizer = CTzLocalizer::NewLC();
-
 	// Get the citygroup matching the name.
-	CTzLocalizedCityGroup *cityGroup = localizer->FindCityGroupByNameL(namePtr);
+	CTzLocalizedCityGroup *cityGroup = mTzLocalizer->FindCityGroupByNameL(namePtr);
 	CleanupStack::PushL(cityGroup);
 
 	// Get the id.
@@ -799,7 +795,6 @@
 
 	// Cleanup.
 	CleanupStack::PopAndDestroy(cityGroup);
-	CleanupStack::PopAndDestroy(localizer);
 
 	return id;
 }
@@ -809,11 +804,8 @@
 	TPtrC namePtr;
 	namePtr.Set(name.utf16(), name.length());
 
-	// Construct the timezone localizer.
-	CTzLocalizer *localizer = CTzLocalizer::NewLC();
-
 	// Get the citygroup matching the name.
-	CTzLocalizedCityArray *cityArray = localizer->GetCitiesL(tzId);
+	CTzLocalizedCityArray *cityArray = mTzLocalizer->GetCitiesL(tzId);
 	CleanupStack::PushL(cityArray);
 
 	int id;
@@ -828,10 +820,8 @@
 
 	// Cleanup.
 	CleanupStack::PopAndDestroy(cityArray);
-	CleanupStack::PopAndDestroy(localizer);
 
 	return id;
-
 }
 
 void TimezoneClient::setDateTime(QDateTime dateTime)
@@ -850,21 +840,25 @@
 
 void TimezoneClient::setTimeUpdateOn(bool timeUpdate)
 {
-    RClkSrvInterface clkSrvInterface;
-    User::LeaveIfError(clkSrvInterface.Connect());
-    if (timeUpdate) {
-    clkSrvInterface.ActivateAllProtocols();
-    }
-    else {
-    clkSrvInterface.DeActivateAllProtocols();
-    }
-	mTimeUpdateOn = timeUpdate;
+	RClkSrvInterface clkSrvInterface;
+	User::LeaveIfError(clkSrvInterface.Connect());
+	if (timeUpdate) {
+		clkSrvInterface.ActivateAllProtocols();
+	}
+	else {
+		clkSrvInterface.DeActivateAllProtocols();
+	}
 	clkSrvInterface.Close();
 }
 
 bool TimezoneClient::timeUpdateOn()
 {
-	return mTimeUpdateOn;
+	TBool autoTimeUpdateOn;
+	RClkSrvInterface clkSrvInterface;
+	User::LeaveIfError(clkSrvInterface.Connect());
+	clkSrvInterface.IsAutoTimeUpdateOn(autoTimeUpdateOn);
+	clkSrvInterface.Close();
+	return autoTimeUpdateOn;
 }
 
 QStandardItemModel *TimezoneClient::locationSelectorModel()
@@ -1245,4 +1239,29 @@
 
 	return info;
 }
+
+/*!
+	Slot which is called when the value changes in cevrep.
+
+	\param key The key which got changed in cenrep.
+	\param value The new value of that key.
+ */
+void TimezoneClient::eventMonitor(const XQSettingsKey& key, const QVariant& value)
+{
+	if (key.uid() == KCRUidNitz && key.key() == KActiveProtocol) {
+		if (mSettingsManager->error() == XQSettingsManager::NoError) {
+
+			// New value of auto time update.
+			int autoTimeUpdate = value.toInt();
+
+			// Check if the auto time update value has actually changed.
+			bool keyValueChanged = (autoTimeUpdate != mAutoTimeUpdateValue);
+
+			if(keyValueChanged) {
+				mAutoTimeUpdateValue = autoTimeUpdate;
+				emit autoTimeUpdateChanged(mAutoTimeUpdateValue);
+			}
+		}
+	}
+}
 // End of file	--Don't remove this.
--- a/clock/clockmw/eabi/clockalarmclientu.def	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +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
-
--- a/clock/clockmw/eabi/clocksettingsutilityu.def	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-EXPORTS
-	_ZN15SettingsUtility10autoUpdateER11QStringList @ 1 NONAME
-	_ZN15SettingsUtility10dateFormatER11QStringList @ 2 NONAME
-	_ZN15SettingsUtility10snoozeTimeER11QStringList @ 3 NONAME
-	_ZN15SettingsUtility10timeFormatER11QStringList @ 4 NONAME
-	_ZN15SettingsUtility11qt_metacallEN11QMetaObject4CallEiPPv @ 5 NONAME
-	_ZN15SettingsUtility11qt_metacastEPKc @ 6 NONAME
-	_ZN15SettingsUtility11setTimeZoneERK7QString @ 7 NONAME
-	_ZN15SettingsUtility11setWorkdaysERK7QString @ 8 NONAME
-	_ZN15SettingsUtility12setClockTypeERK7QString @ 9 NONAME
-	_ZN15SettingsUtility13dateSeparatorER11QStringList @ 10 NONAME
-	_ZN15SettingsUtility13setAutoUpdateERK7QString @ 11 NONAME
-	_ZN15SettingsUtility13setDateFormatERK7QString @ 12 NONAME
-	_ZN15SettingsUtility13setSnoozeTimeEi @ 13 NONAME
-	_ZN15SettingsUtility13setTimeFormatERK7QString @ 14 NONAME
-	_ZN15SettingsUtility13timeSeparatorER11QStringList @ 15 NONAME
-	_ZN15SettingsUtility14setStartOfWeekEi @ 16 NONAME
-	_ZN15SettingsUtility15settingsChangedE19SettingsItemChanged7QString @ 17 NONAME
-	_ZN15SettingsUtility16dateFormatStringEv @ 18 NONAME
-	_ZN15SettingsUtility16setDateSeparatorERK7QString @ 19 NONAME
-	_ZN15SettingsUtility16setTimeSeparatorERK7QString @ 20 NONAME
-	_ZN15SettingsUtility16staticMetaObjectE @ 21 NONAME DATA 16
-	_ZN15SettingsUtility16timeFormatStringEv @ 22 NONAME
-	_ZN15SettingsUtility19getStaticMetaObjectEv @ 23 NONAME
-	_ZN15SettingsUtility4dateEv @ 24 NONAME
-	_ZN15SettingsUtility4timeEv @ 25 NONAME
-	_ZN15SettingsUtility7setDateERK7QString @ 26 NONAME
-	_ZN15SettingsUtility7setTimeERK7QString @ 27 NONAME
-	_ZN15SettingsUtility8timeZoneEv @ 28 NONAME
-	_ZN15SettingsUtility8workdaysER11QStringList @ 29 NONAME
-	_ZN15SettingsUtility9clockTypeER11QStringList @ 30 NONAME
-	_ZN15SettingsUtilityC1EP7QObject @ 31 NONAME
-	_ZN15SettingsUtilityC2EP7QObject @ 32 NONAME
-	_ZN15SettingsUtilityD0Ev @ 33 NONAME
-	_ZN15SettingsUtilityD1Ev @ 34 NONAME
-	_ZN15SettingsUtilityD2Ev @ 35 NONAME
-	_ZNK15SettingsUtility10metaObjectEv @ 36 NONAME
-	_ZTI15SettingsUtility @ 37 NONAME
-	_ZTV15SettingsUtility @ 38 NONAME
-
--- a/clock/clockmw/eabi/clockstopwatchengineu.def	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-EXPORTS
-	_ZN14TimezoneClient10intToMonthEi @ 1 NONAME
-	_ZN14TimezoneClient11listUpdatedEv @ 2 NONAME
-	_ZN14TimezoneClient11qt_metacallEN11QMetaObject4CallEiPPv @ 3 NONAME
-	_ZN14TimezoneClient11qt_metacastEPKc @ 4 NONAME
-	_ZN14TimezoneClient11setDateTimeE9QDateTime @ 5 NONAME
-	_ZN14TimezoneClient11timechangedEv @ 6 NONAME
-	_ZN14TimezoneClient12getCountriesER4QMapI7QStringiE @ 7 NONAME
-	_ZN14TimezoneClient12getDstRulesLER9QDateTimeS1_i @ 8 NONAME
-	_ZN14TimezoneClient12getLocationsEv @ 9 NONAME
-	_ZN14TimezoneClient12timeUpdateOnEv @ 10 NONAME
-	_ZN14TimezoneClient13saveLocationsERK5QListI12LocationInfoE @ 11 NONAME
-	_ZN14TimezoneClient14populateCitiesEv @ 12 NONAME
-	_ZN14TimezoneClient15getLocationInfoEiiR12LocationInfo @ 13 NONAME
-	_ZN14TimezoneClient15setTimeUpdateOnEb @ 14 NONAME
-	_ZN14TimezoneClient16getDstZoneOffsetEi @ 15 NONAME
-	_ZN14TimezoneClient16getUtcDstOffsetLERiRK5CTzId @ 16 NONAME
-	_ZN14TimezoneClient16staticMetaObjectE @ 17 NONAME DATA 16
-	_ZN14TimezoneClient17checkForDstChangeER9AlarmInfo @ 18 NONAME
-	_ZN14TimezoneClient17getSavedLocationsEv @ 19 NONAME
-	_ZN14TimezoneClient17getStandardOffsetEi @ 20 NONAME
-	_ZN14TimezoneClient19environmentCallbackEPv @ 21 NONAME
-	_ZN14TimezoneClient19getCitiesForCountryEiR4QMapI7QStringiE @ 22 NONAME
-	_ZN14TimezoneClient19getCurrentZoneInfoLEv @ 23 NONAME
-	_ZN14TimezoneClient19getStaticMetaObjectEv @ 24 NONAME
-	_ZN14TimezoneClient20getCityGroupIdByNameERK7QString @ 25 NONAME
-	_ZN14TimezoneClient21createWorldClockModelEv @ 26 NONAME
-	_ZN14TimezoneClient21locationSelectorModelEv @ 27 NONAME
-	_ZN14TimezoneClient21setAsCurrentLocationLER12LocationInfo @ 28 NONAME
-	_ZN14TimezoneClient24getCityOffsetByNameAndIdERK7QStringi @ 29 NONAME
-	_ZN14TimezoneClient5dstOnEi @ 30 NONAME
-	_ZN14TimezoneClient8isDSTOnLEi @ 31 NONAME
-	_ZN14TimezoneClientC1EP7QObject @ 32 NONAME
-	_ZN14TimezoneClientC2EP7QObject @ 33 NONAME
-	_ZN14TimezoneClientD0Ev @ 34 NONAME
-	_ZN14TimezoneClientD1Ev @ 35 NONAME
-	_ZN14TimezoneClientD2Ev @ 36 NONAME
-	_ZNK14TimezoneClient10metaObjectEv @ 37 NONAME
-	_ZTI14TimezoneClient @ 38 NONAME
-	_ZTV14TimezoneClient @ 39 NONAME
-	_ZThn8_N14TimezoneClientD0Ev @ 40 NONAME
-	_ZThn8_N14TimezoneClientD1Ev @ 41 NONAME
-	_ZN14TimezoneClient17getAllTimeZoneIdsEv @ 42 NONAME
-	_ZN14TimezoneClient21getAllTimeZoneOffsetsEv @ 43 NONAME
-	_ZN14TimezoneClient24getCountriesForUTCOffsetEi @ 44 NONAME
-	_ZN14TimezoneClient7addCityEiR7QStringi @ 45 NONAME
-
--- a/clock/clockui/bwins/clockalarmeditoru.def	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-EXPORTS
-	??1ClockAlarmEditor@@UAE@XZ @ 1 NONAME ; ClockAlarmEditor::~ClockAlarmEditor(void)
-	??0ClockAlarmEditor@@QAE@HPAVQGraphicsWidget@@@Z @ 2 NONAME ; ClockAlarmEditor::ClockAlarmEditor(int, class QGraphicsWidget *)
-	?showAlarmEditor@ClockAlarmEditor@@QAEXXZ @ 3 NONAME ; void ClockAlarmEditor::showAlarmEditor(void)
-
--- a/clock/clockui/bwins/clockappcontrolleru.def	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-EXPORTS
-	?setupView@ClockMainView@@QAEXAAVClockAppControllerIf@@PAVClockDocLoader@@@Z @ 1 NONAME ; void ClockMainView::setupView(class ClockAppControllerIf &, class ClockDocLoader *)
-	??0ClockWorldView@@QAE@PAVQGraphicsItem@@@Z @ 2 NONAME ; ClockWorldView::ClockWorldView(class QGraphicsItem *)
-	??1ClockWorldView@@UAE@XZ @ 3 NONAME ; ClockWorldView::~ClockWorldView(void)
-	??1ClockMainView@@UAE@XZ @ 4 NONAME ; ClockMainView::~ClockMainView(void)
-	?setupView@ClockWorldView@@QAEXAAVClockAppControllerIf@@PAVClockDocLoader@@@Z @ 5 NONAME ; void ClockWorldView::setupView(class ClockAppControllerIf &, class ClockDocLoader *)
-	??0ClockMainView@@QAE@PAVQGraphicsItem@@@Z @ 6 NONAME ; ClockMainView::ClockMainView(class QGraphicsItem *)
-
--- a/clock/clockui/bwins/clockwidgetprotou.def	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-EXPORTS
-	??0SkinnableClock@@QAE@PAVQGraphicsItem@@@Z @ 1 NONAME ; SkinnableClock::SkinnableClock(class QGraphicsItem *)
-	?updateDisplay@SkinnableClock@@QAEX_N@Z @ 2 NONAME ; void SkinnableClock::updateDisplay(bool)
-	?updateClockType@SkinnableClock@@QAEXXZ @ 3 NONAME ; void SkinnableClock::updateClockType(void)
-	??1SkinnableClock@@UAE@XZ @ 4 NONAME ; SkinnableClock::~SkinnableClock(void)
-	?staticMetaObject@SkinnableClock@@2UQMetaObject@@B @ 5 NONAME ; struct QMetaObject const SkinnableClock::staticMetaObject
-	??_ESkinnableClock@@UAE@I@Z @ 6 NONAME ; SkinnableClock::~SkinnableClock(unsigned int)
-	?qt_metacast@SkinnableClock@@UAEPAXPBD@Z @ 7 NONAME ; void * SkinnableClock::qt_metacast(char const *)
-	?startChangeType@SkinnableClock@@AAEXXZ @ 8 NONAME ; void SkinnableClock::startChangeType(void)
-	?trUtf8@SkinnableClock@@SA?AVQString@@PBD0@Z @ 9 NONAME ; class QString SkinnableClock::trUtf8(char const *, char const *)
-	?trUtf8@SkinnableClock@@SA?AVQString@@PBD0H@Z @ 10 NONAME ; class QString SkinnableClock::trUtf8(char const *, char const *, int)
-	?metaObject@SkinnableClock@@UBEPBUQMetaObject@@XZ @ 11 NONAME ; struct QMetaObject const * SkinnableClock::metaObject(void) const
-	?tr@SkinnableClock@@SA?AVQString@@PBD0H@Z @ 12 NONAME ; class QString SkinnableClock::tr(char const *, char const *, int)
-	?qt_metacall@SkinnableClock@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 13 NONAME ; int SkinnableClock::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?paint@SkinnableClock@@MAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 14 NONAME ; void SkinnableClock::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
-	?tr@SkinnableClock@@SA?AVQString@@PBD0@Z @ 15 NONAME ; class QString SkinnableClock::tr(char const *, char const *)
-	?getStaticMetaObject@SkinnableClock@@SAABUQMetaObject@@XZ @ 16 NONAME ; struct QMetaObject const & SkinnableClock::getStaticMetaObject(void)
-	?clockTypeAnalog@SkinnableClock@@QAE_NXZ @ 17 NONAME ; bool SkinnableClock::clockTypeAnalog(void)
-	?setClockTypeAnalog@SkinnableClock@@AAEX_N@Z @ 18 NONAME ; void SkinnableClock::setClockTypeAnalog(bool)
-	?finishChangeType@SkinnableClock@@QAEXABUEffectStatus@HbEffect@@@Z @ 19 NONAME ; void SkinnableClock::finishChangeType(struct HbEffect::EffectStatus const &)
-	?clockFormat24@SkinnableClock@@QAE_NXZ @ 20 NONAME ; bool SkinnableClock::clockFormat24(void)
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockalarmeditor/bwins/clockalarmeditoru.def	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockalarmeditor/clockalarmeditor.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -27,7 +27,8 @@
 
 DEPENDPATH += \
 		./inc \
-		./src
+		./src \
+		./data
 
 symbian: {
 	TARGET.CAPABILITY += ALL -TCB
@@ -43,13 +44,15 @@
 
 SOURCES += \
 		clockalarmeditor.cpp \
-                clockalarmcustomitem.cpp 
+        	clockalarmcustomitem.cpp 
 		   
 HEADERS += \
 		clockalarmeditor.h \
-            clockalarmcustomitem.h\ 
-	    clockalarmeditordefines.h
+        	clockalarmcustomitem.h \ 
+	    	clockalarmeditordefines.h
+		
+RESOURCES += clockalarmeditor.qrc
+		
+TRANSLATIONS += clockalarmeditor.ts
 
-RESOURCES += \
-		data/clockalarmeditor.qrc
 # End of file	--Don't remove this.
--- a/clock/clockui/clockalarmeditor/data/clockalarmeditor.qrc	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockalarmeditor/data/clockalarmeditor.qrc	Mon Jun 28 15:22:02 2010 +0530
@@ -1,6 +1,6 @@
 <!DOCTYPE RCC><RCC version="1.0">
-	<qresource prefix="/translations">
-		<file alias="clockalarmeditor" >translations/clockalarmeditor.qm</file>
+	<qresource prefix="/xml">
+		<file alias="clockalarmeditor.docml">xml/clockalarmeditor.docml</file>
 	</qresource>
 
-</RCC>
+</RCC>
\ No newline at end of file
Binary file clock/clockui/clockalarmeditor/data/translations/clockalarmeditor.qm has changed
--- a/clock/clockui/clockalarmeditor/data/translations/clockalarmeditor.ts	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,409 +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_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_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_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_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_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_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_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_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_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_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_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_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="yes" id="txt_clock_list_ln_minutes">
-    <comment>Alarm snooze time details in the list box (5mins, 10mins, 15mins, 30mins)</comment>        
-    <source>%Ln minutes</source>
-    <translation>
-        <numerusform variants="no">(s)%Ln minutes</numerusform>
-        <numerusform variants="no">(p)%Ln minutes</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_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_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_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_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_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_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_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_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_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>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockalarmeditor/data/xml/clockalarmeditor.docml	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="deleteAction" type="HbAction">
+        <string locid="txt_clock_opt_delete" name="text" value="Delete"/>
+    </object>
+    <object name="discardChanges" type="HbAction">
+        <string locid="txt_clock_opt_discard_changes" name="text" value="Discard changes"/>
+    </object>
+    <widget name="alarmEditorView" type="HbView">
+        <widget name="alarmEditorViewWidget" role="HbView:widget" type="HbWidget">
+            <widget name="subtitleGroupBox" type="HbGroupBox">
+                <bool name="collapsable" value="FALSE"/>
+                <string name="heading" value="Group Box"/>
+            </widget>
+            <widget name="alarmEditorForm" type="HbDataForm"/>
+            <real name="z" value="0"/>
+            <layout orientation="Vertical" spacing="0un" type="linear">
+                <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+                <linearitem itemname="subtitleGroupBox"/>
+                <linearitem itemname="alarmEditorForm"/>
+            </layout>
+        </widget>
+        <widget name="viewMenu" role="HbView:menu" type="HbMenu">
+            <ref object="deleteAction" role="HbMenu:addAction"/>
+            <ref object="discardChanges" role="HbMenu:addAction"/>
+        </widget>
+        <string locid="txt_common_common_clock" name="title" value="Clock"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockalarmeditor/eabi/clockalarmeditoru.def	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockalarmeditor/inc/clockalarmeditor.h	Mon Jun 28 15:22:02 2010 +0530
@@ -36,20 +36,23 @@
 class HbAction;
 class HbDateTimePicker;
 class HbDialog;
+class HbTranslator;
 class XQSettingsManager;
 class XQSettingsKey;
 class AlarmClient;
 class TimezoneClient;
 class ClockAlarmCustomItem;
-class QTranslator;
+
 
-class ClockAlarmEditor : public HbView
+class ClockAlarmEditor : public QObject
 {
 	Q_OBJECT
 
 public:
 	CLOCKALARMEDITOR_EXPORT ClockAlarmEditor(
-			int alarmId = 0, QGraphicsWidget *parent = 0);
+			AlarmClient& alarmClient,
+			int alarmId = 0,
+			QObject *parent = 0);
 	CLOCKALARMEDITOR_EXPORT virtual ~ClockAlarmEditor();
 
 public:
@@ -61,10 +64,10 @@
 	void handleDiscardAction();
 	void handleTimeChange(const QString &text);
 	void handleOccurenceChanged(int index);
-	void handleCancelAction();
 	void handleOkAction();
 	void launchTimePicker();
-	void handleAlarmSoundChanged();
+	void handleAlarmSoundChanged(int checkedState);
+	void selectedAction(HbAction *action);
 
 signals:
 	void alarmSet();
@@ -73,7 +76,6 @@
 	void initModel();
 	void populateModelItems();
 	void initAlarmInfo();
-	void createMenu();
 	void createToolbar();
 	void setAlarm(
 			QString timeInfo, QString descInfo, int repeatType,
@@ -85,9 +87,12 @@
 	void displayRemainingTimeNote(AlarmInfo& alarmInfo);
 	void getDayText(int alarmDay,QString& dayText);
 	int getRemainingSeconds(QDateTime& alarmDateTime);
+	void launchDialog(QString title, QString text = 0);
+    void sortAlarmDaysList(QStringList& alarmDays);
 
 private:
 	int mAlarmId;
+	int mStartOfWeek;
 	bool mAlarmDayItemInserted;
 	QString mTimeFormat;
 
@@ -99,7 +104,7 @@
 	HbDataFormModelItem *mAlarmSoundItem;
 	HbDataFormModelItem *mAlarmDescription;
 
-	HbView *mPreviousView;
+	HbView *mAlarmEditorView;
 	HbAction *mDiscardAction;
 	HbAction *mDeleteAction;
 	HbAction *mDoneAction;
@@ -111,10 +116,10 @@
 	XQSettingsManager *mSettingsManager;
 	XQSettingsKey *mPreviosAlarmTime;
 
-	AlarmClient *mAlarmClient;
+	AlarmClient &mAlarmClient;
 	AlarmInfo mAlarmInfo;
 	TimezoneClient *mTimezoneClient;
-	QTranslator *mTranslator;
+	HbTranslator *mTranslator;
 };
 
 #endif // CLOCKALARMEDITOR_H
--- a/clock/clockui/clockalarmeditor/src/clockalarmeditor.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockalarmeditor/src/clockalarmeditor.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -17,7 +17,6 @@
 
 // System includes
 #include <QDateTime>
-
 #include <HbDataForm>
 #include <HbDataFormModel>
 #include <HbDataFormModelItem>
@@ -25,21 +24,21 @@
 #include <HbInstance>
 #include <HbAction>
 #include <HbMenu>
-#include <HbToolBar>
-#include <HbLineEdit>
 #include <HbLabel>
-#include <HbComboBox>
-#include <HbPushButton>
 #include <HbNotificationDialog>
 #include <HbDialog>
 #include <HbDateTimePicker>
-#include <HbApplication>
+#include <HbCheckBox>
+#include <HbExtendedLocale>
+#include <HbGroupBox>
+#include <HbDocumentLoader>
+#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"
@@ -52,6 +51,7 @@
 const int KOneMinute(1);
 const int KOneHour(1);
 const int KSecondsInOneDay(24 * 60 * 60);
+const int KDaysInWeek(7);
 
 /*!
     \class ClockAlarmEditor
@@ -68,9 +68,12 @@
     edit.
     \param parent The parent object.
  */
-ClockAlarmEditor::ClockAlarmEditor(int alarmId, QGraphicsWidget *parent)
-:HbView(parent),
+ClockAlarmEditor::ClockAlarmEditor(
+		AlarmClient &alarmClient, int alarmId,
+		QObject *parent)
+:QObject(parent),
  mAlarmId(alarmId),
+ mStartOfWeek(0),
  mAlarmDayItemInserted(false),
  mAlarmEditorForm(0),
  mAlarmEditorModel(0),
@@ -79,39 +82,14 @@
  mAlarmDayItem(0),
  mAlarmSoundItem(0),
  mAlarmDescription(0),
- mAlarmClient(0)
- {
- 	
+ 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);
-
-	// Create the Alarm Editor DataForm.
-	mAlarmEditorForm = new HbDataForm(this);
-
-	// Set the title text of the Clock Alarm Editor view.
-	setTitle(hbTrId("txt_common_common_clock"));
-
-	// Create the alarm client object.
-	mAlarmClient = new AlarmClient(this);
-
-	// Set the heading of the Alarm Editor DataForm.
-	if (mAlarmId && mAlarmClient) {
-		mAlarmEditorForm->setHeading(
-				hbTrId("txt_clock_subhead_alarm"));
-	}
-	else
-	{
-		mAlarmEditorForm->setHeading(hbTrId("txt_clock_subhead_new_alarm"));
-	}
-
+	mTranslator = new HbTranslator("clockalarmeditor");
+	mTranslator->loadCommon();
+	
 	// create the timezone client object
-	mTimezoneClient = new TimezoneClient(this);
+	mTimezoneClient = TimezoneClient::getInstance();
 	// Create the settings manager.
 	mSettingsManager = new XQSettingsManager(this);
 
@@ -124,31 +102,68 @@
 	// 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();
+
+	// Create the HbDocumentLoader object.
+	HbDocumentLoader *loader = new HbDocumentLoader();
+	bool success;
+	loader->load(":/xml/clockalarmeditor.docml", &success);
+
+	mAlarmEditorView = qobject_cast<HbView *>(
+			loader->findWidget("alarmEditorView"));
+
+	// Get the subtitle groupBox.
+	HbGroupBox *subtitleGroupBox = qobject_cast<HbGroupBox *>(
+			loader->findWidget("subtitleGroupBox"));
+
+	// Set the heading of the subtitle groupBox.
+	if (mAlarmId) {
+		subtitleGroupBox->setHeading(hbTrId("txt_clock_subhead_alarm"));
+	} else {
+		subtitleGroupBox->setHeading(hbTrId("txt_clock_subhead_new_alarm"));
+	}
+
+	// Get the Alarm Editor DataForm.
+	mAlarmEditorForm = qobject_cast<HbDataForm *> (
+			loader->findWidget("alarmEditorForm"));
+
 
 	// Create the alarm info structure with desired values.
 	initAlarmInfo();
 
 	// Creates & initializes the DataFormModel for the AlarmEditor DataForm.
 	initModel();
-	
+
 	QList <HbAbstractViewItem*> prototypes = mAlarmEditorForm->itemPrototypes();
 	ClockAlarmCustomItem *customItem =
 			new ClockAlarmCustomItem(mAlarmEditorForm);
 	prototypes.append(customItem);
 	mAlarmEditorForm->setItemPrototypes(prototypes);
 
-	// Create the menu.
-	createMenu();
+	// Get the menu items for the alarm editor.
+	mDeleteAction = qobject_cast<HbAction *> (
+			loader->findObject("deleteAction"));
+	mDiscardAction = qobject_cast<HbAction *>(
+			loader->findObject("discardChanges"));
+
+	// Connect the signals for the menu item.
+	connect(
+			mDeleteAction, SIGNAL(triggered()),
+			this, SLOT(handleDeleteAction()));
+	connect(
+			mDiscardAction, SIGNAL(triggered()),
+			this, SLOT(handleDiscardAction()));
 
 	// Add the done soft key action.
-	mDoneAction = new HbAction(Hb::DoneAction);
+	mDoneAction = new HbAction(Hb::DoneNaviAction);
 	connect(
 			mDoneAction, SIGNAL(triggered()),
 			this, SLOT(handleDoneAction()));
-	setNavigationAction(mDoneAction);
+	mAlarmEditorView->setNavigationAction(mDoneAction);
 
-	// Sets the AlarmEditor DataForm to the Clock AlarmEditor view.
-	setWidget(mAlarmEditorForm);
 }
 
 /*!
@@ -156,16 +171,7 @@
  */
 ClockAlarmEditor::~ClockAlarmEditor()
 {
-	if (mAlarmClient) {
-		delete mAlarmClient;
-		mAlarmClient = 0;
-	}
-	if(mTimezoneClient) {
-		delete mTimezoneClient;
-		mTimezoneClient = 0;
-	}
 	// Remove the translator
-	HbApplication::instance()->removeTranslator(mTranslator);
 	if (mTranslator) {
 		delete mTranslator;
 		mTranslator = 0;
@@ -180,9 +186,8 @@
 {
 	// Store the current view and set alarm editor as current view.
 	HbMainWindow *window = hbInstance->allMainWindows().first();
-	mPreviousView = window->currentView();
-	window->addView(this);
-	window->setCurrentView(this);
+	window->addView(mAlarmEditorView);
+	window->setCurrentView(mAlarmEditorView);
 }
 
 /*!
@@ -193,6 +198,10 @@
 	int alarmDayIndex = -1;
 	if (mAlarmDayItemInserted) {
 		alarmDayIndex = mAlarmDayItem->contentWidgetData("currentIndex").toInt();
+		alarmDayIndex += mStartOfWeek;
+		if(alarmDayIndex >= KDaysInWeek){
+		   alarmDayIndex -= KDaysInWeek;
+		}
 	}
 
 	setAlarm(
@@ -229,24 +238,20 @@
 
 	// Reset alarm day item.
 	if (mAlarmDayItemInserted) {
+    	int currentIndex = mAlarmInfo.alarmDateTime.dayOfWeek() - 1;
+        currentIndex -= mStartOfWeek;
+        if(0 > currentIndex){
+           currentIndex += KDaysInWeek;
+        }
 		mAlarmDayItem->setContentWidgetData(
-				"currentIndex",
-				mAlarmInfo.alarmDateTime.dayOfWeek() - 1);
+				"currentIndex",currentIndex);
 	}
 
 	// Reset for alarm sound.
-	QStringList alarmSoundOptions;
-	alarmSoundOptions << tr("On")
-			<< tr("Off");
-
 	if (AlarmVolumeOn == mAlarmInfo.volumeStatus) {
-		mAlarmSoundItem->setContentWidgetData("text", alarmSoundOptions[0]);
-		mAlarmSoundItem->setContentWidgetData(
-				"additionalText", alarmSoundOptions[1]);
+		mAlarmSoundItem->setContentWidgetData("checkState", Qt::Checked);
 	} else {
-		mAlarmSoundItem->setContentWidgetData("text", alarmSoundOptions[1]);
-		mAlarmSoundItem->setContentWidgetData(
-				"additionalText", alarmSoundOptions[0]);
+		mAlarmSoundItem->setContentWidgetData("checkState", Qt::Unchecked);
 	}
 
 	mAlarmDescription->setContentWidgetData("text", mAlarmInfo.alarmDesc);
@@ -280,6 +285,11 @@
 			alarmDayIndex = 0;
 		}
 		if (mAlarmDayItemInserted) {
+  		    alarmDayIndex -= mStartOfWeek;
+
+            if(0 > alarmDayIndex){
+               alarmDayIndex += KDaysInWeek;
+            }
 			mAlarmDayItem->setContentWidgetData(
 					"currentIndex",
 					alarmDayIndex);
@@ -320,15 +330,14 @@
 					QString(hbTrId("txt_clock_formlabel_day")),
 					mAlarmEditorModel->invisibleRootItem());
 
+			// Add the alarm days beginning from the start of week.
 			QStringList alarmDays;
-			alarmDays << hbTrId("txt_clk_setlabel_val_monday")
-					<< hbTrId("txt_clk_setlabel_val_tuesday")
-					<< hbTrId("txt_clk_setlabel_val_wednesday")
-					<< hbTrId("txt_clk_setlabel_val_thursday")
-					<< hbTrId("txt_clk_setlabel_val_friday")
-					<< hbTrId("txt_clk_setlabel_val_saturday")
-					<< hbTrId("txt_clk_setlabel_val_sunday");
+			sortAlarmDaysList(alarmDays);
+			alarmDayIndex -= mStartOfWeek;
 
+			if(0 > alarmDayIndex){
+				alarmDayIndex += KDaysInWeek;
+			}
 			mAlarmDayItem->setContentWidgetData("items", alarmDays);
 			mAlarmDayItem->setContentWidgetData(
 					"currentIndex",
@@ -351,16 +360,6 @@
 }
 
 /*!
-	Called when `Cancel' is pressed on the Dialog.
- */
-void ClockAlarmEditor::handleCancelAction()
-{
-	// Close the dialog.
-	mTimePickerDialog->close();
-	mTimePickerDialog->deleteLater();
-}
-
-/*!
     Called when `OK' is pressed on the Dialog.
  */
 void ClockAlarmEditor::handleOkAction()
@@ -372,9 +371,6 @@
 	// Update the selected time value.
 	mAlarmTimeItem->setContentWidgetData("text",newAlarmTime.toString(mTimeFormat));
 
-	// Close the dialog.
-	handleCancelAction();
-
 	if (mAlarmInfo.nextDueTime != newAlarmTime ) {
 		handleTimeChange(newAlarmTime.toString(mTimeFormat));
 	}
@@ -385,65 +381,58 @@
  */
 void ClockAlarmEditor::launchTimePicker()
 {
-
-
-		if (mTimePickerDialog) {
-			delete mTimePickerDialog;
-		}
-
-		// Create the dialog.
-		mTimePickerDialog = new HbDialog;
-		mTimePickerDialog->setTimeout(HbDialog::NoTimeout);
-		mTimePickerDialog->setDismissPolicy(HbDialog::NoDismiss);
+	if (mTimePickerDialog) {
+		delete mTimePickerDialog;
+	}
 
-		// Set the heading for the dialog.
-		HbLabel * timeLabel =
-			new HbLabel(hbTrId("txt_tumbler_title_alarm_time"),
-			    mTimePickerDialog);
-		mTimePickerDialog->setHeadingWidget(timeLabel);
+	// Create the dialog.
+	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"),
+			mTimePickerDialog);
+	mTimePickerDialog->setHeadingWidget(timeLabel);
 
-		SettingsUtility *settingsUtil = new SettingsUtility(this);
-		QStringList timeSeparator;
-		int index = settingsUtil->timeFormat(timeSeparator);
-		QString tumblerDisplayFormat =
-				mTimeFormat.replace(timeSeparator.at(index), QString("."));
+	SettingsUtility *settingsUtil = new SettingsUtility(this);
+	QStringList timeSeparator;
+	int index = settingsUtil->timeFormat(timeSeparator);
+	
+	QString tumblerDisplayFormat =
+			mTimeFormat.replace(timeSeparator.at(index), QString("."));
 
-		// Create the tumbler.
-		HbDateTimePicker *timePicker = new HbDateTimePicker(mTimePickerDialog);
-		timePicker->setDisplayFormat(tumblerDisplayFormat);
-		// Set the tumbler as the content widget.
-		mTimePickerDialog->setContentWidget(timePicker);
-		
-		QString timeString = mAlarmTimeItem->contentWidgetData("text").toString();
-		QTime time = QTime::fromString(timeString, mTimeFormat);
-		timePicker->setTime(time);
+	// Create the tumbler.
+	HbDateTimePicker *timePicker = new HbDateTimePicker(mTimePickerDialog);
+	timePicker->setDisplayFormat(tumblerDisplayFormat);
+
+	mTimePickerDialog->setContentWidget(timePicker);
+
+	QString timeString = mAlarmTimeItem->contentWidgetData("text").toString();
+	QTime time = QTime::fromString(timeString, mTimeFormat);
+	timePicker->setTime(time);
 
-		mOkAction =
-			new HbAction(QString(hbTrId("txt_common_button_ok")),
-			    mTimePickerDialog);
-		mTimePickerDialog->setPrimaryAction(mOkAction);
-		connect(
-				mOkAction, SIGNAL(triggered()),
-				this, SLOT(handleOkAction()));
+	mOkAction =
+		new HbAction(QString(hbTrId("txt_common_button_ok")),
+			mTimePickerDialog);
 
-		mCancelAction =
-			new HbAction(QString(hbTrId("txt_common_button_cancel")),
-			    mTimePickerDialog);
-		mTimePickerDialog->setSecondaryAction( mCancelAction );
-		connect(
-				mCancelAction, SIGNAL(triggered()),
-				this, SLOT(handleCancelAction()));
+	mCancelAction =
+		new HbAction(QString(hbTrId("txt_common_button_cancel")),
+			mTimePickerDialog);
 
-		mTimePickerDialog->exec();
+	mTimePickerDialog->addAction(mOkAction);
+	mTimePickerDialog->addAction(mCancelAction);
 
-
+	mTimePickerDialog->open(this, SLOT(selectedAction(HbAction*)));
 }
 
 /*!
 	Handles the alarm sound change.
  */
-void ClockAlarmEditor::handleAlarmSoundChanged()
+void ClockAlarmEditor::handleAlarmSoundChanged(int checkedState)
 {
+	Q_UNUSED(checkedState)
 	if (AlarmVolumeOff == mAlarmInfo.volumeStatus) {
 		mAlarmInfo.volumeStatus = AlarmVolumeOn;
 	} else {
@@ -452,6 +441,16 @@
 }
 
 /*!
+	Slot to handle the selected action
+ */
+void ClockAlarmEditor::selectedAction(HbAction *action)
+{
+	if (action == mOkAction) {
+		handleOkAction();
+	}
+}
+
+/*!
 	Initialises the Model & sets for the AlarmEditorForm.
  */
 void ClockAlarmEditor::initModel()
@@ -517,19 +516,18 @@
 					QString(hbTrId("txt_clk_setlabel_day")),
 					mAlarmEditorModel->invisibleRootItem());
 
+			// Add the alarm days beginning from the start of week.
 			QStringList alarmDays;
-			alarmDays << hbTrId("txt_clk_setlabel_val_monday")
-					<< hbTrId("txt_clk_setlabel_val_tuesday")
-					<< hbTrId("txt_clk_setlabel_val_wednesday")
-					<< hbTrId("txt_clk_setlabel_val_thursday")
-					<< hbTrId("txt_clk_setlabel_val_friday")
-					<< hbTrId("txt_clk_setlabel_val_saturday")
-					<< hbTrId("txt_clk_setlabel_val_sunday");
+			sortAlarmDaysList(alarmDays);
 
+			int currentIndex = mAlarmInfo.alarmDateTime.dayOfWeek() - 1;
+			currentIndex -= mStartOfWeek;
+			if(0 > currentIndex){
+			   currentIndex += KDaysInWeek;
+			}
 			mAlarmDayItem->setContentWidgetData("items", alarmDays);
 			mAlarmDayItem->setContentWidgetData(
-					"currentIndex",
-					mAlarmInfo.alarmDateTime.dayOfWeek() - 1);
+					"currentIndex",currentIndex);
 
 			mAlarmDayItemInserted = true;
 		}/* else { TODO: check and remove this else block.
@@ -543,23 +541,21 @@
 
 	// Alarm sound.
 	mAlarmSoundItem = mAlarmEditorModel->appendDataFormItem(
-			HbDataFormModelItem::ToggleValueItem,
-			QString(hbTrId("txt_clk_setlabel_alarm_sound")),
+			HbDataFormModelItem::CheckBoxItem,
+			QString(hbTrId("")),
 			mAlarmEditorModel->invisibleRootItem());
-	QStringList alarmSoundOptions;
-	alarmSoundOptions << tr("On")
-			<< tr("Off");
+
+	mAlarmSoundItem->setContentWidgetData(
+			"text", QString(hbTrId("txt_clk_setlabel_alarm_sound")));
 
 	if (AlarmVolumeOn == mAlarmInfo.volumeStatus) {
-		mAlarmSoundItem->setContentWidgetData("text", alarmSoundOptions[0]);
-		mAlarmSoundItem->setContentWidgetData(
-				"additionalText", alarmSoundOptions[1]);
-	} else {
-		mAlarmSoundItem->setContentWidgetData("text", alarmSoundOptions[1]);
-		mAlarmSoundItem->setContentWidgetData(
-				"additionalText", alarmSoundOptions[0]);
+		mAlarmSoundItem->setContentWidgetData("checkState",Qt::Checked);
 	}
 
+	mAlarmEditorForm->addConnection(
+			mAlarmSoundItem, SIGNAL(stateChanged(int)),
+			this,SLOT(handleAlarmSoundChanged(int)));
+
 	// Description.
 	mAlarmDescription = mAlarmEditorModel->appendDataFormItem(
 			HbDataFormModelItem::TextItem,
@@ -592,36 +588,20 @@
 		mAlarmInfo.alarmDateTime = mAlarmInfo.alarmDateTime.addDays(1);
 	}
 
-	// Set the alarm volume on by default.
-	mAlarmInfo.volumeStatus = AlarmVolumeOn;
+	if (!mAlarmId) {
+		// Set the alarm volume On by default for new alarms..
+		mAlarmInfo.volumeStatus = AlarmVolumeOn;
+	}
 
 	// If editor state is a reset alarm, then its an already existing alarm
 	// get the alarm details and fill it in mAlarmInfo.
-	if (mAlarmId && mAlarmClient) {
-		mAlarmClient->getAlarmInfo(mAlarmId, mAlarmInfo);
-		mAlarmClient->deleteAlarm(mAlarmId);
+	if (mAlarmId) {
+		mAlarmClient.getAlarmInfo(mAlarmId, mAlarmInfo);
+		mAlarmClient.deleteAlarm(mAlarmId);
 	}
 }
 
 /*!
-    Creates menu items.
- */
-void ClockAlarmEditor::createMenu()
-{
-	// Set the menu for the alarm editor.
-	mDeleteAction = menu()->addAction(hbTrId("txt_clock_opt_delete"));
-	mDiscardAction = menu()->addAction(hbTrId("txt_clock_opt_discard_changes"));
-
-	// Connect the signals for the menu item.
-	connect(
-			mDeleteAction, SIGNAL(triggered()),
-			this, SLOT(handleDeleteAction()));
-	connect(
-			mDiscardAction, SIGNAL(triggered()),
-			this, SLOT(handleDiscardAction()));
-}
-
-/*!
 	Sets the alarm to the alarm server.
  */
 void ClockAlarmEditor::setAlarm(
@@ -653,7 +633,7 @@
 	alarmInfo.volumeStatus = mAlarmInfo.volumeStatus;
 
 	// Request the listener to set the alarm.
-	mAlarmClient->setAlarm(alarmInfo);
+	mAlarmClient.setAlarm(alarmInfo);
 
 	// Check if DST rule gets applied in 24hrs.
 	// If so we don't display the remaining time.
@@ -715,9 +695,8 @@
 {
 	// Remove the alarm editor.
 	HbMainWindow *window = hbInstance->allMainWindows().first();
-
-	window->removeView(this);
-	window->setCurrentView(mPreviousView);
+	window->removeView(mAlarmEditorView);
+	deleteLater();
 }
 
 /*!
@@ -733,7 +712,7 @@
 	hbTrId("txt_clock_dpopinfo_alarm_will_occur_at_1_after_au");
 	QString displayText = dstRollOverText.arg(alarmTime);
 	// show the note
-	HbNotificationDialog::launchDialog(displayText);
+	launchDialog(displayText);
 }
 
 /*!
@@ -797,7 +776,6 @@
 			break;
 	}
 	if (Enabled == alarmInfo.alarmStatus && !(displayText.isEmpty())) {
-		//HbNotificationDialog::launchDialog(displayText);
 		showDisplayText = true;
 	}
 
@@ -870,17 +848,16 @@
 				&& 	!(remainingTimeText.isEmpty())) {
 
 			if (!(displayText.isEmpty()) ) {
-				HbNotificationDialog::launchDialog(
-						displayText, remainingTimeText);
+				launchDialog(displayText, remainingTimeText);
 				showDisplayText = false;
 			}
 			else {
-				HbNotificationDialog::launchDialog(remainingTimeText);
+				launchDialog(remainingTimeText);
 			}
 		}
 	}
 	if (showDisplayText) {
-		HbNotificationDialog::launchDialog(displayText);
+		launchDialog(displayText);
 	}
 }
 
@@ -941,4 +918,35 @@
 	return remainingSeconds;
 }
 
+/*!
+	Launches the soft notification.
+ */
+void ClockAlarmEditor::launchDialog(QString title, QString text)
+{
+	HbNotificationDialog *notificationDialog = new HbNotificationDialog();
+	notificationDialog->setTitle(title);
+
+	if (!text.isNull()) {
+		notificationDialog->setText(text);
+	}
+
+	notificationDialog->setTimeout(HbPopup::ConfirmationNoteTimeout);
+	notificationDialog->show();
+}
+
+/*!
+    Sorts and appends alarm days on the basis of start of week.
+ */
+void ClockAlarmEditor::sortAlarmDaysList(QStringList& alarmDaysList)
+
+{
+    for(int index=(mStartOfWeek + 1),j=KDaysInWeek;j!=0 ;index++,j--){
+        if(index > KDaysInWeek){
+           index = index - KDaysInWeek;
+        }
+        QString alarmDayText;
+        getDayText(index, alarmDayText );
+        alarmDaysList.append(alarmDayText);
+    }
+}
 // End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockappcontroller/bwins/clockappcontrolleru.def	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,7 @@
+EXPORTS
+	_ZN18ClockAppControllerC1EP7QObject @ 1 NONAME
+	_ZN18ClockAppControllerC2EP7QObject @ 2 NONAME
+	_ZN18ClockAppControllerD0Ev @ 3 NONAME
+	_ZN18ClockAppControllerD1Ev @ 4 NONAME
+	_ZN18ClockAppControllerD2Ev @ 5 NONAME
+
--- a/clock/clockui/clockappcontroller/src/clockappcontroller.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockappcontroller/src/clockappcontroller.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -15,9 +15,6 @@
 *
 */
 
-// System includes
-#include <QDebug>
-
 // User includes
 #include "clockappcontroller.h"
 #include "clockappcontrollerifimpl.h"
@@ -38,8 +35,6 @@
  mViewManager(0),
  mIfImpl(0)
 {
-	qDebug() << "clock: ClockAppController::ClockAppController -->";
-
 	// Construct the interface implementation.
 	mIfImpl = new ClockAppControllerIfImpl(this, this);
 
@@ -48,8 +43,6 @@
 	Q_ASSERT_X(
 			mViewManager, "clockappcontroller.cpp",
 			"ClockViewManager is 0");
-
-	qDebug() << "clock: ClockAppController::ClockAppController <--";
 }
 
 /*!
@@ -57,8 +50,6 @@
  */
 ClockAppController::~ClockAppController()
 {
-	qDebug() << "clock: ClockAppController::~ClockAppController -->";
-
 	if (mViewManager) {
 		delete mViewManager;
 		mViewManager = 0;
@@ -67,8 +58,6 @@
 		delete mIfImpl;
 		mIfImpl = 0;
 	}
-
-	qDebug() << "clock: ClockAppController::~ClockAppController <--";
 }
 
 // End of file	--Don't remove this.
--- a/clock/clockui/clockappcontroller/src/clockappcontrollerifimpl.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockappcontroller/src/clockappcontrollerifimpl.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -16,9 +16,6 @@
 *
 */
 
-// System includes
-#include <QDebug>
-
 // User includes
 #include "clockappcontrollerifimpl.h"
 #include "clockappcontroller.h"
@@ -46,16 +43,12 @@
 :QObject(parent),
  mAppController(controller)
 {
-	qDebug() << "clock: ClockAppControllerIfImpl::ClockAppControllerIfImpl -->";
-
 	// Construct the timezone client.
-	mTimeZoneClient = new TimezoneClient(this);
+	mTimeZoneClient = TimezoneClient::getInstance();
 	// Construct the settings utility object.
 	mSettingsUtility = new SettingsUtility(this);
 	// Construct the alarm client object.
 	mAlarmClient = new AlarmClient(this);
-
-	qDebug() << "clock: ClockAppControllerIfImpl::ClockAppControllerIfImpl <--";
 }
 
 /*!
@@ -63,11 +56,8 @@
  */
 ClockAppControllerIfImpl::~ClockAppControllerIfImpl()
 {
-	qDebug() << "clock: ClockAppControllerIfImpl::~ClockAppControllerIfImpl -->";
-
-	if (mTimeZoneClient) {
-		delete mTimeZoneClient;
-		mTimeZoneClient = 0;
+	if (!mTimeZoneClient->isNull()) {
+		mTimeZoneClient->deleteInstance();
 	}
 	if (mSettingsUtility) {
 		delete mSettingsUtility;
@@ -77,8 +67,6 @@
 		delete mAlarmClient;
 		mAlarmClient = 0;
 	}
-
-	qDebug() << "clock: ClockAppControllerIfImpl::~ClockAppControllerIfImpl <--";
 }
 
 
@@ -91,10 +79,6 @@
  */
 TimezoneClient* ClockAppControllerIfImpl::timezoneClient()
 {
-	qDebug() << "clock: ClockAppControllerIfImpl::timezoneClient -->";
-
-	qDebug() << "clock: ClockAppControllerIfImpl::timezoneClient <--";
-
 	return mTimeZoneClient;
 }
 
@@ -107,10 +91,6 @@
  */
 SettingsUtility* ClockAppControllerIfImpl::settingsUtility()
 {
-	qDebug() << "clock: ClockAppControllerIfImpl::settingsUtility -->";
-
-	qDebug() << "clock: ClockAppControllerIfImpl::settingsUtility <--";
-
 	return mSettingsUtility;
 }
 
@@ -123,10 +103,6 @@
  */
 AlarmClient* ClockAppControllerIfImpl::alarmClient()
 {
-	qDebug() << "clock: ClockAppControllerIfImpl::alarmClient -->";
-
-	qDebug() << "clock: ClockAppControllerIfImpl::alarmClient <--";
-
 	return mAlarmClient;
 }
 
@@ -139,11 +115,7 @@
  */
 void ClockAppControllerIfImpl::switchToView(ClockViews viewId)
 {
-	qDebug() << "clock: ClockAppControllerIfImpl::switchToView -->";
-
 	mAppController->mViewManager->showView(viewId);
-
-	qDebug() << "clock: ClockAppControllerIfImpl::switchToView <--";
 }
 
 // End of file	--Don't remove this.
--- a/clock/clockui/clockapplication/clockapplication.pro	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockapplication/clockapplication.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -34,6 +34,8 @@
 	
 	LIBS += \
 		-lclockappcontroller
+		
+	SKINICON = qtg_large_clock
 }
 
 SOURCES += main.cpp
--- a/clock/clockui/clockapplication/src/main.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockapplication/src/main.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -18,7 +18,7 @@
 // System includes
 #include <QtGui>
 #include <QScopedPointer>
-#include <QTranslator>
+#include <HbTranslator>
 #include <HbApplication>
 #include <HbMainWindow>
 
@@ -32,8 +32,6 @@
  */
 int main(int argc, char *argv[])
 {
-	qDebug("clock: main() -->");
-
 	// Initialization
 	HbApplication app(argc, argv);
 
@@ -45,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)
@@ -56,8 +53,6 @@
 	// Show widget
 	window.show();
 
-	qDebug("clock: main() <--");
-
 	// Enter event loop
 	return app.exec();
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockcityselectionlist/bwins/clockcityselectionlistu.def	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockcityselectionlist/clockcityselectionlist.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockcityselectionlist/data/clockcityselectionlist.qrc	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,459 +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_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_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_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_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_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_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_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_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_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_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_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_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_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="yes" id="txt_clock_list_ln_minutes">
-    <comment>Alarm snooze time details in the list box (5mins, 10mins, 15mins, 30mins)</comment>        
-    <source>%Ln minutes</source>
-    <translation>
-        <numerusform variants="no">(s)%Ln minutes</numerusform>
-        <numerusform variants="no">(p)%Ln minutes</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_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_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_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_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_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_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_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_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_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>
-<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_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_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_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_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_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_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>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockcityselectionlist/data/xml/clockcityselectionlist.docml	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="addOwnCityAction" type="HbAction">
+        <string name="text" value="Add own city"/>
+    </object>
+    <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="heading" value="City list"/>
+                <real name="z" value="1"/>
+                <bool name="collapsable" value="FALSE"/>
+            </widget>
+            <widget name="cityListView" type="HbListView">
+                <widget name="prototype" role="HbListView:prototype" type="HbListViewItem">
+                    <string name="state" value="normal"/>
+                </widget>
+                <real name="z" value="1"/>
+            </widget>
+            <widget name="lineEdit" type="HbSearchPanel">
+                <real name="z" value="2"/>
+            </widget>
+            <layout type="anchor">
+                <anchoritem dst="subtitleGroupBox" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="subtitleGroupBox" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="subtitleGroupBox" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+                <anchoritem dst="cityListView" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="cityListView" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="cityListView" dstEdge="TOP" spacing="0un" src="subtitleGroupBox" srcEdge="BOTTOM"/>
+                <anchoritem dst="lineEdit" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="lineEdit" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="lineEdit" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+                <anchoritem dst="cityListView" dstEdge="BOTTOM" spacing="0un" src="lineEdit" srcEdge="TOP"/>
+            </layout>
+        </widget>
+        <widget name="viewMenu" role="HbView:menu" type="HbMenu">
+            <ref object="addOwnCityAction" role="HbMenu:addAction"/>
+        </widget>
+        <string locid="txt_common_common_clock" name="title" value="Clock"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+        <uistate name="portrait" sections="#common"/>
+        <uistate name="landscape" sections="#common"/>
+        <dummydata objectName="cityListView" section="#common" value="0"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockcityselectionlist/eabi/clockcityselectionlistu.def	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockcityselectionlist/inc/clockcityselectionlist.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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/clockcityselectionlist_p.h	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockcityselectionlist/inc/clockcityselectionlist_p.h	Mon Jun 28 15:22:02 2010 +0530
@@ -58,8 +58,8 @@
 	void updateSearchCriteria(const QString &criteria);
 	void handleAddOwnCityAction();
 	void handleOkAction();
-	void handleCancelAction();
 	void handleTimeZoneSelection(int index);
+	void selectedAction(HbAction *action);
 
 private:
 	void showCityList();
@@ -81,6 +81,9 @@
 	QPointer<HbComboBox> mTimeZoneComboBox;
 	QPointer<HbComboBox> mCountryComboBox;
 
+	HbAction *mOkAction;
+	HbAction *mCancelAction;
+
 	ClockCitySelectionList *q_ptr;
 	TimezoneClient *mClient;
 	ClockCityListProxyModel *mProxyModel;
--- a/clock/clockui/clockcityselectionlist/inc/clockcityselectionlistprototype.h	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockcityselectionlist/src/clockcityselectionlist.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockcityselectionlist/src/clockcityselectionlist_p.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -40,7 +40,7 @@
 #include "clockcityselectionlist.h"
 #include "clockcitylistproxymodel.h"
 #include "clockcityselectionlistcommon.h"
-#include "clockcityselectionlistprototype.h"
+
 #include "timezoneclient.h"
 #include "clockdatatypes.h"
 
@@ -67,7 +67,7 @@
 
 	mClient = client;
 	if (!mClient) {
-		mClient = new TimezoneClient(this);
+		mClient = TimezoneClient::getInstance();
 		mOwnsClient = true;
 	}
 }
@@ -78,7 +78,7 @@
 ClockCitySelectionListPrivate::~ClockCitySelectionListPrivate()
 {
 	if (mOwnsClient) {
-		delete mClient;
+		mClient->deleteInstance();
 	}
 	if (mLoader) {
 		mLoader->reset();
@@ -103,7 +103,7 @@
 void ClockCitySelectionListPrivate::populateListModel()
 {
 	// First get the data from the timezone client.
-	QList<LocationInfo> infoList = mClient->getLocations();
+	QList<LocationInfo> &infoList = mClient->getLocations();
 
 	// Sanity check.
 	if (!mListModel) {
@@ -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.
@@ -135,6 +136,9 @@
 		mListModel->setData(
 				index, info.countryName, Qt::UserRole + 104);
 	}
+
+	// Cleanup.
+	infoList.clear();
 }
 
 /*!
@@ -241,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"));
@@ -273,20 +278,14 @@
 	widget->setLayout(layout);
 
 	// Add actions to the dialog
-	HbAction *okAction = new HbAction(hbTrId("txt_common_button_ok"));
-	mAddOwnCityDialog->setPrimaryAction(okAction);
-	connect(
-			okAction, SIGNAL(triggered()),
-			this, SLOT(handleOkAction()));
+	mOkAction = new HbAction(hbTrId("txt_common_button_ok"));
+	mCancelAction = new HbAction(hbTrId("txt_common_button_cancel"));
 
-	HbAction *cancelAction = new HbAction(hbTrId("txt_common_button_cancel"));
-	mAddOwnCityDialog->setSecondaryAction(cancelAction);
-	connect(
-			cancelAction, SIGNAL(triggered()),
-			this, SLOT(handleCancelAction()));
+	mAddOwnCityDialog->addAction(mOkAction);
+	mAddOwnCityDialog->addAction(mCancelAction);
 
 	mAddOwnCityDialog->setContentWidget(widget);
-	mAddOwnCityDialog->exec();
+	mAddOwnCityDialog->open(this, SLOT(selectedAction(HbAction*)));
 }
 
 /*!
@@ -321,21 +320,6 @@
 			populateListModel();
 		}
 	}
-
-	// Close the popup
-	handleCancelAction();
-}
-
-/*!
-	Handles Cancel action of add own city dialog
- */
-void ClockCitySelectionListPrivate::handleCancelAction()
-{
-	// Close the dialog.
-	if (mAddOwnCityDialog) {
-		mAddOwnCityDialog->close();
-		mAddOwnCityDialog->deleteLater();
-	}
 }
 
 /*!
@@ -364,6 +348,15 @@
 }
 
 /*!
+	Slot to handle the selected action
+ */
+void ClockCitySelectionListPrivate::selectedAction(HbAction *action)
+{
+	if (action==mOkAction) {
+		handleOkAction();
+	}
+}
+/*!
 	Displays the city selection list.
  */
 void ClockCitySelectionListPrivate::showCityList()
@@ -399,7 +392,7 @@
 	connect(
 			mSearchBox, SIGNAL(criteriaChanged(QString)),
 			this, SLOT(updateSearchCriteria(QString)));
-	
+
 	// Construct the source model.
 	if (!mListModel) {
 		mListModel = new QStandardItemModel(0, 1, this);
@@ -410,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()));
 
@@ -441,7 +425,7 @@
 
 	// Add the view to the main window and show it.
 	HbMainWindow *window = hbInstance->allMainWindows().at(0);
-	mBackAction = new HbAction(Hb::BackAction, this);
+	mBackAction = new HbAction(Hb::BackNaviAction, this);
 	mView->setNavigationAction(mBackAction);
 	connect(
 			mBackAction, SIGNAL(triggered()),
--- a/clock/clockui/clockcityselectionlist/src/clockcityselectionlistprototype.cpp	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockplugins/clockplugins.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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/datetimesettingsplugin.pro	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockplugins/datetimesettingsplugin/datetimesettingsplugin.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -17,31 +17,35 @@
 
 TEMPLATE = lib
 TARGET = datetimesettingsplugin
+CONFIG += hb plugin
+
 DEPENDPATH += . \
 			  ./inc \
 			  ./src
+			  
 INCLUDEPATH += . \
-               ../../clocksettingsview/inc
-
-CONFIG += hb plugin
-
-LIBS += -lcpframework
+				../../../inc \
+				../../../clockmw/clocktimezone/inc \
+				../../clocksettingsview/inc
 
-# Input
-HEADERS += datetimesettingsplugin.h \
-		   datetimesettingsview.h
+LIBS += \
+		-lcpframework \
+		-ltimezoneclient \
+		-lclocksettingsview \
+
+HEADERS += \
+			datetimesettingsplugin.h \
+			datetimesettingsview.h
 		   
-SOURCES += datetimesettingsplugin.cpp \
-		   datetimesettingsview.cpp
+SOURCES += \
+			datetimesettingsplugin.cpp \
+			datetimesettingsview.cpp
 
 symbian: {
     TARGET.EPOCALLOWDLLDATA = 1  
     TARGET.UID3 = 0x102818E9
+	TARGET.CAPABILITY = CAP_GENERAL_DLL
 	
-	LIBS += -lclocksettingsview
-}
-
-symbian {
     deploy.path = C:
     headers.sources = qmakepluginstubs/datetimesettingsplugin.qtplugin
     headers.path = /resource/qt/plugins/controlpanel
@@ -49,9 +53,9 @@
     # This is for new exporting system coming in garden
     for(header, headers.sources):BLD_INF_RULES.prj_exports += "./$$header $$deploy.path$$headers.path/$$basename(header)"
 }
-			   
-TARGET.CAPABILITY = CAP_GENERAL_DLL
 
 plugin.sources = datetimesettingsplugin.dll
 plugin.path = \resource\qt\plugins\controlpanel
-DEPLOYMENT += plugin
\ No newline at end of file
+DEPLOYMENT += plugin
+
+# End of file	--Don't remove this.
--- a/clock/clockui/clockplugins/datetimesettingsplugin/inc/datetimesettingsplugin.h	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockplugins/datetimesettingsplugin/inc/datetimesettingsplugin.h	Mon Jun 28 15:22:02 2010 +0530
@@ -10,29 +10,35 @@
 * Nokia Corporation - initial contribution.
 *
 * Contributors:
- *
- * Description: 
- *
+*
+* Description: 
+* Header file for DateTimeSettingsPlugin class.
+*
 */
 
 
 #ifndef DATETIMESETTINGSPLUGIN_H_
 #define DATETIMESETTINGSPLUGIN_H_
 
-#include <cppluginplatinterface.h>
-#include <qobject.h>
+// System includes
+#include <QObject>
 
-class DateTimeSettingsPlugin : public QObject, public CpPluginPlatInterface
+// User includes
+#include <cpplugininterface.h>
+
+class DateTimeSettingsPlugin : public QObject, public CpPluginInterface
 {
 	Q_OBJECT
-    Q_INTERFACES(CpPluginPlatInterface)
+	Q_INTERFACES(CpPluginInterface)
 
 public:
 	DateTimeSettingsPlugin();
-    virtual ~DateTimeSettingsPlugin();
+	virtual ~DateTimeSettingsPlugin();
 
-    virtual int uid() const;
-    virtual CpSettingFormItemData *createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
+	virtual int uid() const;
+	QList<CpSettingFormItemData*> createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
 };
 
 #endif /* DATETIMESETTINGSPLUGIN_H_ */
+
+// End of file	--Don't remove this
--- a/clock/clockui/clockplugins/datetimesettingsplugin/inc/datetimesettingsview.h	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockplugins/datetimesettingsplugin/inc/datetimesettingsview.h	Mon Jun 28 15:22:02 2010 +0530
@@ -10,22 +10,46 @@
 * Nokia Corporation - initial contribution.
 *
 * Contributors:
- *
- * Description:   
- *
+*
+* Description:
+* Header file for DateTimeSettingsView class.
+*
 */
 
 #ifndef	DATETIMESETTINGSVIEW_H_
 #define	DATETIMESETTINGSVIEW_H_
 
-#include <cpbasesettingview.h>
+// User includes
+#include <cpsettingformentryitemdata.h>
 
-class DateTimeSettingsView : public CpBaseSettingView
+// Forward declarations
+class QTimer;
+class TimezoneClient;
+
+class DateTimeSettingsView : public CpSettingFormEntryItemData
 {
-    Q_OBJECT
+	Q_OBJECT
 public:
-    explicit DateTimeSettingsView(QGraphicsItem *parent = 0);
-    virtual ~DateTimeSettingsView();
+	explicit DateTimeSettingsView(
+			CpItemDataHelper &itemDataHelper, const QString &text = QString(),
+			const QString &description = QString(),
+			const HbIcon &icon = HbIcon(),
+			const HbDataFormModelItem *parent = 0);
+	virtual ~DateTimeSettingsView();
+
+private slots:
+	void onLaunchView();
+	void updateDisplayTime();
+	
+private:
+	virtual CpBaseSettingView *createSettingView() const;
+
+private:
+	QTimer *mTickTimer;
+	TimezoneClient *mTimezoneClient;
 
 };
-#endif//	DATETIMESETTINGSVIEW_H_
+
+#endif // DATETIMESETTINGSVIEW_H_
+
+// End of file	--Don't remove this
--- a/clock/clockui/clockplugins/datetimesettingsplugin/src/datetimesettingsplugin.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockplugins/datetimesettingsplugin/src/datetimesettingsplugin.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -10,40 +10,69 @@
 * Nokia Corporation - initial contribution.
 *
 * Contributors:
- *
- * Description: 
- *
+*
+* Description: 
+* Definition file for class DateTimeSettingsPlugin.
+*
 */
-
+// System includes
+#include <QDateTime>
 #include <cpsettingformentryitemdataimpl.h>
+#include <HbExtendedLocale>
 
+// User includes
 #include "datetimesettingsplugin.h"
 #include "datetimesettingsview.h"
 
+/*!
+	Constructor.
+ */
 DateTimeSettingsPlugin::DateTimeSettingsPlugin()
 {
 }
 
+/*!
+	Destructor.
+ */
 DateTimeSettingsPlugin::~DateTimeSettingsPlugin()
 {
 }
 
+/*!
+	Returns the uid of the plugin.
+ */
 int DateTimeSettingsPlugin::uid() const
 {
 	// UID of the plugin.
-    return 0x102818E9;
+	return 0x102818E9;
 }
 
-CpSettingFormItemData *DateTimeSettingsPlugin::
-						createSettingFormItemData(
-							CpItemDataHelper &itemDataHelper) const
+/*!
+	Creates the object of DateTimeSettingsView class.
+ */
+QList<CpSettingFormItemData*> DateTimeSettingsPlugin:: 
+						      createSettingFormItemData(
+							  CpItemDataHelper &itemDataHelper) const
 {
-    HbIcon* icon = new HbIcon();
-    return new CpSettingFormEntryItemDataImpl<DateTimeSettingsView>(
-								itemDataHelper,
-								QString("Clock application"),
-                                QString("Date & Time settings plugin"),
-                                *icon);
+	HbIcon icon ;
+	HbExtendedLocale locale = HbExtendedLocale::system();
+	QString timeInfo = locale.format(
+			QTime::currentTime(), r_qtn_time_usual_with_zero);
+	QString dateinfo = locale.format(
+			QDate::currentDate(), r_qtn_date_usual_with_zero);
+	QString displayString;
+	displayString.append(timeInfo);
+	displayString.append(" ");
+	displayString.append(dateinfo);
+	
+	QList<CpSettingFormItemData*> entryItemList;
+	CpSettingFormItemData *entryItem = new DateTimeSettingsView(
+			itemDataHelper,hbTrId("txt_cp_main_view_list_time_date"),
+			displayString,icon);
+	entryItemList.append(entryItem);
+	return entryItemList;
 }
 
 Q_EXPORT_PLUGIN2(DateTimeSettingsPlugin, DateTimeSettingsPlugin)
+
+// End of file	--Don't remove this
--- a/clock/clockui/clockplugins/datetimesettingsplugin/src/datetimesettingsview.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockplugins/datetimesettingsplugin/src/datetimesettingsview.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -12,28 +12,108 @@
 * Contributors:
 *
 * Description:
-* Definition file for class ClockSettingsView.
+* Definition file for class DateTimeSettingsView.
 *
 */
 
+// System includes
+#include <QTimer>
+#include <QDateTime>
+#include <HbExtendedLocale>
+#include <cpitemdatahelper.h>
 
-#include <hbdataform.h>
+// User includes
 #include "datetimesettingsview.h"
 #include "clocksettingsview.h"
+#include "timezoneclient.h"
 
-DateTimeSettingsView::DateTimeSettingsView(QGraphicsItem *parent)
-:CpBaseSettingView(0, parent)
-{
-	HbDataForm *form = settingForm();
+/*!
+	\class DateTimeSettingsView
+
+	This class launches the clock settings view from control panel.
+ */
+
+/*!
+	Constructor.
 
-	if (form) {
-		form->setHeading(tr("Date & Time Settings"));
+	\param itemDataHelper CpItemDataHelper object.
+	\param text text to be displayed in first line.
+	\param description test to be displayed in second line.
+	\param icon to be displayed.
+	\param parent Parent of type HbDataFormModelItem
+ */
+DateTimeSettingsView::DateTimeSettingsView(
+		CpItemDataHelper &itemDataHelper, const QString &text,
+		const QString &description, const HbIcon &icon,
+		const HbDataFormModelItem *parent):
+		CpSettingFormEntryItemData(
+				itemDataHelper, text, description, icon, parent)
+{
+	// Construct the timezone client.
+	mTimezoneClient = TimezoneClient::getInstance();
+	connect(
+			mTimezoneClient, SIGNAL(timechanged()),
+			this, SLOT(updateDisplayTime()));
 
-		ClockSettingsView *settingsView = new ClockSettingsView(this);
-		settingsView->loadSettingsView();
-    }
+	// Start a timer. For updating the displayed time.
+	mTickTimer = new QTimer(this);
+	// Start the Timer for 1 minute.
+	mTickTimer->start(60000 - 1000 * QTime::currentTime().second());
+	connect(
+			mTickTimer, SIGNAL(timeout()),
+			this, SLOT(updateDisplayTime()));
 }
 
+/*!
+	Destructor.
+ */
 DateTimeSettingsView::~DateTimeSettingsView()
 {
+	if (mTickTimer) {
+		mTickTimer->stop();
+		delete mTickTimer;
+		mTickTimer = 0;
+	}
+	
+	if (!mTimezoneClient->isNull()) {
+		mTimezoneClient->deleteInstance();
+	}
 }
+
+/*!
+	Launches the clock settings view.
+ */
+void DateTimeSettingsView::onLaunchView()
+{
+	ClockSettingsView *settingsView = new ClockSettingsView(this);
+	settingsView->loadSettingsView();
+}
+
+/*!
+	Updates the second line i.e date & time.
+ */
+void DateTimeSettingsView::updateDisplayTime()
+{
+	HbExtendedLocale locale = HbExtendedLocale::system();
+	QString timeInfo = locale.format(
+			QTime::currentTime(), r_qtn_time_usual_with_zero);
+	QString dateinfo = locale.format(
+			QDate::currentDate(), r_qtn_date_usual_with_zero);
+	QString displayString;
+	displayString.append(timeInfo);
+	displayString.append(" ");
+	displayString.append(dateinfo);
+	setDescription(displayString);
+	// Start the Timer for 1 minute.
+	mTickTimer->start(60000);
+}
+
+/*!
+	createSettingView()
+ */
+CpBaseSettingView *DateTimeSettingsView::createSettingView() const
+{
+	return 0;
+}
+
+// End of file	--Don't remove this
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clocksettingsview/bwins/clocksettingsviewu.def	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clocksettingsview/clocksettingsview.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -23,12 +23,12 @@
 
 INCLUDEPATH += \
 		./inc \
-		../clockwidget/inc \
 		../../clockmw/clocksettingsutility/inc \
 		../../clockmw/clocktimezone/inc \
 		../clockcityselectionlist/inc \
 		../../inc
 
+
 DEPENDPATH += \
 		./inc \
 		./src \
@@ -38,12 +38,13 @@
 	TARGET.CAPABILITY += ALL -TCB
 	TARGET.EPOCALLOWDLLDATA = 1
 	TARGET.UID3 = 0x10005906
+	INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
 
 	LIBS += \
 		-ltimezoneclient \
 		-lclocksettingsutility \
 		-lclockcityselectionlist \
-		-lclockwidgetproto
+		-lxqsettingsmanager
 }
 
 SOURCES += \
@@ -61,5 +62,7 @@
 		
 RESOURCES += \
 		clocksettingsview.qrc
+		
+TRANSLATIONS += clocksettingsview.ts
 
 # End of file	--Don't remove this.
--- a/clock/clockui/clocksettingsview/data/clocksettingsview.qrc	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clocksettingsview/data/clocksettingsview.qrc	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,349 +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_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_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_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_Date &amp; time settings_P04_1</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_Date &amp; time settings_P04_1</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="yes" id="txt_clock_list_ln_minutes">
-    <comment>Alarm snooze time details in the list box (5mins, 10mins, 15mins, 30mins)</comment>        
-    <source>%Ln minutes</source>
-    <translation>
-        <numerusform variants="no">(s)%Ln minutes</numerusform>
-        <numerusform variants="no">(p)%Ln minutes</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_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_Date &amp; time settings_P04_1</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_Date &amp; time settings_P04_1</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_Date &amp; time settings_P04_1</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_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_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_Date &amp; time settings_P04_1</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_Date &amp; time settings_P04_1</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>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clocksettingsview/data/xml/clockregionalsettingsview.docml	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.8">
+    <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="heading" value="Regional date &amp; time setting"/>
+                <real name="z" value="1"/>
+                <bool name="collapsable" value="FALSE"/>
+            </widget>
+            <widget name="dataForm" type="HbDataForm">
+                <real name="z" value="2"/>
+                <string name="description" value=""/>
+                <string name="heading" value=""/>
+            </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="dataForm" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="dataForm" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="dataForm" dstEdge="TOP" spacing="0un" src="subtitleGroupBox" srcEdge="BOTTOM"/>
+                <anchoritem dst="dataForm" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+            </layout>
+        </widget>
+        <string locid="txt_common_common_clock" name="title" value="Clock"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="QHD portrait" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+        <uistate name="portrait" sections="#common"/>
+        <uistate name="landscape" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clocksettingsview/data/xml/clocksettingsview.docml	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <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="heading" value="Settings"/>
+                <real name="z" value="1"/>
+                <bool name="collapsable" value="FALSE"/>
+            </widget>
+            <widget name="dataForm" type="HbDataForm">
+                <real name="z" value="11"/>
+                <string name="description" value=""/>
+                <string name="heading" value=""/>
+            </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="dataForm" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="dataForm" dstEdge="TOP" spacing="0un" src="subtitleGroupBox" srcEdge="BOTTOM"/>
+                <anchoritem dst="dataForm" dstEdge="RIGHT" spacing="-0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="dataForm" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+            </layout>
+        </widget>
+        <widget name="viewMenu" role="HbView:menu" type="HbMenu"/>
+        <string locid="txt_common_common_clock" name="title" value="Clock"/>
+    </widget>
+    <section name="landscape">
+        <widget name="clockSettingsViewWidget" role="HbView:widget" type="HbWidget">
+            <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="dataForm" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="dataForm" dstEdge="TOP" spacing="0un" src="subtitleGroupBox" srcEdge="BOTTOM"/>
+                <anchoritem dst="dataForm" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="dataForm" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+            </layout>
+        </widget>
+    </section>
+    <section name="portrait">
+        <widget name="clockSettingsViewWidget" role="HbView:widget" type="HbWidget">
+            <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="dataForm" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="dataForm" dstEdge="TOP" spacing="0un" src="subtitleGroupBox" srcEdge="BOTTOM"/>
+                <anchoritem dst="dataForm" dstEdge="RIGHT" spacing="-0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="dataForm" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+            </layout>
+        </widget>
+    </section>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+        <uistate name="portrait" sections="#common portrait"/>
+        <uistate name="landscape" sections="#common landscape"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clocksettingsview/eabi/clocksettingsviewu.def	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clocksettingsview/inc/clockregionalsettingsview.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clocksettingsview/inc/clocksettingsview.h	Mon Jun 28 15:22:02 2010 +0530
@@ -33,14 +33,13 @@
 class HbDataFormModel;
 class HbDataFormModelItem;
 class HbLabel;
-
 class TimezoneClient;
 class SettingsUtility;
-class SkinnableClock;
 class ClockSettingsDocLoader;
 class ClockSettingsView;
-class SkinnableClock;
-class QTranslator;
+class HbTranslator;
+class XQSettingsManager;
+class XQSettingsKey;
 
 class ClockSettingsView : public QObject
 {
@@ -55,13 +54,15 @@
 
 private slots:
 	void handleBackAction();
-	void updateDateLabel();
-	void updatePlaceInfo();
-	void updateClockWidget();
+	void updatePlaceItem();
 	void updateDateItem();
 	void updateTimeItem();
 	void handleOrientationChanged(Qt::Orientation orientation);
 	void handleNetworkTimeStateChange(int state);
+	void handleAutoTimeUpdateChange(int value);
+	void handleAlarmSnoozeTimeChanged(int index);
+	void handleClockTypeChanged();
+	void eventMonitor(const XQSettingsKey& key, const QVariant& value);
 
 private:
 	void setupView();
@@ -78,20 +79,19 @@
 
 	QPointer<HbDataFormModel> mSettingsModel;
 
-
-	HbLabel *mDayDateLabel;
-	HbLabel *mPlaceLabel;
-
 	HbDataFormModelItem *mNetworkTimeItem;
 	HbDataFormModelItem *mTimeDataFormItem;
 	HbDataFormModelItem *mDateDataFormItem;
 	HbDataFormModelItem *mPlaceDataFormItem;
-
+	HbDataFormModelItem *mClockTypeItem;
+	HbDataFormModelItem *mAlarmSnoozeItem;
 	ClockSettingsDocLoader *mDocLoader;
 	SettingsUtility *mSettingsUtility;
-	TimezoneClient *mTimezoneClient;
-	SkinnableClock *mClockWidget;
-	QTranslator *mTranslator;
+	TimezoneClient *mTimezoneClient;	
+	XQSettingsManager *mSettingsManager;
+	XQSettingsKey *mAlarmSnoozeTimeKey;
+	QHash<int, int> mAlarmSnoozeTimeHash;
+	HbTranslator *mTranslator;
 };
 
 #endif // CLOCKSETTINGSVIEW_H
--- a/clock/clockui/clocksettingsview/inc/settingscustomitem.h	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clocksettingsview/inc/settingscustomitem.h	Mon Jun 28 15:22:02 2010 +0530
@@ -53,21 +53,13 @@
 
 private slots:
 	void launchTimePicker();
-	void handleTimeOkAction();
-	void handleTimeCancelAction();
-
+	void handleOkAction();
 	void launchDatePicker();
-	void handleDateOkAction();
-	void handleDateCancelAction();
-
 	void launchCitySelectionList();
 	void updatePlaceItem(LocationInfo info);
+	void launchRegSettingsView();
+	void selectedAction(HbAction *action);
 
-	void launchRegSettingsView();
-	
-private:
-	
-	
 private:
 	QStringList mWeekdaysList;
 
@@ -77,6 +69,9 @@
 	QPointer<HbPushButton> mDateWidget;
 	QPointer<HbPushButton> mPlaceWidget;
 
+	HbAction *mOkAction;
+	HbAction *mCancelAction;
+
 	SettingsUtility *mSettingsUtility;
 	ClockCitySelectionList *mCitySelectionList;
 	TimezoneClient *mTimezoneClient;
--- a/clock/clockui/clocksettingsview/src/clockregionalsettingsview.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clocksettingsview/src/clockregionalsettingsview.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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 <HbListWidgetItem>
+#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::BackAction);
-	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);
 }
 
 /*!
@@ -271,8 +273,6 @@
 void ClockRegionalSettingsView::handleDataChanged(
 		const QModelIndex& topLeft, const QModelIndex& bottomRight)
 {
-	qDebug("clock: ClockRegionalSettingsView::handleDataChanged() -->");
-
 	Q_UNUSED(bottomRight)
 
 
@@ -280,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;
 
@@ -350,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]);
@@ -372,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(
@@ -390,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);
@@ -402,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);
@@ -471,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/clocksettingsdocloader.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clocksettingsview/src/clocksettingsdocloader.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -16,13 +16,9 @@
 *
 */
 
-// System includes.
-#include <QDebug>
-
 // User includes
 #include "clocksettingsdocloader.h"
 #include "clocksettingsdefines.h"
-#include "skinnableclock.h"
 #include "clocksettingsview.h"
 
 /*!
@@ -39,16 +35,6 @@
  */
 QObject *ClockSettingsDocLoader::createObject(const QString &type, const QString &name)
 {
-	qDebug() << "clock: ClockSettingsDocLoader::createObject -->";
-
-	if (CLOCK_WIDGET == name) {
-		QObject *object = new SkinnableClock();
-		object->setObjectName(name);
-		return object;
-	}
-
-	qDebug() << "clock: ClockSettingsDocLoader::createObject <--";
-
 	return HbDocumentLoader::createObject(type, name);
 }
 
--- a/clock/clockui/clocksettingsview/src/clocksettingsview.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clocksettingsview/src/clocksettingsview.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -17,7 +17,6 @@
 */
 
 // System includes
-#include <QDebug>
 #include <HbInstance>
 #include <HbDataForm>
 #include <HbAction>
@@ -26,8 +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"
@@ -35,7 +36,6 @@
 #include "clocksettingsdocloader.h"
 #include "settingsutility.h"
 #include "timezoneclient.h"
-#include "skinnableclock.h"
 #include "settingsdatatypes.h"
 #include "settingscustomitem.h"
 
@@ -54,37 +54,31 @@
 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();
 
 	// Construct the timezone client.
-	mTimezoneClient = new TimezoneClient();
+	mTimezoneClient = TimezoneClient::getInstance();
 	connect(
 			mTimezoneClient, SIGNAL(timechanged()),
-			this, SLOT(updatePlaceInfo()));
-	connect(
-			mTimezoneClient, SIGNAL(timechanged()),
-			this, SLOT(updateDateLabel()));
-	connect(
-			mTimezoneClient, SIGNAL(timechanged()),
-			this, SLOT(updateClockWidget()));
+			this, SLOT(updatePlaceItem()));
 	connect(
 			mTimezoneClient, SIGNAL(timechanged()),
 			this, SLOT(updateDateItem()));
 	connect(
 			mTimezoneClient, SIGNAL(timechanged()),
 			this, SLOT(updateTimeItem()));
+	connect(
+			mTimezoneClient, SIGNAL(autoTimeUpdateChanged(int)),
+			this, SLOT(handleAutoTimeUpdateChange(int)));
+	connect(
+			mTimezoneClient, SIGNAL(cityUpdated()),
+			this, SLOT(updatePlaceItem()));
 
 	// Start a timer. For updating the remaining alarm time.
 	mTickTimer = new QTimer(this);
@@ -92,7 +86,22 @@
 			mTickTimer, SIGNAL(timeout()),
 			this, SLOT(updateTimeItem()));
 
-	qDebug("clock: ClockSettingsView::ClockSettingsView() <--");
+	// Create the settings manager.
+	mSettingsManager = new XQSettingsManager(this);
+
+	// Create the key for alarm snooze time.
+	mAlarmSnoozeTimeKey = new XQSettingsKey(
+			XQSettingsKey::TargetCentralRepository,
+			KCRUidClockApp,
+			KClockAppSnoozeTime);
+	
+	// Start the monitoring for the alarm snooze time key.
+	mSettingsManager->startMonitoring(*mAlarmSnoozeTimeKey);
+
+	// Listen to the key value changes.
+	connect(
+			mSettingsManager, SIGNAL(valueChanged(XQSettingsKey, QVariant)),
+			this, SLOT(eventMonitor(XQSettingsKey, QVariant)));
 }
 
 /*!
@@ -100,20 +109,24 @@
  */
 ClockSettingsView::~ClockSettingsView()
 {
-	qDebug("clock: ClockSettingsView::~ClockSettingsView() -->");
-
 	if (mDocLoader) {
 		delete mDocLoader;
 	}
 	
 	// Remove the translator
-    HbApplication::instance()->removeTranslator(mTranslator);
     if (mTranslator) {
         delete mTranslator;
         mTranslator = 0;
     }
+    if(mSettingsUtility){
+    	delete mSettingsUtility;
+    }
+	
+	if(mSettingsModel){
+		delete mSettingsModel;
+	}
+		
 
-	qDebug("clock: ClockSettingsView::~ClockSettingsView() <--");
 }
 
 /*!
@@ -121,8 +134,6 @@
  */
 void ClockSettingsView::loadSettingsView()
 {
-	qDebug() << "clock: ClockViewManager::loadMainView -->";
-
 	bool loadSuccess;
 
 	// Construct the document loader instance
@@ -161,7 +172,6 @@
 	// Setup the view.
 	setupView();
 
-	qDebug() << "clock: ClockViewManager::loadMainView <--";
 }
 
 /*!
@@ -175,109 +185,21 @@
 }
 
 /*!
-	Updates the day and date in the day label.
+	Updates the zone info in the place item field.
  */
-void ClockSettingsView::updateDateLabel()
+void ClockSettingsView::updatePlaceItem()
 {
-	qDebug() << "clock: ClockSettingsView::updateDateLabel -->";
-
-	// Get the current datetime.
-	QDateTime dateTime = QDateTime::currentDateTime();
-	// Get the day name.
-	QString dayName = dateTime.toString("dddd");
-	// Get the date in correct format.
-	QString currentDate = mSettingsUtility->date();
-	// Construct the day + date string.
-	QString dayDateString;
-	dayDateString+= dayName;
-	dayDateString += " ";
-	dayDateString += currentDate;
-
-	mDayDateLabel->clear();
-	mDayDateLabel->setPlainText(dayDateString);
-
-	qDebug() << "clock: ClockSettingsView::updateDateLabel <--";
-}
-
-/*!
-	Updates the zone info in the place label.
- */
-void ClockSettingsView::updatePlaceInfo()
-{
-	qDebug() << "clock: ClockSettingsView::updateClockZoneInfo -->";
-
 	// Get the current zone info.
 	LocationInfo currentZoneInfo = mTimezoneClient->getCurrentZoneInfoL();
 
-	// Construct the GMT +/- X string.
-	QString gmtOffset;
-
-	int utcOffset = currentZoneInfo.zoneOffset;
-	int offsetInHours (utcOffset/60);
-	int offsetInMinutes (utcOffset%60);
-
-	// Check wether the offset is +ve or -ve.
-	if (0 < utcOffset) {
-		// We have a positive offset. Append the '+' character.
-		gmtOffset += tr(" +");
-	} else if (0 > utcOffset) {
-		// We have a negative offset. Append the '-' character.
-		gmtOffset += tr(" -");
-		offsetInHours = -offsetInHours;
-	} else {
-		// We dont have an offset. We are at GMT zone.
-	}
-
-	// Append the hour component.
-	gmtOffset += QString::number(offsetInHours);
-
-	// Get the time separator from settings and append it.
-	QStringList timeSeparatorList;
-	int index = mSettingsUtility->timeSeparator(timeSeparatorList);
-	gmtOffset += timeSeparatorList.at(index);
-
-	// Append the minute component.
-	// If minute component is less less than 10, append a '00'
-	if (0 <= offsetInMinutes && offsetInMinutes < 10) {
-		gmtOffset += tr("00");
-	} else {
-		gmtOffset += QString::number(offsetInMinutes);
-	}
-
-	gmtOffset += tr(" GMT ");
-
-	// Append DST info.
-	if (currentZoneInfo.dstOn) {
-		gmtOffset += tr(" DST");
-	}
-
-	// Update the labels with the correct info.
-	mPlaceLabel->clear();
 	if (mTimezoneClient->timeUpdateOn()) {
-		mPlaceLabel->setPlainText(
-				currentZoneInfo.countryName + tr(" ") + gmtOffset);
 		mPlaceDataFormItem->setContentWidgetData(
 				"text", currentZoneInfo.countryName);
 	} else {
 		QString placeInfo = currentZoneInfo.cityName
 				+ tr(", ") + currentZoneInfo.countryName;
-		mPlaceLabel->setPlainText(placeInfo + tr(" ") + gmtOffset);
 		mPlaceDataFormItem->setContentWidgetData("text", placeInfo);
 	}
-
-	qDebug() << "clock: ClockSettingsView::updateDayDateInfo <--";
-}
-
-/*!
-	Updates the clock widget display.
- */
-void ClockSettingsView::updateClockWidget()
-{
-	qDebug() << "clock: ClockSettingsView::updateClockWidget -->";
-
-	mClockWidget->updateDisplay(true);
-
-	qDebug() << "clock: ClockSettingsView::updateClockWidget <--";
 }
 
 /*!
@@ -307,8 +229,6 @@
  */
 void ClockSettingsView::handleOrientationChanged(Qt::Orientation orientation)
 {
-	qDebug() << "clock: ClockSettingsView::handleOrientationChanged -->"; 
-
 	bool success; 
 	// If horizontal, load the landscape section. 
 	if (Qt::Horizontal == orientation) { 
@@ -322,9 +242,6 @@
 				CLOCK_SETTINGS_VIEW_PORTRAIT_SECTION,
 				&success); 
 	} 
-
-	qDebug() << "clock: ClockSettingsView::handleOrientationChanged <--"; 
-
 }
 
 void ClockSettingsView::handleNetworkTimeStateChange(int state)
@@ -333,36 +250,13 @@
 	if ((Qt::Checked == state && !cenrepValue)
 			|| (Qt::Unchecked == state && cenrepValue)) {
 		if (Qt::Checked == state) {
-			// Disable the time, date and place item.
-			if (mTimeDataFormItem) {
-				mTimeDataFormItem->setEnabled(false);
-			}
-			if (mDateDataFormItem) {
-				mDateDataFormItem->setEnabled(false);
-			}
-			if (mPlaceDataFormItem) {
-				mPlaceDataFormItem->setEnabled(false);
-			}
 			// Update the cenrep value.
 			mTimezoneClient->setTimeUpdateOn(true);
 
 		} else if (Qt::Unchecked == state) {
-			// Enable the time, date and place item.
-			if (mTimeDataFormItem) {
-				mTimeDataFormItem->setEnabled(true);
-			}
-			if (mDateDataFormItem) {
-				mDateDataFormItem->setEnabled(true);
-			}
-			if (mPlaceDataFormItem) {
-				mPlaceDataFormItem->setEnabled(true);
-			}
-
 			// Update the cenrep value.
 			mTimezoneClient->setTimeUpdateOn(false);
 		}
-
-		updatePlaceInfo();
 	}
 }
 
@@ -374,14 +268,12 @@
  */
 void ClockSettingsView::setupView()
 {
-	qDebug("clock: ClockSettingsView::setupView() -->");
-
 	HbMainWindow *window = hbInstance->allMainWindows().first();
 	window->addView(mSettingsView);
 	window->setCurrentView(mSettingsView);
 
 	// Add the back softkey.
-	mBackAction = new HbAction(Hb::BackAction);
+	mBackAction = new HbAction(Hb::BackNaviAction);
 	mSettingsView->setNavigationAction(mBackAction);
 	connect(
 			mBackAction, SIGNAL(triggered()),
@@ -391,34 +283,17 @@
 	mSettingsForm = static_cast<HbDataForm *> (
 			mDocLoader->findWidget(CLOCK_SETTINGS_DATA_FORM));
 
-	// Get the day-date label.
-	mDayDateLabel = static_cast<HbLabel *> (
-			mDocLoader->findWidget(CLOCK_SETTINGS_DATE_LABEL));
-
-	// Get the place label.
-	mPlaceLabel = static_cast<HbLabel *> (
-			mDocLoader->findWidget(CLOCK_SETTINGS_PLACE_LABEL));
-
-	// Get the clock widget.
-	mClockWidget = static_cast<SkinnableClock *> (
-			mDocLoader->findObject(CLOCK_WIDGET));
-
 	// Create the custom prototype.
 	QList <HbAbstractViewItem*> prototypes = mSettingsForm->itemPrototypes();
-	SettingsCustomItem *customPrototype = new SettingsCustomItem();
+	SettingsCustomItem *customPrototype = new SettingsCustomItem(mSettingsForm);
 	prototypes.append(customPrototype);
 	mSettingsForm->setItemPrototypes(prototypes);
 
 	// Create the model.
 	createModel();
-	// Update the relevant info.
-	updateDateLabel();
-	updateClockWidget();
-	updatePlaceInfo();
+	updatePlaceItem();
 
 	mTickTimer->start(60000 - 1000 * QTime::currentTime().second());
-
-	qDebug("clock: ClockSettingsView::setupView() <--");
 }
 
 /*!
@@ -513,7 +388,147 @@
 			static_cast<HbDataFormModelItem::DataItemType>
 			(HbDataFormModelItem::CustomItemBase + RegionalSettingsItem);
 	mSettingsModel->appendDataFormItem(regionalSettingsItem);
+    
+	// 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"));
+	QStringList alramSnoozeTimes;
+	alramSnoozeTimes << hbTrId("txt_clock_set_ln_mins", 5)
+			<< hbTrId("txt_clock_set_ln_mins", 10)
+			<< hbTrId("txt_clock_set_ln_mins", 15)
+			<< hbTrId("txt_clock_set_ln_mins", 30);
+	
+	// Build the hash map for the reminder.
+	mAlarmSnoozeTimeHash[0] = 5;
+	mAlarmSnoozeTimeHash[1] = 10;
+	mAlarmSnoozeTimeHash[2] = 15;
+	mAlarmSnoozeTimeHash[3] = 30;
+	
+	mAlarmSnoozeItem->setContentWidgetData("items", alramSnoozeTimes);
+	QVariant value = mSettingsManager->readItemValue(*mAlarmSnoozeTimeKey);
+	bool success;
+	int index;
+	int alarmSnoozeTime = value.toInt(&success);
+	if (success) {
+		index = mAlarmSnoozeTimeHash.key(alarmSnoozeTime);
+	} else {
+		index = mAlarmSnoozeTimeHash.key(15);
+	}
+	mAlarmSnoozeItem->setContentWidgetData("currentIndex", index);
+	mSettingsForm->addConnection(
+			mAlarmSnoozeItem, SIGNAL(currentIndexChanged(int)),
+			this, SLOT(handleAlarmSnoozeTimeChanged(int)));
 
 }
 
+/*!
+	Slot which handles the auto time update value changes in cenrep.
+	
+	/param value New value of the auto time update.
+ */
+void ClockSettingsView::handleAutoTimeUpdateChange(int value)
+{
+	int state = (mNetworkTimeItem->contentWidgetData("checkState")).toInt();
+	
+	if (value) {
+		// Disable the time, date and place item.
+		if (mTimeDataFormItem) {
+			mTimeDataFormItem->setEnabled(false);
+		}
+		if (mDateDataFormItem) {
+			mDateDataFormItem->setEnabled(false);
+		}
+		if (mPlaceDataFormItem) {
+			mPlaceDataFormItem->setEnabled(false);
+		}
+		if (Qt::Unchecked == state) {
+			mNetworkTimeItem->setContentWidgetData(
+						"checkState", Qt::Checked);
+		}
+	} else {
+		// Enable the time, date and place item.
+		if (mTimeDataFormItem) {
+			mTimeDataFormItem->setEnabled(true);
+		}
+		if (mDateDataFormItem) {
+			mDateDataFormItem->setEnabled(true);
+		}
+		if (mPlaceDataFormItem) {
+			mPlaceDataFormItem->setEnabled(true);
+		}
+		if (Qt::Checked == state) {
+			mNetworkTimeItem->setContentWidgetData(
+						"checkState", Qt::Unchecked);
+		}
+	}
+	updatePlaceItem();
+}
+
+/*!
+	Slot which handles the alarm snooze time changes.
+	
+	/param value New index of the alarm snooze time.
+ */
+void ClockSettingsView::handleAlarmSnoozeTimeChanged(int index)
+{
+	if (mAlarmSnoozeTimeHash.value(index)) {
+		mSettingsManager->writeItemValue(
+				*mAlarmSnoozeTimeKey, mAlarmSnoozeTimeHash.value(index));
+	}
+}
+
+/*!
+    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.
+	\param value The new value of that key.
+ */
+void ClockSettingsView::eventMonitor(
+		const XQSettingsKey& key, const QVariant& value)
+{
+	if (key.uid() == KCRUidClockApp && key.key() == KClockAppSnoozeTime) {
+		if (mSettingsManager->error() == XQSettingsManager::NoError) {
+
+			bool success;
+			int alarmSnoozeTime = value.toInt(&success);
+			
+			if (success) {
+				mAlarmSnoozeItem->setContentWidgetData(
+						"currentIndex", mAlarmSnoozeTimeHash.key(
+								alarmSnoozeTime));
+			}
+		}
+	}
+}
+
 // End of file	--Don't remove this.
--- a/clock/clockui/clocksettingsview/src/settingscustomitem.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clocksettingsview/src/settingscustomitem.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -54,6 +54,8 @@
 {
 	// Construct the settignsutility.
 	mSettingsUtility = new SettingsUtility();
+	// Construct the timezone client.
+	mTimezoneClient = TimezoneClient::getInstance();
 }
 
 /*!
@@ -61,7 +63,7 @@
  */
 SettingsCustomItem::~SettingsCustomItem()
 {
-
+    // Nothing yet.
 }
 
 /*!
@@ -74,16 +76,16 @@
 }
 
 /*!
-	
+
 	\sa
  */
 bool SettingsCustomItem::canSetModelIndex(const QModelIndex &index) const
 {
-	HbDataFormModelItem::DataItemType itemType = 
+	HbDataFormModelItem::DataItemType itemType =
 			static_cast<HbDataFormModelItem::DataItemType>(
 			index.data(HbDataFormModelItem::ItemTypeRole).toInt());
 
-	if(itemType >= HbDataFormModelItem::CustomItemBase && 
+	if(itemType >= HbDataFormModelItem::CustomItemBase &&
 			itemType <= (HbDataFormModelItem::CustomItemBase + 50)) {
 		return true;
 	} else {
@@ -97,21 +99,21 @@
 	HbDataFormModelItem::DataItemType itemType =
 			static_cast<HbDataFormModelItem::DataItemType>(
 			modelIndex().data(HbDataFormModelItem::ItemTypeRole).toInt());
-	
+
 	HbDataFormModel* model =
 			static_cast<HbDataFormModel*>(
 			static_cast<HbAbstractViewItem*>(this)->itemView()->model());
-	HbDataFormModelItem* modlItem = model->itemFromIndex(modelIndex()); 
-	
+	HbDataFormModelItem* modlItem = model->itemFromIndex(modelIndex());
+
 	switch (itemType) {
 		case (TimeItemOffset + HbDataFormModelItem::CustomItemBase):
 		mTimeWidget->setProperty("text", modlItem->contentWidgetData("text"));
 		break;
-		
+
 		case (DateItemOffset + HbDataFormModelItem::CustomItemBase):
 		mDateWidget->setProperty("text", modlItem->contentWidgetData("text"));
 		break;
-		
+
 		case (PlaceItemOffset + HbDataFormModelItem::CustomItemBase):
 		mPlaceWidget->setProperty("text", modlItem->contentWidgetData("text"));
 		break;
@@ -176,7 +178,7 @@
 					this, SLOT(launchRegSettingsView()));
 			return regSettingsItem;
 		}
-		
+
 		case (50 + HbDataFormModelItem::CustomItemBase):
 		{
 			HbListWidget *workdaysItem = new HbListWidget();
@@ -186,7 +188,7 @@
 			for (int index = 0; index < mWeekdaysList.count(); ++index) {
 				workdaysItem->addItem(mWeekdaysList.at(index));
 			}
-			
+
 			QString workdaysString = workdaysSetting();
 			for (int i = 0, index = workdaysString.size() - 1;
 					index >= 0; ++i, index--) {
@@ -202,7 +204,7 @@
 							QItemSelectionModel::Select);
 				}
 			}
-			
+
 			return workdaysItem;
 		}
 
@@ -224,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 =
@@ -242,50 +245,53 @@
 	mTimePickerDialog->setContentWidget(timePicker);
 	timePicker->setTime(QTime::currentTime());
 
-	HbAction *okAction =
-		new HbAction(QString(hbTrId("txt_common_button_ok")), mTimePickerDialog);
-	mTimePickerDialog->setPrimaryAction(okAction);
-	connect(
-			okAction, SIGNAL(triggered()),
-			this, SLOT(handleTimeOkAction()));
+	mOkAction = new HbAction(
+			QString(hbTrId("txt_common_button_ok")), mTimePickerDialog);
+	mCancelAction = new HbAction(
+			QString(hbTrId("txt_common_button_cancel")), mTimePickerDialog);
 
-	HbAction *cancelAction =
-		new HbAction(QString(hbTrId("txt_common_button_cancel")),
-		    mTimePickerDialog);
-	mTimePickerDialog->setSecondaryAction( cancelAction );
-	connect(
-			cancelAction, SIGNAL(triggered()),
-			this, SLOT(handleTimeCancelAction()));
+	mTimePickerDialog->addAction(mOkAction);
+	mTimePickerDialog->addAction(mCancelAction);
 
-	mTimePickerDialog->exec();
+	mTimePickerDialog->open(this, SLOT(selectedAction(HbAction*)));
 }
 
 /*!
-	Handles the ok action of time picker dialog.
+	Handles the ok action of time/date picker dialog.
  */
-void SettingsCustomItem::handleTimeOkAction()
+void SettingsCustomItem::handleOkAction()
 {
-	// Get the time from the time picker.
-	QTime newTime = static_cast<HbDateTimePicker *> (
-			mTimePickerDialog->contentWidget())->time();
+	if (mTimePickerDialog) {
+		// Get the time from the time picker.
+		QTime newTime = static_cast<HbDateTimePicker *> (
+				mTimePickerDialog->contentWidget())->time();
 
-	QString timeFormatString = mSettingsUtility->timeFormatString();
-	// Update the display text on form item.
-	mTimeWidget->setText(newTime.toString(timeFormatString));
-	mSettingsUtility->setTime(newTime.toString(timeFormatString));
+		QString timeFormatString = mSettingsUtility->timeFormatString();
 
-	// Close the dialog.
-	handleTimeCancelAction();
-}
+		// If time returned by the picker is valid, then only update.
+		if (newTime.isValid()) {
+			// Update the display text on form item.
+			mTimeWidget->setText(newTime.toString(timeFormatString));
+			// Update the system time.
+			mTimezoneClient->setDateTime(
+					QDateTime(QDate::currentDate(), newTime));
+		}
+	} else if(mDatePickerDialog) {
+		// Get the time from the time picker.
+		QDate newDate = static_cast<HbDateTimePicker *> (
+				mDatePickerDialog->contentWidget())->date();
 
-/*!
-	Handles the cancel action of time picker dialog.
- */
-void SettingsCustomItem::handleTimeCancelAction()
-{
-	// Close the dialog.
-	mTimePickerDialog->close();
-	mTimePickerDialog->deleteLater();
+		QString dateFormatString = mSettingsUtility->dateFormatString();
+
+		// If date returned by the picker is valid, then only update.
+		if (newDate.isValid()) {
+			// Update the display text on form item.
+			mDateWidget->setText(newDate.toString(dateFormatString));
+			// Update the system date.
+			mTimezoneClient->setDateTime(
+					QDateTime(newDate, QTime::currentTime()));
+		}
+	}
 }
 
 /*!
@@ -301,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 =
@@ -315,50 +322,16 @@
 	mDatePickerDialog->setContentWidget(datePicker);
 	datePicker->setDate(QDate::currentDate());
 
-	HbAction *okAction =
-		new HbAction(QString(hbTrId("txt_common_button_ok")), mDatePickerDialog);
-	mDatePickerDialog->setPrimaryAction(okAction);
-	connect(
-			okAction, SIGNAL(triggered()),
-			this, SLOT(handleDateOkAction()));
-
-	HbAction *cancelAction =
-		new HbAction(QString(hbTrId("txt_common_button_cancel")),
-		    mDatePickerDialog);
-	mDatePickerDialog->setSecondaryAction( cancelAction );
-	connect(
-			cancelAction, SIGNAL(triggered()),
-			this, SLOT(handleDateCancelAction()));
-
-	mDatePickerDialog->exec();
-}
+	mOkAction = new HbAction(
+			QString(hbTrId("txt_common_button_ok")), mDatePickerDialog);
 
-/*!
-	Handles the ok action of date picker dialog.
- */
-void SettingsCustomItem::handleDateOkAction()
-{
-	// Get the time from the time picker.
-	QDate newDate = static_cast<HbDateTimePicker *> (
-			mDatePickerDialog->contentWidget())->date();
+	mCancelAction = new HbAction(
+			QString(hbTrId("txt_common_button_cancel")),mDatePickerDialog);
 
-	QString dateFormatString = mSettingsUtility->dateFormatString();
-	// Update the display text on form item.
-	mDateWidget->setText(newDate.toString(dateFormatString));
-	mSettingsUtility->setDate(newDate.toString(dateFormatString));
-
-	// Close the dialog.
-	handleDateCancelAction();
-}
+	mDatePickerDialog->addAction(mOkAction);
+	mDatePickerDialog->addAction(mCancelAction);
 
-/*!
-	Handles the ok action of date picker dialog.
- */
-void SettingsCustomItem::handleDateCancelAction()
-{
-	// Close the dialog.
-	mDatePickerDialog->close();
-	mDatePickerDialog->deleteLater();
+	mDatePickerDialog->open(this, SLOT(selectedAction(HbAction*)));
 }
 
 /*!
@@ -382,8 +355,6 @@
 void SettingsCustomItem::updatePlaceItem(LocationInfo info)
 {
 	if (-1 != info.timezoneId) {
-		// Construct the timezone client.
-		mTimezoneClient = new TimezoneClient();
 		mTimezoneClient->setAsCurrentLocationL(info);
 	}
 }
@@ -394,8 +365,21 @@
 void SettingsCustomItem::launchRegSettingsView()
 {
 	ClockRegionalSettingsView *view =
-			new ClockRegionalSettingsView(*mSettingsUtility);
+			new ClockRegionalSettingsView();
+	connect(mTimezoneClient, SIGNAL(timechanged()),
+          view, SLOT(updateWeekStartOn()));
 	view->showView();
+	
+}
+
+/*!
+	Slot to handle the selected action.
+ */
+void SettingsCustomItem::selectedAction(HbAction *action)
+{
+	if (action==mOkAction) {
+		handleOkAction();
+	}
 }
 
 /*!
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockviewmanager/bwins/clockviewmanageru.def	Mon Jun 28 15:22:02 2010 +0530
@@ -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 *)
+
--- a/clock/clockui/clockviewmanager/clockviewmanager.pro	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockviewmanager/clockviewmanager.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -29,7 +29,7 @@
 		./inc \
 		../clockviews/inc \
 		../clockappcontroller/inc \
-		../clockwidget/inc \
+		../clockwidget/clockwidgetimpl/inc \
 		../../inc
 
 symbian: {
@@ -39,7 +39,7 @@
 	
 	LIBS += \
 		-lclockviews \
-		-lclockwidgetproto
+		-lclockwidget
 }
 
 SOURCES += \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockviewmanager/eabi/clockviewmanageru.def	Mon Jun 28 15:22:02 2010 +0530
@@ -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/inc/clockviewmanager.h	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockviewmanager/inc/clockviewmanager.h	Mon Jun 28 15:22:02 2010 +0530
@@ -44,10 +44,12 @@
 	CLOCKVIEWMANAGER_EXPORT void showView(ClockViews view);
 
 private:
-	void loadViews();
 	void loadMainView();
 	void loadWorldClockView();
 
+private slots:
+	void loadOtherViews();
+
 private:
 	ClockAppControllerIf &mAppControllerIf;
 	ClockMainView *mMainView;
--- a/clock/clockui/clockviewmanager/src/clockdocloader.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockviewmanager/src/clockdocloader.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -15,15 +15,13 @@
  *
 */
 
-// System includes.
-#include <QDebug>
-
 // User includes
 #include "clockdocloader.h"
 #include "clockcommon.h"
 #include "clockmainview.h"
-#include "skinnableclock.h"
+#include "clockwidget.h"
 #include "clockworldview.h"
+#include "clockhomecityitem.h"
 
 /*!
 	\class ClockDocLoader
@@ -39,23 +37,23 @@
  */
 QObject *ClockDocLoader::createObject(const QString &type, const QString &name)
 {
-	qDebug() << "clock: ClockDocLoader::createObject -->";
-
 	if (CLOCK_MAIN_VIEW == name) {
 		QObject *object = new ClockMainView();
 		object->setObjectName(name);
 		return object;
 	} else if (CLOCK_WIDGET == name) {
-		QObject *object = new SkinnableClock();
+		QObject *object = new ClockWidget();
 		object->setObjectName(name);
 		return object;
-    } else if (WORLD_CLOCK_VIEW == name) {
+	} else if (CLOCK_WORLD_VIEW == name) {
 		QObject *object = new ClockWorldView();
 		object->setObjectName(name);
 		return object;
-    }
-
-	qDebug() << "clock: ClockDocLoader::createObject <--";
+	} else if (CLOCK_WORLD_HOMECITY == name) {
+		QObject *object = new ClockHomeCityItem();
+		object->setObjectName(name);
+		return object;
+	}
 
 	return HbDocumentLoader::createObject(type, name);
 }
--- a/clock/clockui/clockviewmanager/src/clockviewmanager.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockviewmanager/src/clockviewmanager.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -17,9 +17,10 @@
 */
 
 // System includes
-#include <QDebug>
 #include <HbMainWindow>
 #include <HbInstance>
+#include <hbapplication> // hbapplication
+#include <hbactivitymanager> // hbactivitymanager
 
 // User includes
 #include "clockviewmanager.h"
@@ -44,14 +45,47 @@
 ClockViewManager::ClockViewManager(
 		ClockAppControllerIf &controllerIf, QObject *parent)
 :QObject(parent),
- mAppControllerIf(controllerIf)
+ mAppControllerIf(controllerIf),
+ mWorldClockView(0)
 {
-	qDebug("clock: ClockViewManager::ClockViewManager() -->");
+    // 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()));
 
-	// Load the document and the views.
-	loadViews();
+        }
+        else if (WorldClock == activityId) {
+            //no implentation yet, UI specs are not clear
+        }
 
-	qDebug("clock: ClockViewManager::ClockViewManager() <--");
+    }
+    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()));
+    }
+
 }
 
 /*!
@@ -73,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);
@@ -90,30 +133,10 @@
 }
 
 /*!
-	Loads the views from the docml file.
- */
-void ClockViewManager::loadViews()
-{
-	qDebug() << "clock: ClockViewManager::loadViews -->";
-
-	// Load the main view.
-	loadMainView();
-	// Load the world clock view.
-	loadWorldClockView();
-
-	// Set the main view to the window
-	hbInstance->allMainWindows().first()->addView(mMainView);
-
-	qDebug() << "clock: ClockViewManager::loadViews <--";
-}
-
-/*!
 	Loads the clock main view.
  */
 void ClockViewManager::loadMainView()
 {
-	qDebug() << "clock: ClockViewManager::loadMainView -->";
-
 	bool loadSuccess;
 
 	// Construct the document loader instance
@@ -121,10 +144,6 @@
 
 	// Load the application xml.
 	docLoader->load(CLOCK_MAIN_VIEW_DOCML, &loadSuccess);
-	Q_ASSERT_X(
-			loadSuccess,
-			"viewmanager.cpp",
-			"Unable to load the main view app xml");
 
 	// Find the main view.
 	mMainView = static_cast<ClockMainView *> (
@@ -133,7 +152,8 @@
 	// Setup the view.
 	mMainView->setupView(mAppControllerIf, docLoader);
 
-	qDebug() << "clock: ClockViewManager::loadMainView <--";
+	// Set the main view to the window
+	hbInstance->allMainWindows().first()->addView(mMainView);
 }
 
 /*!
@@ -147,20 +167,30 @@
 	bool loadSuccess;
 
 	// Construct the world list view from doc loader.
-	docLoader->load(":/xml/worldclockview.docml", &loadSuccess);
+	docLoader->load(CLOCK_WORLD_VIEW_DOCML, &loadSuccess);
 
 	// Get the world list view.
-	mWorldClockView =
-			static_cast<ClockWorldView *> (docLoader->findWidget("worldClockView"));
+	mWorldClockView = static_cast<ClockWorldView *> (
+			docLoader->findWidget(CLOCK_WORLD_VIEW));
 
 	mWorldClockView->setupView(mAppControllerIf, docLoader);
+}
 
-/*	// Get the world list widget.
-	WorldListWidget *listWidget =
-			qobject_cast<WorldListWidget *> (docLoader->findWidget("worldListWidget"));
-	Q_ASSERT_X(listWidget,
-	           "viewmanager.cpp", "Unable to load the world list widget");
-	listWidget->setupWidget(mWorldListView, docLoader);*/
+/*!
+	Load other views
+ */
+void ClockViewManager::loadOtherViews()
+{
+	mMainView->setupAfterViewReady();
+	
+	// Load world clock view
+	loadWorldClockView();
+
+	// Disconnect the signal viewReady as all the views are loaded.
+	HbMainWindow *window = hbInstance->allMainWindows().first();
+	disconnect(
+			window, SIGNAL(viewReady()),
+			this, SLOT(loadOtherViews()));
 }
 
 // End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockviews/bwins/clockviewsu.def	Mon Jun 28 15:22:02 2010 +0530
@@ -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/clockviews.pro	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockviews/clockviews.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -30,7 +30,7 @@
 		../../clockmw/clocksettingsutility/inc \
 		../clocksettingsview/inc \
 		../clockalarmeditor/inc \
-		../clockwidget/inc \
+		../clockwidget/clockwidgetimpl/inc \
 		../clockcityselectionlist/inc \
 		../inc
 
@@ -51,7 +51,8 @@
 		-lclocksettingsutility \
 		-lclocksettingsview \
 		-lclockcityselectionlist \
-		-lclockwidgetproto
+		-lclockwidget \
+                -lclockwidgetplugin
 }
 
 SOURCES += \
@@ -59,14 +60,14 @@
 		clockalarmlistmodel.cpp	\	
 		clockalarmlistitemprototype.cpp \		
 		clockworldview.cpp \
-		listitemprototype.cpp
+		clockhomecityitem.cpp
 
 HEADERS += \
 		clockmainview.h \
 		clockalarmlistmodel.h \
 		clockalarmlistitemprototype.h \	
 		clockworldview.h \
-		listitemprototype.h
+		clockhomecityitem.h
 
 RESOURCES += \
 		clockviews.qrc
--- a/clock/clockui/clockviews/data/clockviews.qrc	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockviews/data/clockviews.qrc	Mon Jun 28 15:22:02 2010 +0530
@@ -2,11 +2,16 @@
 	<qresource prefix="/style">
 		<file alias="clockalarmlistitemprototype.css">style/clockalarmlistitemprototype.css</file>
 		<file alias="clockalarmlistitemprototype.widgetml">style/clockalarmlistitemprototype.widgetml</file>
-		<file alias="listitemprototype.css" >style/listitemprototype.css</file>
-		<file alias="listitemprototype.widgetml" >style/listitemprototype.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>
-		<file alias="worldclockview.docml" >xml/worldclockview.docml</file>
+		<file alias="clockworldview.docml">xml/clockworldview.docml</file>
 	</qresource>
 </RCC>
\ No newline at end of file
--- a/clock/clockui/clockviews/data/style/clockalarmlistitemprototype.css	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockviews/data/style/clockalarmlistitemprototype.css	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockviews/data/style/clockhomecityitem.css	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,47 @@
+ClockHomeCityItem{
+    layout: homecity-portrait;
+}
+ClockHomeCityItem:landscape{
+    layout: homecity-landscape;
+}
+ClockHomeCityItem::dayNightIcon{
+    top: -var(hb-param-margin-gene-top);
+    left: -var(hb-param-margin-gene-left);
+    right: var(hb-param-margin-gene-middle-horizontal);
+    bottom: var(hb-param-margin-gene-bottom);
+
+    fixed-height: var(hb-param-graphic-size-primary-large);
+    fixed-width: var(hb-param-graphic-size-primary-large);
+}
+
+ClockHomeCityItem::dateText{
+    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;
+}
+
+ClockHomeCityItem::cityText{
+    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;
+}
+
+ClockHomeCityItem::dstIcon{
+    top: -var(hb-param-margin-gene-top);
+    right: var(hb-param-margin-gene-right);
+
+    fixed-height: var(hb-param-graphic-size-secondary);
+    fixed-width: var(hb-param-graphic-size-secondary);
+}
+
+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.widgetml	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,41 @@
+<hbwidget version="0.1" type="ClockHomeCityItem">
+    <layout name="homecity-portrait" type="mesh">
+        <meshitem src="dayNightIcon" srcEdge="TOP" dst="" dstEdge="TOP" />
+        <meshitem src="dayNightIcon" srcEdge="LEFT" dst="" dstEdge="LEFT" />
+        <meshitem src="dayNightIcon" srcEdge="RIGHT" dst="dateText" dstEdge="LEFT" />
+
+        <meshitem src="dateText" srcEdge="TOP" dst="" dstEdge="TOP" />
+        <meshitem src="dateText" srcEdge="RIGHT" dst="dstIcon" dstEdge="LEFT" />
+
+        <meshitem src="cityText" srcEdge="LEFT" dst="dateText" dstEdge="LEFT" />
+        <meshitem src="cityText" srcEdge="BOTTOM" dst="dayNightIcon" dstEdge="BOTTOM" />
+        <meshitem src="cityText" srcEdge="RIGHT" dst="timeText" dstEdge="LEFT" />
+
+        <meshitem src="dstIcon" srcEdge="CENTERV" dst="dateText" dstEdge="CENTERV" />
+        <meshitem src="dstIcon" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+
+        <meshitem src="timeText" srcEdge="TOP" dst="cityText" dstEdge="TOP" />
+        <meshitem src="timeText" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+    </layout>
+
+    <layout name="homecity-landscape" type="mesh">
+        <meshitem src="dayNightIcon" srcEdge="TOP" dst="" dstEdge="TOP" />
+        <meshitem src="dayNightIcon" srcEdge="LEFT" dst="" dstEdge="LEFT" />
+        <meshitem src="dayNightIcon" srcEdge="RIGHT" dst="dateText" dstEdge="LEFT" />
+
+        <meshitem src="dateText" srcEdge="TOP" dst="" dstEdge="TOP" />
+        <meshitem src="dateText" srcEdge="RIGHT" dst="timeText" dstEdge="LEFT" />
+
+        <meshitem src="cityText" srcEdge="LEFT" dst="dateText" dstEdge="LEFT" />
+        <meshitem src="cityText" srcEdge="BOTTOM" dst="dayNightIcon" dstEdge="BOTTOM" />
+        <meshitem src="cityText" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+
+        <meshitem src="dstIcon" srcEdge="CENTERV" dst="timeText" dstEdge="CENTERV" />
+        <meshitem src="dstIcon" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+
+        <meshitem src="timeText" srcEdge="CENTERV" dst="dateText" dstEdge="CENTERV" />
+        <meshitem src="timeText" srcEdge="TOP" dst="dateText" dstEdge="TOP" />
+        <meshitem src="timeText" srcEdge="RIGHT" dst="dstIcon" dstEdge="LEFT" />
+    </layout>
+
+</hbwidget>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockviews/data/style/clockhomecityitem_color.css	Mon Jun 28 15:22:02 2010 +0530
@@ -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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockviews/data/style/hblistviewitem.css	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,69 @@
+
+HbListViewItem:portrait{
+    layout: citylist-portrait;
+}
+
+HbListViewItem:landscape{
+    layout: citylist-landscape;
+}
+
+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);
+    bottom: var(hb-param-margin-gene-bottom);
+
+    fixed-height: var(hb-param-graphic-size-primary-large);
+    fixed-width: var(hb-param-graphic-size-primary-large);
+}
+
+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[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[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[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[layoutName="citylist-portrait"]::icon-2{
+    top: -var(hb-param-margin-gene-top);
+    right: var(hb-param-margin-gene-right);
+
+    fixed-height: var(hb-param-graphic-size-secondary);
+    fixed-width: var(hb-param-graphic-size-secondary);
+}
+
+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.widgetml	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,52 @@
+<hbwidget version="0.1" type="HbListViewItem">
+
+    <layout name="citylist-portrait" type="mesh">
+
+	    <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-1" dstEdge="LEFT" />
+
+        <meshitem src="text-1" srcEdge="TOP" dst="" dstEdge="TOP" />
+        <meshitem src="text-1" srcEdge="RIGHT" dst="icon-2" dstEdge="LEFT" />
+
+        <meshitem src="text-2" srcEdge="LEFT" dst="text-1" dstEdge="LEFT" />
+        <meshitem src="text-2" srcEdge="BOTTOM" dst="icon-1" dstEdge="BOTTOM" />
+        <meshitem src="text-2" srcEdge="RIGHT" dst="text-4" dstEdge="LEFT" />
+
+        <meshitem src="text-3" srcEdge="LEFT" dst="text-2" dstEdge="LEFT" />
+        <meshitem src="text-3" srcEdge="TOP" dst="text-2" dstEdge="BOTTOM" />
+
+        <meshitem src="icon-2" srcEdge="CENTERV" dst="text-1" dstEdge="CENTERV" />
+        <meshitem src="icon-2" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+
+        <meshitem src="text-4" srcEdge="TOP" dst="text-2" dstEdge="TOP" />
+        <meshitem src="text-4" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+       
+
+    </layout>
+
+    <layout name="citylist-landscape" type="mesh">
+
+        <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-1" dstEdge="LEFT" />
+
+        <meshitem src="text-1" srcEdge="TOP" dst="" dstEdge="TOP" />
+        <meshitem src="text-1" srcEdge="RIGHT" dst="text-4" dstEdge="LEFT" />
+
+        <meshitem src="text-2" srcEdge="LEFT" dst="text-1" dstEdge="LEFT" />
+        <meshitem src="text-2" srcEdge="BOTTOM" dst="icon-1" dstEdge="BOTTOM" />
+        <meshitem src="text-2" srcEdge="RIGHT" dst="text-3" dstEdge="LEFT" />
+
+        <meshitem src="text-3" srcEdge="BOTTOM" dst="text-2" dstEdge="BOTTOM" />
+        <meshitem src="text-3" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+
+        <meshitem src="icon-2" srcEdge="CENTERV" dst="text-4" dstEdge="CENTERV" />
+        <meshitem src="icon-2" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+
+        <meshitem src="text-4" srcEdge="CENTERV" dst="text-1" dstEdge="CENTERV" />
+        <meshitem src="text-4" srcEdge="RIGHT" dst="icon-2" dstEdge="LEFT" />
+
+    </layout>
+
+</hbwidget>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockviews/data/style/hblistviewitem_color.css	Mon Jun 28 15:22:02 2010 +0530
@@ -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/style/listitemprototype.css	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-ListItemPrototype[layoutName="custom"]{
-	layout: custom;
-}
-
-ListItemPrototype::dayNightIcon[layoutName="custom"]{
-	top: -var(hb-param-margin-gene-top);
-	left: -var(hb-param-margin-gene-left);
-	
-	fixed-height: var(hb-param-graphic-size-secondary);
-	fixed-width: var(hb-param-graphic-size-secondary);
-}
-
-ListItemPrototype::dateText[layoutName="custom"]{
-	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);
-
-	text-height: var(hb-param-text-height-tiny);
-	min-width: 29.7un;
-}
-
-ListItemPrototype::cityText[layoutName="custom"]{
-	top: -var(hb-param-margin-gene-middle-vertical);
-	right: var(hb-param-margin-gene-right);
-	
-	text-height: var(hb-param-text-height-primary);
-	font-variant: primary;
-	fixed-width: 29.7un;
-}
-
-ListItemPrototype::offsetText[layoutName="custom"]{
-	top: -var(hb-param-margin-gene-middle-vertical);
-	right: 11.5un;
-	bottom: var(hb-param-margin-gene-bottom);
-	
-	text-height: var(hb-param-text-height-tiny);
-	min-width: 29.7un;
-}
-
-ListItemPrototype::dstIcon[layoutName="custom"]{
-	top: -var(hb-param-margin-gene-top);
-	right: 6.4un;
-	
-	fixed-height: var(hb-param-graphic-size-secondary);
-	fixed-width: var(hb-param-graphic-size-secondary);
-}
-
-ListItemPrototype::timText[layoutName="custom"]{
-	top: -var(hb-param-margin-gene-middle-vertical);
-	right: var(hb-param-margin-gene-right);
-	
-	text-height: var(hb-param-text-height-tiny);
-}
\ No newline at end of file
--- a/clock/clockui/clockviews/data/style/listitemprototype.widgetml	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-<hbwidget version="0.1" type="ListItemPrototype">
-	<layout name="custom" type="mesh">
-		<meshitem src="dayNightIcon" srcEdge="TOP" dst="" dstEdge="TOP" />
-		<meshitem src="dayNightIcon" srcEdge="LEFT" dst="" dstEdge="LEFT" />
-		
-		<meshitem src="dateText" srcEdge="TOP" dst="" dstEdge="TOP" />
-		<meshitem src="dateText" srcEdge="LEFT" dst="dayNightIcon" dstEdge="RIGHT" />
-		<meshitem src="dateText" srcEdge="RIGHT" dst="dstIcon" dstEdge="LEFT" />
-		
-		<meshitem src="cityText" srcEdge="LEFT" dst="dateText" dstEdge="LEFT" />
-		<meshitem src="cityText" srcEdge="TOP" dst="dateText" dstEdge="BOTTOM" />
-		<meshitem src="cityText" srcEdge="RIGHT" dst="timeText" dstEdge="LEFT" />
-		
-		<meshitem src="offsetText" srcEdge="LEFT" dst="dateText" dstEdge="LEFT" />
-		<meshitem src="offsetText" srcEdge="TOP" dst="cityText" dstEdge="BOTTOM" />
-		<meshitem src="offsetText" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
-		<meshitem src="offsetText" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" />
-		
-		<meshitem src="dstIcon" srcEdge="TOP" dst="" dstEdge="TOP" />
-		<meshitem src="dstIcon" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
-		
-		<meshitem src="timeText" srcEdge="TOP" dst="dstIcon" dstEdge="BOTTOM" />
-		<meshitem src="timeText" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
-	</layout>
-</hbwidget>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockviews/data/xml/clockmainview.docml	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+    <object name="alarmsAction" type="HbAction">
+        <icon iconName="qtg_mono_alarm" name="icon"/>
+    </object>
+    <object name="worldClockAction" type="HbAction">
+        <icon iconName="qtg_mono_world_clock" name="icon"/>
+    </object>
+    <object name="newAlarmAction" type="HbAction">
+        <icon iconName="qtg_mono_alarm_new" name="icon"/>
+    </object>
+    <object name="settingsAction" type="HbAction">
+        <string locid="txt_clk_main_view_opt_settings" name="text" value="Settings"/>
+    </object>
+    <widget name="clockMainView" type="HbView">
+        <widget name="clockMainViewWidget" role="HbView:widget" type="HbWidget">
+            <widget name="clockWidget" plugin="clockwidgetplugin" type="ClockWidget">
+                <real name="z" value="10"/>
+                <sizehint height="22.55un" type="PREFERRED" width="22.55un"/>
+            </widget>
+            <widget name="noAlarmLabel" type="HbLabel">
+                <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="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="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">
+            <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="HbWidget:addAction"/>
+        </widget>
+        <string locid="txt_common_common_clock" name="title" value="Clock"/>
+    </widget>
+    <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="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="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="placeLabel" type="HbLabel">
+            <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">
+            <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="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="alarmListView" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+                <anchoritem dst="alarmListView" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="alarmListView" dstEdge="BOTTOM" spacing="0un" src="" 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="placeLabel" type="HbLabel">
+            <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="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="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"/>
+        <dummydata objectName="alarmListView" section="#common" value="0"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockviews/data/xml/clockworldview.docml	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="alarmsAction" type="HbAction">
+        <icon iconName="qtg_mono_alarm" name="icon"/>
+    </object>
+    <object name="worldClockAction" type="HbAction">
+        <icon iconName="qtg_mono_world_clock" name="icon"/>
+    </object>
+    <object name="addCityAction" type="HbAction">
+        <icon iconName="qtg_mono_addcity" name="icon"/>
+    </object>
+    <widget name="worldClockView" type="HbView">
+        <widget name="worldClockViewWidget" role="HbView:widget" type="HbWidget">
+            <widget name="subtitleGroupBox" type="HbGroupBox">
+                <real name="z" value="1"/>
+                <bool name="collapsable" value="FALSE"/>
+                <string locid="txt_clock_subhead_world_clock" name="heading" value="World clock"/>
+            </widget>
+            <widget name="worldClockCityListView" type="HbListView">
+                <widget name="listItemPrototype" role="HbListView:prototype" type="HbListViewItem">
+                    <string name="state" value="normal"/>
+                </widget>
+                <real name="z" value="2"/>
+                <sizehint height="47.7612un" type="PREFERRED" width="35.8209un"/>
+            </widget>
+            <widget name="homeCityWidget" type="HbWidget">
+                <real name="z" value="3"/>
+                <sizehint height="47.7612un" type="PREFERRED" width="35.8209un"/>
+            </widget>
+            <layout type="anchor">
+                <anchoritem dst="worldClockCityListView" dstEdge="LEFT" spacing="4.47761un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="worldClockCityListView" dstEdge="BOTTOM" spacing="-11.35075un" src="" srcEdge="BOTTOM"/>
+                <anchoritem dst="homeCityWidget" dstEdge="RIGHT" spacing="0.74627un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="homeCityWidget" dstEdge="BOTTOM" spacing="-5.67911un" src="" srcEdge="BOTTOM"/>
+                <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"/>
+            </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="addCityAction" role="HbToolBar:addAction"/>
+        </widget>
+        <widget name="viewMenu" role="HbView:menu" type="HbMenu"/>
+        <string locid="txt_common_common_clock" name="title" value="Clock"/>
+    </widget>
+    <section name="portrait-homecity">
+        <widget name="worldClockViewWidget" role="HbView:widget" type="HbWidget">
+            <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="worldClockCityListView" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="worldClockCityListView" dstEdge="TOP" spacing="0un" src="homeCityWidget" srcEdge="BOTTOM"/>
+                <anchoritem dst="worldClockCityListView" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="worldClockCityListView" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+                <anchoritem dst="homeCityWidget" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="homeCityWidget" dstEdge="TOP" spacing="0un" src="subtitleGroupBox" srcEdge="BOTTOM"/>
+                <anchoritem dst="homeCityWidget" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="homeCityWidget" dstEdge="BOTTOM" spacing="expr(var(hb-param-margin-gene-top) + var(hb-param-text-height-tiny) + var(hb-param-margin-gene-middle-vertical) +  var(hb-param-text-height-primary) + var(hb-param-margin-gene-bottom))" src="homeCityWidget" srcEdge="TOP"/>
+            </layout>
+        </widget>
+    </section>
+    <section name="portrait-nohomecity">
+        <widget name="worldClockViewWidget" role="HbView:widget" type="HbWidget">
+            <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="homeCityWidget" dstEdge="RIGHT" spacing="0.74627un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="homeCityWidget" dstEdge="BOTTOM" spacing="-5.67911un" src="" srcEdge="BOTTOM"/>
+                <anchoritem dst="worldClockCityListView" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="worldClockCityListView" dstEdge="TOP" spacing="0un" src="subtitleGroupBox" srcEdge="BOTTOM"/>
+                <anchoritem dst="worldClockCityListView" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="worldClockCityListView" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+            </layout>
+        </widget>
+    </section>
+    <section name="landscape-nohomecity">
+        <widget name="worldClockViewWidget" role="HbView:widget" type="HbWidget">
+            <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="homeCityWidget" dstEdge="RIGHT" spacing="0.74627un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="homeCityWidget" dstEdge="BOTTOM" spacing="-5.67911un" src="" srcEdge="BOTTOM"/>
+                <anchoritem dst="worldClockCityListView" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="worldClockCityListView" dstEdge="TOP" spacing="0un" src="subtitleGroupBox" srcEdge="BOTTOM"/>
+                <anchoritem dst="worldClockCityListView" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="worldClockCityListView" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+            </layout>
+        </widget>
+    </section>
+    <section name="landscape-homecity">
+        <widget name="worldClockViewWidget" role="HbView:widget" type="HbWidget">
+            <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="worldClockCityListView" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="worldClockCityListView" dstEdge="TOP" spacing="0un" src="homeCityWidget" srcEdge="BOTTOM"/>
+                <anchoritem dst="worldClockCityListView" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="worldClockCityListView" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+                <anchoritem dst="homeCityWidget" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="homeCityWidget" dstEdge="TOP" spacing="0un" src="subtitleGroupBox" srcEdge="BOTTOM"/>
+                <anchoritem dst="homeCityWidget" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="homeCityWidget" dstEdge="BOTTOM" spacing="12un" src="homeCityWidget" srcEdge="TOP"/>
+            </layout>
+        </widget>
+    </section>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+        <uistate name="portrait" sections="#common portrait-nohomecity"/>
+        <uistate name="landscape" sections="#common landscape-nohomecity"/>
+        <uistate name="portrait-homecity" sections="#common portrait-homecity"/>
+        <uistate name="landscape-homecity" sections="#common landscape-homecity"/>
+        <dummydata objectName="worldClockCityListView" section="#common" value="app_list_template5"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockviews/eabi/clockviewsu.def	Mon Jun 28 15:22:02 2010 +0530
@@ -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/clockalarmlistitemprototype.h	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockviews/inc/clockalarmlistitemprototype.h	Mon Jun 28 15:22:02 2010 +0530
@@ -21,7 +21,8 @@
 
 // System includes
 #include <QGraphicsWidget>
-#include <HbListViewItem.h>
+#include <QPointer>
+#include <hblistviewitem.h>
 
 // Forward declarations
 class QGraphicsItem;
@@ -48,7 +49,7 @@
 private:
 	QGraphicsItem *mParent;
 
-	HbPushButton *malarmIconItem;
+	QPointer<HbPushButton> malarmIconItem;
 };
 
 #endif // CLOCKALARMLISTITEMPROTOTYPE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockviews/inc/clockhomecityitem.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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: Header file for ClockHomeCityItem Itemclass
+ *
+ */
+
+#ifndef CLOCKHOMECITYITEM_H
+#define CLOCKHOMECITYITEM_H
+
+// System includes
+#include <QPointer>
+#include <HbWidget>
+
+// User include.
+#include "clockviewsdefines.h"
+
+// Forward declaration
+class QGraphicsItem;
+class HbTextItem;
+class HbIconItem;
+
+class ClockHomeCityItem : public HbWidget
+{
+	Q_OBJECT
+
+public:
+	enum {
+		DayNightIndicator,
+		Date,
+		City,
+		Dst,
+		Time
+	};
+
+public:
+	CLOCKVIEWS_EXPORT ClockHomeCityItem(QGraphicsItem *parent = 0);
+	CLOCKVIEWS_EXPORT ~ClockHomeCityItem();
+
+public:
+	void setHomeCityItemData(const QVariantMap & itemData);
+
+private:
+	QPointer<HbTextItem> mDateText;
+	QPointer<HbTextItem> mCityText;
+	QPointer<HbTextItem> mTimeText;
+	QPointer<HbIconItem> mDayNightIcon;
+	QPointer<HbIconItem> mDstIcon;
+
+};
+
+#endif // CLOCKHOMECITYITEM_H
+
+// End of file	--Don't remove this.
--- a/clock/clockui/clockviews/inc/clockmainview.h	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockviews/inc/clockmainview.h	Mon Jun 28 15:22:02 2010 +0530
@@ -38,8 +38,8 @@
 class AlarmClient;
 class TimezoneClient;
 class SettingsUtility;
-class SkinnableClock;
 class ClockAlarmListModel;
+class ClockWidget;
 
 class ClockMainView : public HbView
 {
@@ -52,11 +52,11 @@
 public:
 	CLOCKVIEWS_EXPORT void setupView(
 			ClockAppControllerIf &controllerIf, ClockDocLoader *docLoader);
-
-public slots:
-	void handleAlarmStatusChanged(int row);
+	CLOCKVIEWS_EXPORT void setupAfterViewReady();
+	CLOCKVIEWS_EXPORT void captureScreenShot(bool captureScreenShot = false);
 
 private slots:
+	void handleAlarmStatusChanged(int row);
 	void refreshMainView();
 	void displayWorldClockView();
 	void addNewAlarm();
@@ -64,15 +64,20 @@
 	void handleActivated(const QModelIndex &index);
 	void handleLongPress(HbAbstractViewItem *item, const QPointF &coords);
 	void deleteAlarm();
-	void updateDateLabel();
-	void updatePlaceLabel();
-	void updateClockWidget();
+	void updateView();
+	void updatePlaceLabel(int autoTimeUpdate = -1);
 	void handleAlarmListDisplay();
 	void checkOrientationAndLoadSection(Qt::Orientation orientation);
+	void selectedMenuAction(HbAction *action);
+	void handleMenuClosed();
+    void saveActivity();
 
 private:
 	void setmodel();
 	void hideAlarmList(bool show);
+	void removeSnoozedAlarm();
+	void updateDateLabel();
+	void updateClockWidget();
 
 private:
 	QTimer *mTickTimer;
@@ -81,10 +86,13 @@
 	HbAction *mDisplayWorldClockView;
 	HbAction *mAddNewAlarm;
 	HbAction *mSettingsAction;
+	HbAction *mDeleteAction;
 
 	HbLabel *mDayLabel;
 	HbLabel *mPlaceLabel;
-	SkinnableClock *mClockWidget;
+	HbLabel *mHorizontalDivider;
+	HbLabel *mVerticalDivider;
+	ClockWidget *mClockWidget;
 	HbLabel *mNoAlarmLabel;
 	HbListView *mAlarmList;
 
@@ -95,8 +103,11 @@
 	ClockAppControllerIf *mAppControllerIf;
 	ClockAlarmListModel *mAlarmListModel;
 
-	int mSelectedItem;
-	bool mHideAlarmList;
+	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	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockviews/inc/clockviewsdefines.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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/inc/clockworldview.h	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockviews/inc/clockworldview.h	Mon Jun 28 15:22:02 2010 +0530
@@ -32,8 +32,6 @@
 class QGraphicsItem;
 class QStandardItemModel;
 class QTimer;
-class HbLabel;
-class HbPushButton;
 class HbListView;
 class HbListWidgetItem;
 class HbAbstractViewItem;
@@ -42,6 +40,8 @@
 class TimezoneClient;
 class SettingsUtility;
 class ClockCitySelectionList;
+class HbGroupBox;
+class ClockHomeCityItem;
 
 class ClockWorldView : public HbView
 {
@@ -57,22 +57,24 @@
 
 private slots:
 	void refreshCityList();
-	void updateClockDisplay();
-	void updateDayDateInfo();
-	void updateCurrentLocationInfo();
+	void updateCurrentLocationInfo(int networkTime);
 	void handleItemLongPressed(HbAbstractViewItem *item, const QPointF &coord);
 	void handleAddLocation();
 	void handleDeleteAction();
 	void handleSetAsCurrentLocationAction();
 	void handleCitySelected(LocationInfo info);
 	void showAlarmsView();
-	void updateOffsetDifferences();
 	void refreshWorldView();
-	void updateToolbarTexts(Qt::Orientation currentOrientation);
+	void loadSection(Qt::Orientation orientation);
+	void updateAllLocationInfo();
+	void selectedMenuAction(HbAction *action);
 
 private:
 	QModelIndex addCityToList(const LocationInfo& locationInfo);
 	bool isDay(QDateTime dateTime);
+	QVariantList getCityListDisplayString(const LocationInfo& locationInfo);
+	QVariantList getCityListDecorationString(const LocationInfo& locationInfo);
+	void updateCityList();
 
 private:
 	QTimer *mRefreshTimer;
@@ -80,14 +82,14 @@
 	QStandardItemModel *mCityListModel;
 
 	QPointer<HbListView> mCityListView;
-	HbLabel *mDayDateLabel;
-	HbLabel *mPlaceLabel;
+	ClockHomeCityItem *mHomeCityWidget;
 	HbAction *mAddCityAction;
 	HbAction *mSetCurrentLocationAction;
 	HbAction *mRemoveCityAction;
 	HbAction *mBackAction;
 	HbAction *mShowAlarmsViewAction;
 	HbAction *mDisplayWorldClockView;
+	HbAction *mAddCityMenuAction;
 
 	ClockDocLoader *mDocLoader;
 	ClockAppControllerIf *mAppControllerIf;
--- a/clock/clockui/clockviews/inc/listitemprototype.h	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +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:
-* Header file for class ListItemPrototype.
-*
-*/
-
-#ifndef LISTITEMPROTOTYPE_H
-#define LISTITEMPROTOTYPE_H
-
-// System includes
-#include <HbListViewItem>
-
-// Forward declarations
-class QGraphicsItem;
-class HbIconItem;
-class HbAbstractViewItem;
-class HbTextItem;
-
-class ListItemPrototype : public HbListViewItem
-{
-	Q_OBJECT
-
-public:
-	explicit ListItemPrototype(QGraphicsItem *parent = 0);
-	virtual ~ListItemPrototype();
-
-public:
-	HbAbstractViewItem* createItem();
-	void updateChildItems();
-
-private:
-	HbIconItem *mDayNightIcon;
-	HbTextItem *mDateText;
-	HbTextItem *mCityText;
-	HbTextItem *mOffsetText;
-	HbIconItem *mDstIcon;
-	HbTextItem *mTimeText;
-};
-
-#endif // LISTITEMPROTOTYPE_H
-
-// End of file	--Don't remove this.
--- a/clock/clockui/clockviews/src/clockalarmlistitemprototype.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockviews/src/clockalarmlistitemprototype.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -17,7 +17,6 @@
 */
 
 // System includes
-#include <QDebug>
 #include <HbPushButton>
 
 // User includes
@@ -37,9 +36,7 @@
 	\parent of type QGraphicsItem.
  */
 ClockAlarmListItemPrototype::ClockAlarmListItemPrototype(QGraphicsItem *parent)
-:HbListViewItem(parent),
- mParent(parent),
- malarmIconItem(0)
+:HbListViewItem(parent)
 {
 	// Nothing yet.
 }
@@ -68,19 +65,11 @@
 			QString alarmIconPath = alarmIconRole.toString();
 			if (!malarmIconItem) {
 				malarmIconItem = new HbPushButton(this);
-				HbStyle::setItemName(malarmIconItem,
-				                     QLatin1String("alarmIconItem"));
+				HbStyle::setItemName(
+						malarmIconItem, QLatin1String("alarmIconItem"));
 				connect(
 						malarmIconItem, SIGNAL(clicked()),
 						this, SLOT(handleAlarmStatusChanged()));
-				if (mParent) {
-					connect(
-							this,
-							SIGNAL(alarmStatusHasChanged(int)),
-							qobject_cast<ClockMainView*>(
-									static_cast<QGraphicsWidget*>(mParent)),
-							SLOT(handleAlarmStatusChanged(int)));
-				}
 			}
 			malarmIconItem->setIcon(alarmIconPath);
 		}
@@ -94,7 +83,7 @@
  */
 ClockAlarmListItemPrototype *ClockAlarmListItemPrototype::createItem()
 {
-	return new ClockAlarmListItemPrototype(mParent);
+	return new ClockAlarmListItemPrototype(*this);
 }
 
 /*!
@@ -103,7 +92,8 @@
 void ClockAlarmListItemPrototype::handleAlarmStatusChanged()
 {
 	int row = modelIndex().row();
-	emit alarmStatusHasChanged(row);
+	emit static_cast<ClockAlarmListItemPrototype*>(
+			prototype())->alarmStatusHasChanged(row);
 }
 
 // End of file	--Don't remove this.
--- a/clock/clockui/clockviews/src/clockalarmlistmodel.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockviews/src/clockalarmlistmodel.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -17,7 +17,6 @@
 */
 
 // System includes
-#include <QDebug>
 #include <QTimer>
 
 #include <QStandardItemModel>
@@ -55,8 +54,6 @@
  mSourceModel(0),
  mAppControllerIf(controllerIf)
 {
-	qDebug() << "clock: ClockAlarmListModel::ClockAlarmListModel -->";
-
 	// Construct the source model.
 	mSourceModel = new QStandardItemModel(0, 1, this);
 	
@@ -74,8 +71,6 @@
 	connect(
 			mTickTimer, SIGNAL(timeout()),
 			this, SLOT(updateRemainingTime()));
-	
-	qDebug() << "clock: ClockAlarmListModel::ClockAlarmListModel <--";
 }
 
 /*!
@@ -83,14 +78,10 @@
  */
 ClockAlarmListModel::~ClockAlarmListModel()
 {
-	qDebug() << "clock: ClockAlarmListModel::~ClockAlarmListModel -->";
-
 	if (mSourceModel) {
 		delete mSourceModel;
 		mSourceModel = 0;
 	}
-
-	qDebug() << "clock: ClockAlarmListModel::~ClockAlarmListModel <--";
 }
 
 /*!
@@ -109,10 +100,6 @@
  */
 QAbstractItemModel *ClockAlarmListModel::sourceModel()
 {
-	qDebug() << "clock: ClockAlarmListModel::sourceModel -->";
-
-	qDebug() << "clock: ClockAlarmListModel::sourceModel <--";
-
 	return mSourceModel;
 }
 
@@ -121,8 +108,6 @@
  */
 void ClockAlarmListModel::populateSourceModel()
 {
-	qDebug() << "clock: ClockAlarmListModel::populateSourceModel -->";
-
 	// Clear the model if it has any data already.
 	mSourceModel->clear();
 	mSourceModel->setColumnCount(1);
@@ -153,7 +138,6 @@
 		// Start the Timer for 1 minute.
 		mTickTimer->start(60000 - 1000 * QTime::currentTime().second());
 	}
-	qDebug() << "clock: ClockAlarmListModel::populateSourceModel <--";
 }
 
 /*!
@@ -163,8 +147,6 @@
  */
 QString ClockAlarmListModel::calculateRemainingTime(AlarmInfo alarmInfo)
 {
-	qDebug() << "clock: ClockAlarmListModel::calculateRemainingTime -->";
-
 	QDateTime currentDateTime = QDateTime::currentDateTime();
 	QDateTime alarmTime = QDateTime(
 			alarmInfo.alarmDateTime, alarmInfo.nextDueTime);
@@ -217,8 +199,6 @@
 		formatTimeNote = hbTrId("txt_clock_main_view_setlabel_in_1days");
 		timeNote = formatTimeNote.arg(QString::number(dayleft));
 	}
-	qDebug() << "clock: ClockAlarmListModel::calculateRemainingTime <--";
-
 	return timeNote;
 }
 
@@ -264,8 +244,6 @@
  */
 void ClockAlarmListModel::updateSourceModel(int alarmId)
 {
-	qDebug() << "clock: ClockAlarmListModel::updateSourceModel -->";
-	
 	Q_UNUSED(alarmId)
 	int alarmInfoCount;
 	int modelCount;
@@ -353,8 +331,6 @@
 			mTickTimer->stop();
 		}
 	}
-
-	qDebug() << "clock: ClockAlarmListModel::updateSourceModel <--";
 }
 
 /*!
@@ -401,8 +377,6 @@
 QStringList ClockAlarmListModel::getDisplayStringListforAlarmItem(
 		AlarmInfo alarmInfo)
 {
-	qDebug() << "clock: ClockAlarmListModel::getDisplayStringforAlarmItem -->";
-	
 	QStringList displayStringList;
 	QString timeString;
 	if (Snoozed == alarmInfo.alarmState) {
@@ -426,7 +400,8 @@
 		QString remainingTime = calculateRemainingTime(alarmInfo);
 		displayStringList.append(remainingTime);
 	} else {
-		displayStringList.append(QString(" "));
+		// TODO: localization
+		displayStringList.append(QString("In-active"));
 	}
 
 	QString alarmDescription = alarmInfo.alarmDesc;
@@ -453,9 +428,6 @@
 		}
 	}
 	displayStringList.append(repeatTypeString);
-	
-	qDebug() << "clock: ClockAlarmListModel::getDisplayStringforAlarmItem <--";
-	
 	return displayStringList;
 }
 
@@ -479,22 +451,21 @@
 		if (Weekly == alarmInfo.repeatType ||
 				Daily == alarmInfo.repeatType ||
 				Workday == alarmInfo.repeatType) {
-			displayiconList.append(HbIcon(":/clock/alarm_repeat"));
+			displayiconList.append(HbIcon("qtg_mono_repeat"));
 		} else {
 			displayiconList.append(QVariant());
 		}
 		item->setData(displayiconList, Qt::DecorationRole);
 		
-		// The status.
-		if (Enabled == alarmInfo.alarmStatus) {
-			item->setData(QString(":/clock/alarm_active"), AlarmIcon);
+
+		// Set the icon for active/in-active/snoozed alarm.
+		if (Disabled == alarmInfo.alarmStatus) {
+			item->setData(QString("qtg_mono_alarm_inactive"), AlarmIcon);
+		} else if (Snoozed == alarmInfo.alarmState) {
+			// Change the alarm icon also to alarm snooze icon
+			item->setData(QString("qtg_mono_alarm_snooze"), AlarmIcon);
 		} else {
-			item->setData(QString(":/clock/alarm_inactive"), AlarmIcon);
-		}
-
-		// If the alarm is snoozed.
-		if (Snoozed == alarmInfo.alarmState) {
-			// TODO : Change the alarm icon also to alarm snooze icon
+			item->setData(QString("qtg_mono_alarm"), AlarmIcon);
 		}
 
 		// The model for the list item will have:
@@ -534,24 +505,23 @@
 		if (Weekly == alarmInfo.repeatType ||
 				Daily == alarmInfo.repeatType ||
 				Workday == alarmInfo.repeatType) {
-			displayiconList.append(HbIcon(":/clock/alarm_repeat"));
+			displayiconList.append(HbIcon("qtg_mono_repeat"));
 		} else {
 			displayiconList.append(QVariant());
 		}
 		mSourceModel->setData(
 				modelIndex, displayiconList, Qt::DecorationRole);
-		// The status.
-		if (Enabled == alarmInfo.alarmStatus) {
-			mSourceModel->setData(
-					modelIndex, QString(":/clock/alarm_active"), AlarmIcon);
+		
+		// Set the icon for active/in-active/snoozed alarm.
+		if (Disabled == alarmInfo.alarmStatus) {
+			mSourceModel->setData(modelIndex, 
+			    QString("qtg_mono_alarm_inactive"), AlarmIcon);
+		} else if (Snoozed == alarmInfo.alarmState) {
+			// Change the alarm icon also to alarm snooze icon
+			mSourceModel->setData(modelIndex, 
+			    QString("qtg_mono_alarm_snooze"), AlarmIcon);
 		} else {
-			mSourceModel->setData(
-					modelIndex, QString(":/clock/alarm_inactive"), AlarmIcon);
-		}
-
-		// If the alarm is snoozed.
-		if (Snoozed == alarmInfo.alarmState) {
-			// TODO : Change the alarm icon also to alarm snooze icon
+			mSourceModel->setData(modelIndex, QString("qtg_mono_alarm"), AlarmIcon);
 		}
 
 		// The model for the list item will have:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockviews/src/clockhomecityitem.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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:
+* Definition file for class ClockHomeCityItem.
+*
+*/
+
+// System Includes.
+#include <QVariantMap>
+#include <HbStyleLoader>
+#include <HbTextItem>
+#include <HbIconItem>
+#include <HbFrameItem>
+#include <HbFrameDrawer>
+
+// User Includes.
+#include "clockhomecityitem.h"
+
+/*!
+	\class ClockHomeCityItem
+
+	This class creates all the primitives for ClockHomeCityItem item.
+ */
+
+/*!
+	Constructor.
+
+	\param parent Pointer to QGraphicsItem.
+ */
+ClockHomeCityItem::ClockHomeCityItem(QGraphicsItem *parent) :
+HbWidget(parent)
+{
+	// 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(this);
+	frame->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
+	frame->frameDrawer().setFrameGraphicsName("qtg_fr_groupbox");
+	setBackgroundItem(frame->graphicsItem(), -2);
+
+}
+
+/*!
+ Destructor.
+ */
+ClockHomeCityItem::~ClockHomeCityItem()
+{
+	HbStyleLoader::unregisterFilePath(":/style/clockhomecityitem.css");
+	HbStyleLoader::unregisterFilePath(":/style/clockhomecityitem.widgetml");
+	HbStyleLoader::unregisterFilePath(":/style/clockhomecityitem_color.css");
+}
+
+/*!
+	Sets the data for HomeCity items.
+	To set textitem data use Qt::DisplayRole
+	To set iconitem data use Qt::DecorationRole
+	\param itemData contains the data for all the primitives.
+ */
+void ClockHomeCityItem::setHomeCityItemData(const QVariantMap &itemData)
+{
+	if (!itemData.isEmpty()) {
+		QMapIterator<QString, QVariant> iter(itemData);
+		while (iter.hasNext()) {
+			iter.next();
+			int value = iter.key().toInt();
+			switch(value) {
+				case Date:
+					if (!mDateText) {
+						mDateText = new HbTextItem(this);
+						HbStyle::setItemName(mDateText, "dateText");
+					}
+					mDateText->setText(iter.value().toString());
+					break;
+				case City:
+					if (!mCityText) {
+						mCityText = new HbTextItem(this);
+						HbStyle::setItemName(mCityText, "cityText");
+						mCityText->setTextWrapping(Hb::TextNoWrap);
+					}
+					mCityText->setText(iter.value().toString());
+					break;
+				case Time:
+					if (!mTimeText) {
+						mTimeText = new HbTextItem(this);
+						HbStyle::setItemName(mTimeText, "timeText");
+						mTimeText->setTextWrapping(Hb::TextNoWrap);
+					}
+					mTimeText->setText(iter.value().toString());
+					break;
+				case DayNightIndicator:
+					if (!mDayNightIcon) {
+						mDayNightIcon = new HbIconItem(this);
+						HbStyle::setItemName(mDayNightIcon, "dayNightIcon");
+					}
+					mDayNightIcon->setIconName(iter.value().toString());
+					break;
+				case Dst:
+					if (!mDstIcon) {
+						mDstIcon = new HbIconItem(this);
+						HbStyle::setItemName(mDstIcon, "dstIcon");
+					}
+					mDstIcon->setIconName(iter.value().toString());
+					break;
+				default:
+					break;
+			}
+		}
+		repolish();
+	}
+}
+
+// End of file	--Don't remove this.
--- a/clock/clockui/clockviews/src/clockmainview.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockviews/src/clockmainview.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -18,7 +18,6 @@
 
 // System includes
 #include <QGraphicsItem>
-#include <QDebug>
 #include <HbInstance>
 #include <HbLabel>
 #include <HbAbstractViewItem>
@@ -27,6 +26,8 @@
 #include <HbListView>
 #include <HbNotificationDialog>
 #include <HbStyleLoader>
+#include <hbapplication> // hbapplication
+#include <hbactivitymanager> // activity manager
 
 // User includes
 #include "clockmainview.h"
@@ -39,8 +40,8 @@
 #include "settingsutility.h"
 #include "timezoneclient.h"
 #include "clockalarmlistitemprototype.h"
-#include "skinnableclock.h"
 #include "clockalarmlistmodel.h"
+#include "clockwidget.h"
 
 /*!
 	\class ClockMainView
@@ -56,11 +57,11 @@
 ClockMainView::ClockMainView(QGraphicsItem *parent)
 :HbView(parent),
  mAlarmList(0),
- mSelectedItem(-1)
+ mSelectedItem(-1),
+ mIsLongTop(false),
+ mIsScreenShotCapruted(false)
 {
-	qDebug("clock: ClockMainView::ClockMainView() -->");
-
-	qDebug("clock: ClockMainView::ClockMainView() <--");
+	// Nothing yet.
 }
 
 /*!
@@ -68,8 +69,6 @@
  */
 ClockMainView::~ClockMainView()
 {
-	qDebug("clock: ClockMainView::~ClockMainView() -->");
-
 	if (mDocLoader) {
 		delete mDocLoader;
 		mDocLoader = 0;
@@ -78,8 +77,13 @@
 		delete mAlarmListModel;
 		mAlarmListModel = 0;
 	}
+	HbStyleLoader::unregisterFilePath(
+			":/style/clockalarmlistitemprototype.css");
+	HbStyleLoader::unregisterFilePath(
+			":/style/clockalarmlistitemprototype.widgetml");
+	HbStyleLoader::unregisterFilePath(
+			":/style/clockalarmlistitemprototype_color.css");
 
-	qDebug("clock: ClockMainView::~ClockMainView() <--");
 }
 
 /*!
@@ -92,8 +96,6 @@
 void ClockMainView::setupView(
 		ClockAppControllerIf &controllerIf, ClockDocLoader *docLoader)
 {
-	qDebug("clock: ClockMainView::setupView() -->");
-
 	mDocLoader = docLoader;
 	mAppControllerIf = &controllerIf;
 
@@ -121,21 +123,16 @@
 	}
 	int alarmCount = displayInfoList.count();
 
-
-	connect(
-			mTimezoneClient, SIGNAL(timechanged()),
-			this, SLOT(updatePlaceLabel()));
-	connect(
-			mTimezoneClient, SIGNAL(timechanged()),
-			this, SLOT(updateDateLabel()));
-	connect(
-			mTimezoneClient, SIGNAL(timechanged()),
-			this, SLOT(updateClockWidget()));
-
 	HbMainWindow *window = hbInstance->allMainWindows().first();
 
 	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 *> (
@@ -155,7 +152,11 @@
 			this,
 			SLOT(handleLongPress(HbAbstractViewItem*, const QPointF&)));
 
-	HbStyleLoader::registerFilePath(CLOCK_VIEWS_STYLE_PATH);
+	HbStyleLoader::registerFilePath(":/style/clockalarmlistitemprototype.css");
+	HbStyleLoader::registerFilePath(
+			":/style/clockalarmlistitemprototype.widgetml");
+	HbStyleLoader::registerFilePath(
+			":/style/clockalarmlistitemprototype_color.css");
 	setmodel();
 
 	// Load the correct section based on orientation.
@@ -164,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) {
@@ -179,6 +184,42 @@
 		}
 	}
 
+	mDayLabel = static_cast<HbLabel *> (mDocLoader->findObject("dateLabel"));
+	mPlaceLabel = static_cast<HbLabel *> (mDocLoader->findObject("placeLabel"));
+	mClockWidget = static_cast<ClockWidget*> (
+			mDocLoader->findObject(CLOCK_WIDGET));
+
+	// Update the date info.
+	updateDateLabel();
+	// Update the place info.
+	updatePlaceLabel(mTimezoneClient->timeUpdateOn());
+	// Update clock widget display.
+	updateClockWidget();
+
+	// Connect to orientation change and load appropriate section.
+	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()));
+
+}
+
+/*!
+	To defer the connects and initialization. To be done after the view is drawn.
+	Should be called in the slot of view ready.
+ */
+void ClockMainView::setupAfterViewReady()
+{
 	// Get the toolbar/menu actions.
 	mRefreshMainView = static_cast<HbAction *> (
 			mDocLoader->findObject("alarmsAction"));
@@ -202,48 +243,23 @@
 			mAddNewAlarm, SIGNAL(triggered()),
 			this, SLOT(addNewAlarm()));
 
-	if (Qt::Vertical == currentOrienation) {
-		// Remove toolbar item's texts as only icons are shown.
-		// TODO to use text ids from ts file.
-		mRefreshMainView->setText(tr(""));
-		mDisplayWorldClockView->setText(tr(""));
-		mAddNewAlarm->setText("");
-	} else if (Qt::Horizontal == currentOrienation) {
-		// Display toolbar item's texts
-		// TODO to use text ids from ts file.
-		mRefreshMainView->setText(tr("Alarms"));
-		mDisplayWorldClockView->setText(tr("World clock"));
-		mAddNewAlarm->setText("New alarm");
-	}
-
 	mSettingsAction = static_cast<HbAction *> (
 			mDocLoader->findObject("settingsAction"));
 	connect(
 			mSettingsAction, SIGNAL(triggered()),
 			this, SLOT(openSettings()));
 
-	mDayLabel = static_cast<HbLabel *> (
-			mDocLoader->findObject("dateLabel"));
-
-	mPlaceLabel = static_cast<HbLabel *> (
-			mDocLoader->findObject("placeLabel"));
-
-	mClockWidget = static_cast<SkinnableClock *> (
-			mDocLoader->findObject("clockWidget"));
-
-	// Update the date info.
-	updateDateLabel();
-	// Update the place info.
-	updatePlaceLabel();
-	// Update clock widget display.
-	updateClockWidget();
-
-	// Connect to orientation change and load appropriate section.
+	// Connect the necessary timezone client call backs.
+	connect(
+			mTimezoneClient, SIGNAL(timechanged()),
+			this, SLOT(updateView()));
 	connect(
-			window, SIGNAL(orientationChanged(Qt::Orientation)),
-			this, SLOT(checkOrientationAndLoadSection(Qt::Orientation)));
-
-	qDebug("clock: ClockMainView::setupView() <--");
+			mTimezoneClient, SIGNAL(autoTimeUpdateChanged(int)),
+			this, SLOT(updatePlaceLabel(int)));
+	connect(
+			mTimezoneClient, SIGNAL(cityUpdated()),
+			this, SLOT(updatePlaceLabel()));
+	
 }
 
 /*!
@@ -254,13 +270,15 @@
  */
 void ClockMainView::handleAlarmStatusChanged(int row)
 {
-	qDebug() << "clock: ClockMainView::handleAlarmStatusChanged -->";
+	AlarmInfo alarmInfo;
 
 	// Get the data for the alarm.
 	QList<QVariant> alarmData =
 			mAlarmListModel->sourceModel()->index(row, 0).data(
 					AlarmDetails).toList();
-	int alarmStatus = alarmData.at(2).value<int>();
+	int alarmId = alarmData.at(0).value<int>();
+
+	mAlarmClient->getAlarmInfo(alarmId, alarmInfo);
 
 	mSelectedItem = row;
 
@@ -272,19 +290,27 @@
 		QString displayNote;
 		// Activate or deactivate the alarm depending on the alarm status.
 		// Display the NotificationDialog with appropriate message.
-		if (!alarmStatus) {
+		if (Snoozed == alarmInfo.alarmState && Enabled == alarmInfo.alarmStatus
+				&& Once != alarmInfo.repeatType) {
+			removeSnoozedAlarm();
+			displayNote.append(tr("Snoozed alarm removed"));
+		}else if (Enabled == alarmInfo.alarmStatus) {
 			mAlarmClient->toggleAlarmStatus(alarmId, Disabled);
-			displayNote.append(hbTrId("txt_clock_main_view_dpopinfo_alarm_deactivated"));
-			HbNotificationDialog::launchDialog(displayNote);
+			displayNote.append(
+			    hbTrId("txt_clock_main_view_dpopinfo_alarm_deactivated"));
 		} else {
 			mAlarmClient->toggleAlarmStatus(alarmId, Enabled);
-			displayNote.append(hbTrId("txt_clock_main_view_dpopinfo_alarm_activated"));
-			HbNotificationDialog::launchDialog(displayNote);
+			displayNote.append(
+			    hbTrId("txt_clock_main_view_dpopinfo_alarm_activated"));
 		}
+
+		HbNotificationDialog *dialog = new HbNotificationDialog();
+		dialog->setTitle(displayNote);
+		dialog->setTimeout(HbPopup::ConfirmationNoteTimeout);
+		dialog->show();
+
 		mSelectedItem = -1;
 	}
-
-	qDebug() << "clock: ClockMainView::handleAlarmStatusChanged <--";
 }
 
 /*!
@@ -293,10 +319,8 @@
  */
 void ClockMainView::refreshMainView()
 {
-	qDebug() << "clock: ClockMainView::refreshMainView -->";
 	mRefreshMainView->setChecked(true);
 
-	qDebug() << "clock: ClockMainView::refreshMainView <--";
 }
 
 /*!
@@ -305,11 +329,9 @@
  */
 void ClockMainView::displayWorldClockView()
 {
-	qDebug() << "clock: ClockMainView::displayWorldClockView -->";
+	mAppControllerIf->switchToView(WorldClock);
+	// no need to capture the screenshot here as it's done in ClockViewManager::showView
 
-	mAppControllerIf->switchToView(WorldClock);
-
-	qDebug() << "clock: ClockMainView::displayWorldClockView <--";
 }
 
 /*!
@@ -318,16 +340,11 @@
  */
 void ClockMainView::addNewAlarm()
 {
-	qDebug() << "clock: ClockMainView::addNewAlarm -->";
-
-	ClockAlarmEditor *alarmEditor = new ClockAlarmEditor();
+	ClockAlarmEditor *alarmEditor = new ClockAlarmEditor(*mAlarmClient);
 	alarmEditor->showAlarmEditor();
-
-	connect(
-			alarmEditor, SIGNAL(alarmSet()),
-			this, SLOT(handleAlarmSet()));
-
-	qDebug() << "clock: ClockMainView::addNewAlarm <--";
+	// capture screenshot for future use, if application
+	// is exited/Quit from alarmEditor
+	captureScreenShot(true);
 }
 
 /*!
@@ -336,13 +353,12 @@
  */
 void ClockMainView::openSettings()
 {
-	qDebug() << "clock: ClockMainView::openSettings -->";
-
 	// Create the settings view.
 	ClockSettingsView *settingsView = new ClockSettingsView(this);
 	settingsView->loadSettingsView();
-
-	qDebug() << "clock: ClockMainView::openSettings <--";
+	// capture screenshot for future use, if application
+	// is exited/Quit from alarmEditor
+	captureScreenShot(true);
 }
 
 /*!
@@ -352,23 +368,21 @@
  */
 void ClockMainView::handleActivated(const QModelIndex &index)
 {
-	qDebug() << "clock: ClockMainView::handleActivated -->";
-
-	// Get the data for the alarm.
-	int row = index.row();
-	QList<QVariant> alarmData =
-			mAlarmListModel->sourceModel()->index(row, 0).data(
-					AlarmDetails).toList();
-	int alarmId = alarmData.at(0).value<int>();
+	if(!mIsLongTop) {// Get the data for the alarm.
+		int row = index.row();
+		QList<QVariant> alarmData =
+				mAlarmListModel->sourceModel()->index(row, 0).data(
+						AlarmDetails).toList();
+		int alarmId = alarmData.at(0).value<int>();
 
-	// Construct the alarm editor.
-	ClockAlarmEditor *alarmEditor = new ClockAlarmEditor(alarmId);
-	alarmEditor->showAlarmEditor();
-	connect(
-			alarmEditor, SIGNAL(alarmSet()),
-			this, SLOT(handleAlarmSet()));
-
-	qDebug() << "clock: ClockMainView::handleActivated <--";
+		// Construct the alarm editor.
+		ClockAlarmEditor *alarmEditor = new ClockAlarmEditor(
+				*mAlarmClient, alarmId);
+		alarmEditor->showAlarmEditor();
+		// capture screenshot for future use, if application 
+		// is exited/Quit from alarmEditor
+		captureScreenShot(true);
+	}
 }
 
 /*!
@@ -381,8 +395,7 @@
 void ClockMainView::handleLongPress(
 		HbAbstractViewItem *item, const QPointF &coords)
 {
-	qDebug() << "clock: ClockMainView::handleLongPress -->";
-
+	mIsLongTop = true;
 	AlarmInfo alarmInfo;
 
 	// Save the item row number where the long press was made.
@@ -398,16 +411,19 @@
 
 	// On long press we display item specific context menu.
 	HbMenu *itemContextMenu = new HbMenu();
+	connect(
+			itemContextMenu,SIGNAL(aboutToClose()),
+			this, SLOT(handleMenuClosed()));
 
 	// Add the delete action to the context menu.
-	HbAction *deleteAction = itemContextMenu->addAction(
-	    hbTrId("txt_clk_main_view_menu_delete_alarm"));
-	connect(deleteAction, SIGNAL(triggered()), this, SLOT(deleteAlarm()));
+	mDeleteAction = itemContextMenu->addAction(
+			hbTrId("txt_clk_main_view_menu_delete_alarm"));
 
 	// Show the menu.
-	itemContextMenu->exec(coords);
-
-	qDebug() << "clock: ClockMainView::handleLongPress <--";
+	itemContextMenu->open(this, SLOT(selectedMenuAction(HbAction*)));
+	itemContextMenu->setPreferredPos(coords);
+	itemContextMenu->setAttribute(Qt::WA_DeleteOnClose, true );
+	
 }
 
 /*!
@@ -416,8 +432,6 @@
  */
 void ClockMainView::deleteAlarm()
 {
-	qDebug() << "clock: ClockMainView::deleteAlarm -->";
-
 	if (-1 < mSelectedItem) {
 		// Get the data for the alarm.
 		QList<QVariant> alarmData = mAlarmListModel->sourceModel()->
@@ -426,41 +440,44 @@
 		mAlarmClient->deleteAlarm(alarmId);
 		mSelectedItem = -1;
 	}
-
-	qDebug() << "clock: ClockMainView::deleteAlarm <--";
 }
 
 /*!
-	Updates the day and date in the day label.
+	Deltes the snoozed alarm.
  */
-void ClockMainView::updateDateLabel()
+void ClockMainView::removeSnoozedAlarm()
 {
-	qDebug() << "clock: ClockMainView::updateDateLabel -->";
+	if (-1 < mSelectedItem) {
+		// Get the data for the alarm.
+		QList<QVariant> alarmData = mAlarmListModel->sourceModel()->
+		index(mSelectedItem, 0).data(AlarmDetails).toList();
+		int alarmId = alarmData.at(0).value<int>();
+		mAlarmClient->deleteSnoozedAlarm(alarmId);
+		mSelectedItem = -1;
+	}
+}
 
-	// Get the current datetime.
-	QDateTime dateTime = QDateTime::currentDateTime();
-	// Get the day name.
-	QString dayName = dateTime.toString("dddd");
-	// Get the date in correct format.
-	QString currentDate = mSettingsUtility->date();
-	// Construct the day + date string.
-	QString dayDateString;
-	dayDateString+= dayName;
-	dayDateString += " ";
-	dayDateString += currentDate;
-
-	mDayLabel->setPlainText(dayDateString);
-
-	qDebug() << "clock: ClockMainView::updateDateLabel <--";
+void ClockMainView::updateView()
+{
+	// Update the place label.
+	updatePlaceLabel(mTimezoneClient->timeUpdateOn());
+	// Update date label.
+	updateDateLabel();
+	// Update clock widget.
+	updateClockWidget();
 }
 
 /*!
-	Updates the zone info in the place label.
+	Slot which gets called for value change in auto time update in cenrep.
+
+	\param autoTimeUpdate Value of auto time update.
  */
-void ClockMainView::updatePlaceLabel()
+void ClockMainView::updatePlaceLabel(int autoTimeUpdate)
 {
-	qDebug() << "clock: MainViewWidget::updateClockZoneInfo -->";
-
+	if (-1 == autoTimeUpdate) {
+		autoTimeUpdate = mTimezoneClient->timeUpdateOn();
+	}
+	
 	// Get the current zone info.
 	LocationInfo currentZoneInfo = mTimezoneClient->getCurrentZoneInfoL();
 
@@ -498,13 +515,13 @@
 	} else {
 		gmtOffset += QString::number(offsetInMinutes);
 	}
-	
+
 	// Append space.
 	gmtOffset += tr(" ");
-	
+
 	// Append GMT sting.
 	gmtOffset += hbTrId("txt_common_common_gmt");
-	
+
 	// Append space.
 	gmtOffset += tr(" ");
 
@@ -515,7 +532,7 @@
 
 	// Update the labels with the correct info.
 	mPlaceLabel->clear();
-	if (mTimezoneClient->timeUpdateOn()) {
+	if(autoTimeUpdate) {
 		mPlaceLabel->setPlainText(
 				currentZoneInfo.countryName + tr(" ") + gmtOffset);
 	} else {
@@ -523,20 +540,6 @@
 				currentZoneInfo.cityName + tr(", ")
 				+ currentZoneInfo.countryName + tr(" ") + gmtOffset);
 	}
-
-	qDebug() << "clock: MainViewWidget::updateDayDateInfo <--";
-}
-
-/*!
-	Updates the clock widget display.
- */
-void ClockMainView::updateClockWidget()
-{
-	qDebug() << "clock: ClockMainView::updateClockWidget -->";
-
-	mClockWidget->updateDisplay(true);
-
-	qDebug() << "clock: ClockMainView::updateClockWidget <--";
 }
 
 /*!
@@ -544,8 +547,8 @@
  */
 void ClockMainView::handleAlarmListDisplay()
 {
-	qDebug() << "clock: 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;
@@ -567,48 +570,6 @@
 		}
 	}
 
-	qDebug() << "clock: ClockMainView::handleAlarmListDisplay <--";
-}
-
-/*!
-	Sets the model to the alarm list.
- */
-void ClockMainView::setmodel()
-{
-	qDebug() << "clock: ClockMainView::setmodel -->";
-
-	// Set the model.
-	if (mAlarmList) {
-		mAlarmList->setModel(mAlarmListModel->sourceModel());
-		ClockAlarmListItemPrototype *listItemPrototype =
-				new ClockAlarmListItemPrototype(this);
-		mAlarmList->setItemPrototype(listItemPrototype);
-		mAlarmList->setLayoutName("layout-alarmlist");
-	}
-
-	qDebug() << "clock: ClockMainView::setmodel <--";
-}
-
-/*!
-	Hides the alarmlist in the main view.
-
-	\param hide 'true' if alarm list is to be hidden.
- */
-void ClockMainView::hideAlarmList(bool hide)
-{
-	qDebug() << "clock: ClockMainView::hideAlarmList -->";
-
-	if (hide) {
-		mNoAlarmLabel->show();
-		mAlarmList->hide();
-		mHideAlarmList = true;
-	} else {
-		mAlarmList->show();
-		mNoAlarmLabel->hide();
-		mHideAlarmList = false;
-	}
-
-	qDebug() << "clock: ClockMainView::hideAlarmList <--";
 }
 
 /*!
@@ -619,31 +580,20 @@
 void ClockMainView::checkOrientationAndLoadSection(
 		Qt::Orientation orientation)
 {
-	qDebug() << "clock: ClockMainView::checkOrientationAndLoadSection -->";
-
 	bool success;
 	// If horizontal, load the landscape section.
 	if (Qt::Horizontal == orientation) {
 		mDocLoader->load(
 				CLOCK_MAIN_VIEW_DOCML, CLOCK_MAIN_VIEW_LANDSCAPE_SECTION,
 				&success);
-
-		// Display toolbar item's texts
-		// TODO have to use text ids from ts file.
-		mRefreshMainView->setText(tr("Alarms"));
-		mDisplayWorldClockView->setText(tr("World clock"));
-		mAddNewAlarm->setText("New alarm");
-
+		mHorizontalDivider->setVisible(false);
+		mVerticalDivider->setVisible(true);
 	} else {
 		mDocLoader->load(
 				CLOCK_MAIN_VIEW_DOCML, CLOCK_MAIN_VIEW_PORTRAIT_SECTION,
 				&success);
-
-		// Remove toolbar item's texts as only icons are shown.
-		// TODO have to use text ids from ts file.
-		mRefreshMainView->setText(tr(""));
-		mDisplayWorldClockView->setText(tr(""));
-		mAddNewAlarm->setText("");
+		mHorizontalDivider->setVisible(true);
+		mVerticalDivider->setVisible(false);
 	}
 
 	if(success) {
@@ -656,8 +606,151 @@
 			hideAlarmList(false);
 		}
 	}
+}
 
-	qDebug() << "clock: ClockMainView::checkOrientationAndLoadSection <--";
+/*!
+	Slot to handle context menu actions.
+ */
+void ClockMainView::selectedMenuAction(HbAction *action)
+{
+	if (action == mDeleteAction) {
+		deleteAlarm();
+	}
+}
+
+/*!
+	Slot to handle the context menu closed.
+ */
+void ClockMainView::handleMenuClosed()
+{
+	mIsLongTop = false;
+}
+/*!
+	Sets the model to the alarm list.
+ */
+void ClockMainView::setmodel()
+{
+	// Set the model.
+	if (mAlarmList) {
+		mAlarmList->setModel(mAlarmListModel->sourceModel());
+		ClockAlarmListItemPrototype *listItemPrototype =
+				new ClockAlarmListItemPrototype();
+		connect(
+				listItemPrototype, SIGNAL(alarmStatusHasChanged(int)),
+				this, SLOT(handleAlarmStatusChanged(int)));
+		mAlarmList->setItemPrototype(listItemPrototype);
+		mAlarmList->setLayoutName("layout-alarmlist");
+	}
+
+}
+
+/*!
+	Hides the alarmlist in the main view.
+
+	\param hide 'true' if alarm list is to be hidden.
+ */
+void ClockMainView::hideAlarmList(bool hide)
+{
+	if (hide) {
+		mNoAlarmLabel->show();
+		mAlarmList->hide();
+		mHideAlarmList = true;
+	} else {
+		mAlarmList->show();
+		mNoAlarmLabel->hide();
+		mHideAlarmList = false;
+	}
 }
 
+/*!
+	Updates the day and date in the day label.
+ */
+void ClockMainView::updateDateLabel()
+{
+	// Get the current datetime.
+	QDateTime dateTime = QDateTime::currentDateTime();
+	// Get the day name.
+	QString dayName = dateTime.toString("ddd");
+	// Get the date in correct format.
+	QString currentDate = mSettingsUtility->date();
+	// Construct the day + date string.
+	QString dayDateString;
+	dayDateString+= dayName;
+	dayDateString += " ";
+	dayDateString += currentDate;
+
+	mDayLabel->setPlainText(dayDateString);
+}
+
+/*!
+	Updates the zone info in the place label.
+ */
+/*void ClockMainView::updatePlaceLabel()
+{
+	updatePlaceLabel(mTimezoneClient->timeUpdateOn());
+}*/
+
+/*!
+	Updates the clock widget display.
+ */
+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	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockviews/src/clockworldview.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -20,10 +20,7 @@
 #include <QGraphicsItem>
 #include <QStandardItem>
 #include <QStandardItemModel>
-#include <QDebug>
 #include <HbInstance>
-#include <HbLabel>
-#include <HbPushButton>
 #include <HbAbstractViewItem>
 #include <HbMenu>
 #include <HbAction>
@@ -38,7 +35,7 @@
 #include "settingsutility.h"
 #include "timezoneclient.h"
 #include "clockcityselectionlist.h"
-#include "listitemprototype.h"
+#include "clockhomecityitem.h"
 
 /*!
 	\class ClockWorldView
@@ -55,8 +52,6 @@
 :HbView(parent),
  mSelectedItem(-1)
 {
-	qDebug("clock: ClockWorldView::ClockWorldView() -->");
-
 	// Timer for updating list data upon time change/update.
 	mRefreshTimer = new QTimer();
 	connect(
@@ -65,8 +60,6 @@
 
 	// Create the model.
 	mCityListModel = new QStandardItemModel();
-
-	qDebug("clock: ClockWorldView::ClockWorldView() <--");
 }
 
 /*!
@@ -74,13 +67,17 @@
  */
 ClockWorldView::~ClockWorldView()
 {
-	qDebug("clock: ClockWorldView::~ClockWorldView() -->");
-
 	if (mDocLoader) {
 		delete mDocLoader;
+		mDocLoader = 0;
 	}
-
-	qDebug("clock: ClockWorldView::~ClockWorldView() <--");
+	if(mCityListModel){
+		delete mCityListModel;
+	}
+	
+	HbStyleLoader::unregisterFilePath(":/style/hblistviewitem.css");
+	HbStyleLoader::unregisterFilePath(":/style/hblistviewitem.widgetml");
+	HbStyleLoader::unregisterFilePath(":/style/hblistviewitem_color.css");
 }
 
 /*!
@@ -94,8 +91,6 @@
 		ClockAppControllerIf &controllerIf,
 		ClockDocLoader *docLoader)
 {
-	qDebug("clock: ClockWorldView::setupView() <--");
-
 	mDocLoader = docLoader;
 	mAppControllerIf = &controllerIf;
 
@@ -105,50 +100,43 @@
 	// Establish required connections.
 	connect(
 			mTimezoneClient, SIGNAL(timechanged()),
-			this, SLOT(updateClockDisplay()));
-	connect(
-			mTimezoneClient, SIGNAL(timechanged()),
-			this, SLOT(updateDayDateInfo()));
+			this, SLOT(updateAllLocationInfo()));
 	connect(
-			mTimezoneClient, SIGNAL(timechanged()),
-			this, SLOT(updateCurrentLocationInfo()));
+			mTimezoneClient, SIGNAL(autoTimeUpdateChanged(int)),
+			this, SLOT(updateCurrentLocationInfo(int)));
 	connect(
-			mTimezoneClient, SIGNAL(timechanged()),
-			this, SLOT(updateCurrentZoneInfo()));
+			mTimezoneClient, SIGNAL(cityUpdated()),
+			this, SLOT(updateAllLocationInfo()));
 
 	mDisplayWorldClockView = static_cast<HbAction *> (
-	            mDocLoader->findObject("worldClockAction"));
+			mDocLoader->findObject("worldClockAction"));
 
 	mDisplayWorldClockView->setCheckable(true);
 	mDisplayWorldClockView->setChecked(true);
 
 	connect(
-	        mDisplayWorldClockView, SIGNAL(changed()),
-            this, SLOT(refreshWorldView()));
+			mDisplayWorldClockView, SIGNAL(changed()),
+			this, SLOT(refreshWorldView()));
 
 	// Get the currently added locations to the list.
 	mCityInfoList = mTimezoneClient->getSavedLocations();
 
-	// Create the custom prototype.
-	ListItemPrototype *customPrototype = new ListItemPrototype();
+	// Get the homecity widget.
+	mHomeCityWidget = qobject_cast<ClockHomeCityItem *>(
+			mDocLoader->findWidget(CLOCK_WORLD_HOMECITY));
+	
+	// Get the city list item.
 	mCityListView = qobject_cast<HbListView *> (
-			mDocLoader->findWidget("worldClockCityListView"));
-	HbStyleLoader::registerFilePath(":/style/");
+			mDocLoader->findWidget(CLOCK_WORLD_CITYLIST));
+	HbStyleLoader::registerFilePath(":/style/hblistviewitem.css");
+	HbStyleLoader::registerFilePath(":/style/hblistviewitem.widgetml");
+	HbStyleLoader::registerFilePath(":/style/hblistviewitem_color.css");
+	mCityListView->setLayoutName("citylist-portrait");
 	mCityListView->setModel(mCityListModel);
-	mCityListView->setItemPrototype(customPrototype);
-	mCityListView->setLayoutName("custom");
-
-	mPlaceLabel =
-			qobject_cast<HbLabel *> (mDocLoader->findWidget("placeLabel"));
-//	mPlaceLabel->setTextWrapping(Hb::TextWordWrap);
-
-	mDayDateLabel =
-			qobject_cast<HbLabel *> (mDocLoader->findWidget("dateLabel"));
-
+	
 	// Get the toolbar/menu actions.
 	mAddCityAction = static_cast<HbAction *> (
 			mDocLoader->findObject("addCityAction"));
-	mAddCityAction->setIcon(HbIcon(":/clock/add_new_city.svg"));
 	connect(
 			mAddCityAction, SIGNAL(triggered()),
 			this, SLOT(handleAddLocation()));
@@ -159,13 +147,11 @@
 			mShowAlarmsViewAction, SIGNAL(triggered()),
 			this, SLOT(showAlarmsView()));
 
-	HbMainWindow *window;
-	window = hbInstance->allMainWindows().first();
-	updateToolbarTexts(window->orientation());
+	HbMainWindow *window = hbInstance->allMainWindows().first();
 
 	connect(
 			window, SIGNAL(orientationChanged(Qt::Orientation)),
-			this, SLOT(updateToolbarTexts(Qt::Orientation)));
+			this, SLOT(loadSection(Qt::Orientation)));
 
 	if (mCityInfoList.count() > 0) {
 		// There is atleast one city. Refresh needed.
@@ -175,25 +161,34 @@
 		mRefreshTimer->start(after * 1000);
 	}
 
-	// Update the date and day info.
-	updateDayDateInfo();
-
 	connect(
 			mCityListView,
 			SIGNAL(longPressed(HbAbstractViewItem *, const QPointF &)),
 			this,
 			SLOT(handleItemLongPressed(HbAbstractViewItem *, const QPointF &)));
 
+	// Update current location info.
+	updateCurrentLocationInfo(mTimezoneClient->timeUpdateOn());
+
 	// Populate the list.
-	int index = 0;
-	// Update current location info.
-	updateCurrentLocationInfo();
-
-	for (; index < mCityInfoList.count(); index++) {
+	for (int index = 0; index < mCityInfoList.count(); index++) {
 		addCityToList(mCityInfoList.at(index));
 	}
+	
+	// Adding the "Add city" in options menu.
+	mAddCityMenuAction = new HbAction(
+			QString(hbTrId("txt_clock_opt_add_city")),this);
+	menu()->addAction(mAddCityMenuAction);
+	mAddCityMenuAction->setVisible(true);
+	connect(
+			mAddCityMenuAction, SIGNAL(triggered()),
+			this, SLOT(handleAddLocation()));
 
-	qDebug("clock: ClockWorldView::setupView() <--");
+	// Check for disabling of addCityAction in view toolbar.
+	if ((KMaximumCityListCount-1) == mCityInfoList.count()) {
+		mAddCityAction->setEnabled(false);
+		mAddCityMenuAction->setVisible(false);
+	}
 }
 
 /*!
@@ -201,46 +196,19 @@
  */
 void ClockWorldView::refreshCityList()
 {
+	updateCurrentLocationInfo(mTimezoneClient->timeUpdateOn());
 	int cityInfoCount = mCityInfoList.count();
 
 	if (cityInfoCount) {
 		QStandardItem *item = 0;
 		for (int infoIndex = 0; infoIndex < cityInfoCount; infoIndex++) {
 			item = mCityListModel->item(infoIndex);
-
-			QDateTime dateTime = QDateTime::currentDateTime();
-			dateTime = dateTime.toUTC();
-			dateTime = dateTime.addSecs(
-					mCityInfoList.at(infoIndex).zoneOffset * 60);
-
-			// Display day/night indicators.
-			QString dayNightIconPath = "";
-			if (isDay(dateTime)) {
-				dayNightIconPath = ":/clock/day";
-			} else {
-				dayNightIconPath = ":/clock/night";
-			}
-			item->setData(dayNightIconPath, Qt::UserRole + 1000);
-
-			// Update the date info.
-			QString dateInfo = dateTime.toString(
-					mSettingsUtility->dateFormatString());
-			if (dateTime.date() == QDate::currentDate()) {
-				dateInfo = tr("Today");
-			}
-			item->setData(dateInfo, Qt::UserRole + 1001);
-
-			// Set the DST icon.
-			QString dstIconPath = "";
-			if (mCityInfoList.at(infoIndex).dstOn) {
-				dstIconPath = ":/clock/dst_icon";
-			}
-			item->setData(dstIconPath, Qt::UserRole + 1004);
-
-			// Update the time info.
-			QString timeInfo = dateTime.toString(
-					mSettingsUtility->timeFormatString());
-			item->setData(timeInfo, Qt::UserRole + 1005);
+			item->setData(
+					getCityListDisplayString(mCityInfoList.at(infoIndex)),
+					Qt::DisplayRole);
+			item->setData(
+					getCityListDecorationString(mCityInfoList.at(infoIndex)),
+					Qt::DecorationRole);
 		}
 
 		// Start the timer again for one minute.
@@ -249,101 +217,64 @@
 }
 
 /*!
-	Updates the clock display.
+	Updates the current location info.
  */
-void ClockWorldView::updateClockDisplay()
-{
-//	mSkinnableClock->updateDisplay(true);
-}
-
-/*!
-	Updates the day-date info.
- */
-void ClockWorldView::updateDayDateInfo()
+void ClockWorldView::updateCurrentLocationInfo(int networkTime)
 {
-	// Get the current datetime.
-	QDateTime dateTime = QDateTime::currentDateTime();
-	QString dayName = dateTime.toString("dddd");
+	HbMainWindow *window = hbInstance->allMainWindows().first();
+	Qt::Orientation currentOrienation = window->orientation();
+	loadSection(currentOrienation);
+
+	if (!networkTime) {
+		// Get the updated home city.
+		LocationInfo homeCity = mTimezoneClient->getCurrentZoneInfoL();
+
+		QMap<QString, QVariant> itemList;
+		QString value;
+		QDateTime dateTime = QDateTime::currentDateTime();
+
+		// Show the date. If date is current date then show 'today'.
+		QString dateInfo = dateTime.toString(
+				mSettingsUtility->dateFormatString());
+		itemList.insert(value.setNum(ClockHomeCityItem::Date), dateInfo);
+
+		// Show the city and country name.
+		QString placeInfo =
+				homeCity.cityName + tr(", ") + homeCity.countryName;
+		itemList.insert(value.setNum(ClockHomeCityItem::City), placeInfo);
 
-	QString currentDate = mSettingsUtility->date();
-	// Construct the day + date string.
-	QString dayDateString;
-	dayDateString+= dayName;
-	dayDateString += " ";
-	dayDateString += currentDate;
+		// Show the time at that location.
+		QString timeInfo = dateTime.toString(
+				mSettingsUtility->timeFormatString());
+		itemList.insert(value.setNum(ClockHomeCityItem::Time), timeInfo);
 
-	mDayDateLabel->clear();
-	mDayDateLabel->setPlainText(dayDateString);
+		//Use the home city specific icons.
+		// Display day/night indicators.
+		QString dayNightIconPath = "";
+		if (isDay(dateTime)) {
+			dayNightIconPath = "qtg_large_clock_home";
+		} else {
+			dayNightIconPath = "qtg_large_clock_night_home";
+		}
+		itemList.insert(value.setNum(
+				ClockHomeCityItem::DayNightIndicator), dayNightIconPath);
+
+		// Show dst icon when needed.
+		if (homeCity.dstOn) {
+			QString dstIconPath = "qtg_mono_day_light_saving_time";
+			itemList.insert(value.setNum(ClockHomeCityItem::Dst), dstIconPath);
+		}
+		mHomeCityWidget->setHomeCityItemData(itemList);
+	}
 }
 
 /*!
-	Updates the current location info.
- */
-void ClockWorldView::updateCurrentLocationInfo()
-{
-	// Get the updated home city.
-	LocationInfo homeCity = mTimezoneClient->getCurrentZoneInfoL();
-
-	// Construct the GMT +/- X string.
-	QString gmtOffset;
-
-	int utcOffset = homeCity.zoneOffset;
-	int offsetInHours (utcOffset/60);
-	int offsetInMinutes (utcOffset%60);
-
-	// Check wether the offset is +ve or -ve.
-	if (0 < utcOffset) {
-		// We have a positive offset. Append the '+' character.
-		gmtOffset += tr(" +");
-	} else if (0 > utcOffset) {
-		// We have a negative offset. Append the '-' character.
-		gmtOffset += tr(" -");
-		offsetInHours = -offsetInHours;
-	} else {
-		// We dont have an offset. We are at GMT zone.
-	}
-
-	// Append the hour component.
-	gmtOffset += QString::number(offsetInHours);
-
-	// Get the time separator from settings and append it.
-	QStringList timeSeparatorList;
-	int index = mSettingsUtility->timeSeparator(timeSeparatorList);
-	gmtOffset += timeSeparatorList.at(index);
+	Handles the long press on each item in the citylist.
+	Displays a list item specific context menu.
 
-	// Append the minute component.
-	// If minute component is less less than 10, append a '00'
-	if (0 <= offsetInMinutes && offsetInMinutes < 10) {
-		gmtOffset += tr("00");
-	} else {
-		gmtOffset += QString::number(offsetInMinutes);
-	}
-
-	// Append space.
-	gmtOffset += tr(" ");
-
-	// Append GMT sting.
-	gmtOffset += hbTrId("txt_common_common_gmt");
-
-	// Append space.
-	gmtOffset += tr(" ");
-
-	// Append DST info.
-	if (homeCity.dstOn) {
-		gmtOffset += hbTrId("txt_common_setlabel_dst");
-	}
-
-	// Set the city and country name .
-	mPlaceLabel->clear();
-	if (mTimezoneClient->timeUpdateOn()) {
-		mPlaceLabel->setPlainText(homeCity.countryName + tr(" ") + gmtOffset);
-	} else {
-		mPlaceLabel->setPlainText(
-				homeCity.cityName + tr(", ") + homeCity.countryName
-				+ tr(" ") + gmtOffset);
-	}
-}
-
+	\param item The HbAbstractViewItem that was long pressed.
+	\param coords The position where mouse was pressed.
+ */
 void ClockWorldView::handleItemLongPressed(
 		HbAbstractViewItem *item, const QPointF &coords)
 {
@@ -355,19 +286,14 @@
 
 	// Add the actions to the context menu.
 	mSetCurrentLocationAction = itemContextMenu->addAction(
-	    hbTrId("txt_clk_menu_set_as_current_location"));
+			hbTrId("txt_clk_menu_set_as_current_location"));
 	mRemoveCityAction = itemContextMenu->addAction(
-	    hbTrId("txt_clk_menu_delete"));
-
-	connect(
-			mSetCurrentLocationAction, SIGNAL(triggered()),
-			this, SLOT(handleSetAsCurrentLocationAction()));
-	connect(
-			mRemoveCityAction, SIGNAL(triggered()),
-			this, SLOT(handleDeleteAction()));
+			hbTrId("txt_clk_menu_delete"));
 
 	// Show the menu.
-	itemContextMenu->exec(coords);
+	itemContextMenu->open(this, SLOT(selectedMenuAction(HbAction*)));
+	itemContextMenu->setPreferredPos(coords);
+	itemContextMenu->setAttribute( Qt::WA_DeleteOnClose,true);
 }
 
 /*!
@@ -393,14 +319,10 @@
 void ClockWorldView::handleDeleteAction()
 {
 	if (-1 != mSelectedItem) {
-		int temp = mCityListModel->rowCount();
-
 		QStandardItem *item = mCityListModel->takeItem(mSelectedItem);
 		mCityListModel->removeRow(mSelectedItem);
 		delete item;
 
-		temp = mCityListModel->rowCount();
-
 		mCityInfoList.removeAt(mSelectedItem);
 		mSelectedItem = -1;
 
@@ -410,6 +332,10 @@
 		if (mCityInfoList.count() <= 0) {
 			// No need to refresh the list anymore.
 			mRefreshTimer->stop();
+		} else if (mCityInfoList.count() < (KMaximumCityListCount-1) &&
+				!mAddCityAction->isEnabled()) {
+			mAddCityAction->setEnabled(true);
+			mAddCityMenuAction->setVisible(true);
 		}
 	}
 }
@@ -419,66 +345,37 @@
  */
 void ClockWorldView::handleSetAsCurrentLocationAction()
 {
+	// Get the info of the selected item.
+	LocationInfo newHomeCity = mCityInfoList[mSelectedItem];
+
 	// Check if time update is set to ON.
 	// If yes, reset it to OFF and change the home location.
 	if (mTimezoneClient->timeUpdateOn()) {
 		mTimezoneClient->setTimeUpdateOn(false);
+
+		QStandardItem *item = mCityListModel->takeItem(mSelectedItem);
+		mCityListModel->removeRow(mSelectedItem);
+		delete item;
+
+		mCityInfoList.removeAt(mSelectedItem);
 	} else {
 		// The current location and home city should be swapped.
 		// Store the info of current home city.
 		LocationInfo oldHomeCity = mTimezoneClient->getCurrentZoneInfoL();
-		// Get the info of the selected item.
-		LocationInfo newHomeCity = mCityInfoList[mSelectedItem];
-
-		QStandardItem *cityItem = mCityListModel->item(mSelectedItem);
-		QDateTime dateTime = QDateTime::currentDateTime();
-
-		// Display day/night indicators.
-		QString dayNightIconPath = "";
-		if (isDay(dateTime)) {
-			dayNightIconPath = ":/clock/day";
-		} else {
-			dayNightIconPath = ":/clock/night";
-		}
-		cityItem->setData(dayNightIconPath, Qt::UserRole + 1000);
-
-		// Date.
-		QString dateString = dateTime.toString(
-				mSettingsUtility->dateFormatString());
-		if (dateTime.date() == QDate::currentDate()) {
-			dateString = tr("Today");
-			}
-		cityItem->setData(dateString, Qt::UserRole + 1001);
-
-		// The city/country name.
-		QString placeInfo =
-				oldHomeCity.cityName + tr(", ") + oldHomeCity.countryName;
-		cityItem->setData(placeInfo, Qt::UserRole + 1002);
-
-		// Dst icon.
-		QString dstIconPath = "";
-		if (oldHomeCity.dstOn) {
-			dstIconPath = ":/clock/dst_icon";
-		}
-		cityItem->setData(dstIconPath, Qt::UserRole + 1004);
-
-		// Time.
-		QString timeString = dateTime.toString(
-				mSettingsUtility->timeFormatString());
-		cityItem->setData(timeString, Qt::UserRole + 1005);
 
 		// Update the info list.
 		mCityInfoList.removeAt(mSelectedItem);
 		mCityInfoList.insert(mSelectedItem, oldHomeCity);
-		// Update the home city with the timezone server.
-		mTimezoneClient->setAsCurrentLocationL(newHomeCity);
+
+	}
+	// Update the home city with the timezone server.
+	mTimezoneClient->setAsCurrentLocationL(newHomeCity);
 
-		// Update the current location info.
-		updateCurrentLocationInfo();
+	// Update the current location info.
+	updateCurrentLocationInfo(mTimezoneClient->timeUpdateOn());
 
-		// Update the offset difference in each list item.
-		updateOffsetDifferences();
-	}
+	// Update the offset difference in each list item.
+	refreshCityList();
 
 	// Update the data file.
 	mTimezoneClient->saveLocations(mCityInfoList);
@@ -499,15 +396,20 @@
 		// Now we check if the city is already added in the list.
 		bool proceed = true;
 		for (int i = 0; i < mCityInfoList.count(); i++) {
-			if (info.timezoneId == mCityInfoList.at(i).timezoneId) {
+			if (info.timezoneId == mCityInfoList.at(i).timezoneId
+					&& (info.cityName == mCityInfoList.at(i).cityName)
+					&& (info.countryName == mCityInfoList.at(i).countryName) ) {
 				proceed = false;
 				break;
 			}
 		}
 
+		LocationInfo currentCity = mTimezoneClient->getCurrentZoneInfoL();
 		// Check if the selected city is not the home city.
-		if (info.timezoneId
-				== mTimezoneClient->getCurrentZoneInfoL().timezoneId) {
+		if (
+				(info.timezoneId == currentCity.timezoneId)
+				&& (info.cityName == currentCity.cityName)
+				&& (info.countryName == currentCity.countryName)) {
 			proceed = false;
 		}
 
@@ -528,7 +430,11 @@
 			}
 		}
 	}
-
+	if ((KMaximumCityListCount-1) == mCityInfoList.count() &&
+			mAddCityAction->isEnabled()) {
+		mAddCityAction->setEnabled(false);
+		mAddCityMenuAction->setVisible(false);
+	}
 	// Cleanup.
 	mCitySelectionList->deleteLater();
 }
@@ -536,87 +442,82 @@
 /*!
 	Navigates to the clock alarms view.
  */
-
 void ClockWorldView::showAlarmsView()
 {
-	qDebug() << "clock: ClockWorldView::showAlarmsView -->";
+	mAppControllerIf->switchToView(MainView);
+}
 
-	mAppControllerIf->switchToView(MainView);
-
-	qDebug() << "clock: ClockWorldView::showAlarmsView <--";
+/*!
+	Slot which gets called when `World Clock' action is triggered from the view
+	toolbar. This is responsible for reloading the content of worldclock view.
+ */
+void ClockWorldView::refreshWorldView()
+{
+	mDisplayWorldClockView->setChecked(true);
 }
 
 /*!
-	Updates the offset difference shown in each item with respect to the home
-	city.
+	Loads the appropriate section based on window orientaion.
  */
-void ClockWorldView::updateOffsetDifferences()
+void ClockWorldView::loadSection(Qt::Orientation orientation)
 {
-	// Get the home city information.
-	LocationInfo homeCityInfo = mTimezoneClient->getCurrentZoneInfoL();
-
-	for (int iter = 0; iter < mCityListModel->rowCount(); iter++) {
-		QModelIndex index = mCityListModel->index(iter, 0);
-		LocationInfo cityInfo = mCityInfoList[iter];
-
-		// Find out if the city being added has an offset greater than or less
-		// than the homecity offset.
-		QString offsetDifference;
-		if (cityInfo.zoneOffset < homeCityInfo.zoneOffset) {
-			offsetDifference += "-";
-		} else if (cityInfo.zoneOffset > homeCityInfo.zoneOffset) {
-			offsetDifference += "+";
+	bool networkTime = mTimezoneClient->timeUpdateOn();
+	bool loadSuccess;
+	if (Qt::Horizontal == orientation) {
+		if (networkTime) {
+			// Do not show home city.
+			mDocLoader->load(
+					CLOCK_WORLD_VIEW_DOCML,
+					CLOCK_WORLD_VIEW_LANDSCAPE_NOHOMECITY_SECTION,
+					&loadSuccess);
+			mHomeCityWidget->hide();
+		} else {
+			mDocLoader->load(
+					CLOCK_WORLD_VIEW_DOCML,
+					CLOCK_WORLD_VIEW_LANDSCAPE_HOMECITY_SECTION,
+					&loadSuccess);
+			mHomeCityWidget->show();
 		}
-		// Now get the hours and minutes.
-		int difference =
-				qAbs(homeCityInfo.zoneOffset - cityInfo.zoneOffset);
-		int hours = difference / 60;
-		int minutes = difference % 60;
-		offsetDifference += QString::number(hours);
-		offsetDifference += "hrs";
-		if (minutes) {
-			offsetDifference += ", ";
-			offsetDifference += QString::number(minutes);
-			offsetDifference += "mins";
+	} else if (Qt::Vertical == orientation) {
+		if (networkTime) {
+			// Do not show home city.
+			mDocLoader->load(
+					CLOCK_WORLD_VIEW_DOCML,
+					CLOCK_WORLD_VIEW_PORTRAIT_NOHOMECITY_SECTION,
+					&loadSuccess);
+			mHomeCityWidget->hide();
+		} else {
+			// Show home city.
+			mDocLoader->load(
+					CLOCK_WORLD_VIEW_DOCML,
+					CLOCK_WORLD_VIEW_PORTRAIT_HOMECITY_SECTION,
+					&loadSuccess);
+			mHomeCityWidget->show();
 		}
-		// TODO : Need to enable these code once we recieve the localisation.
-		/*QString displayFormat = tr("%1hrs, %2mins");
-		QString offsetString = displayFormat.arg(hours, minutes);
-		offsetDifference += offsetString;*/
-		mCityListModel->setData(index, offsetDifference, Qt::UserRole + 1003);
 	}
+	mCityListView->update();
 }
 
 /*!
-    Slot which gets called when `World Clock' action is triggered from the view
-    toolbar. This is responsible for reloading the content of the world clock view.
+	Slot which gets called for timeChanged signal of timezone client.
+	Refreshes both homecity & city list.
  */
-void ClockWorldView::refreshWorldView()
+void ClockWorldView::updateAllLocationInfo()
 {
-    qDebug() << "clock: ClockWorldView::refreshWorldView -->";
-
-	mDisplayWorldClockView->setChecked(true);
-
-    qDebug() << "clock: ClockWorldView::refreshWorldView <--";
+	updateCurrentLocationInfo(mTimezoneClient->timeUpdateOn());
+	updateCityList();
+	refreshCityList();
 }
 
 /*!
-	Slot to handle orientation changes
+	Slot to handle the selected context menu actions
  */
-void ClockWorldView::updateToolbarTexts(Qt::Orientation currentOrientation)
+void ClockWorldView::selectedMenuAction(HbAction *action)
 {
-	if (Qt::Horizontal == currentOrientation) {
-		// Display toolbar item's texts
-		// TODO to use text ids from ts file.
-		mShowAlarmsViewAction->setText(tr("Alarms"));
-		mDisplayWorldClockView->setText(tr("World clock"));
-		mAddCityAction->setText(tr("Add city"));
-	} else if(Qt::Vertical == currentOrientation){
-		// Remove toolbar item's texts as only icons are shown.
-		// TODO to use text ids from ts file.
-		mShowAlarmsViewAction->setText(tr(""));
-		mDisplayWorldClockView->setText(tr(""));
-		mAddCityAction->setText("");
+	if (action == mSetCurrentLocationAction) {
+		handleSetAsCurrentLocationAction();
+	} else if (action == mRemoveCityAction) {
+		handleDeleteAction();
 	}
 }
 
@@ -630,95 +531,17 @@
 	// Here we construct a model item and add it to the list model.
 	QStandardItem *modelItem = new QStandardItem();
 
-	QDateTime dateTime = QDateTime::currentDateTime();
-	dateTime = dateTime.toUTC();
-	dateTime = dateTime.addSecs(locationInfo.zoneOffset * 60);
-
-	// Display day/night indicators.
-	QString dayNightIconPath = "";
-	if (isDay(dateTime)) {
-		dayNightIconPath = ":/clock/day";
-	} else {
-		dayNightIconPath = ":/clock/night";
-	}
-	modelItem->setData(dayNightIconPath, Qt::UserRole + 1000);
-
-	// Show the date. If date is current date then show 'today'.
-	QString dateInfo = dateTime.toString(mSettingsUtility->dateFormatString());
-	if (dateTime.date() == QDate::currentDate()) {
-		dateInfo = tr("Today");
-	}
-	modelItem->setData(dateInfo, Qt::UserRole + 1001);
-
-	// Show the city and country name.
-	QString placeInfo =
-			locationInfo.cityName + tr(", ") + locationInfo.countryName;
-	modelItem->setData(placeInfo, Qt::UserRole + 1002);
-
-	// Get the homecity information.
-	LocationInfo homeCityInfo = mTimezoneClient->getCurrentZoneInfoL();
-	// Find out if the city being added has an offset greater than or less than
-	// the homecity offset.
-	QString offsetDifference;
-	if (locationInfo.zoneOffset < homeCityInfo.zoneOffset) {
-		offsetDifference += "-";
-	} else if (locationInfo.zoneOffset > homeCityInfo.zoneOffset) {
-		offsetDifference += "+";
-	}
-	// Now get the hours and minutes.
-	int difference = qAbs(homeCityInfo.zoneOffset - locationInfo.zoneOffset);
-	int hours = difference / 60;
-	int minutes = difference % 60;
-
-	if ( hours && minutes ) {
-		if (hours == 1) {
-			QString displayFormat =
-					hbTrId("txt_clock_dblist_daily_val_1_hr_2_mins");
-			QString offsetString = displayFormat.arg(hours).arg(minutes);
-			offsetDifference += offsetString;
-		}
-		else {
-			QString displayFormat =
-					hbTrId("txt_clock_dblist_daily_val_1_hrs_2_mins");
-			QString offsetString = displayFormat.arg(hours).arg(minutes);
-			offsetDifference += offsetString;
-		}
-	}
-	else if ( hours ){
-		if(hours == 1 ) {
-			QString displayFormat = hbTrId("txt_clock_dblist_val_1_hr");
-			QString offsetString = displayFormat.arg(hours);
-			offsetDifference += offsetString;
-		}
-		else {
-			QString displayFormat = hbTrId("txt_clock_dblist_val_1_hrs");
-			QString offsetString = displayFormat.arg(hours);
-			offsetDifference += offsetString;
-		}
-	}
-	else if (minutes){
-		QString displayFormat = hbTrId("txt_clock_dblist_val_1_mins");
-		QString offsetString = displayFormat.arg(minutes);
-		offsetDifference += offsetString;
-	}
-
-	modelItem->setData(offsetDifference, Qt::UserRole + 1003);
-
-	// Show dst icon when needed.
-	QString dstIconPath = "";
-	if (locationInfo.dstOn) {
-		dstIconPath = ":/clock/dst_icon";
-	}
-	modelItem->setData(dstIconPath, Qt::UserRole + 1004);
-
-	// Show the time at that location.
-	QString timeInfo = dateTime.toString(mSettingsUtility->timeFormatString());
-	modelItem->setData(timeInfo, Qt::UserRole + 1005);
-
 	// Add the item to the model.
 	mCityListModel->appendRow(modelItem);
 
-	return(mCityListModel->indexFromItem(modelItem));
+	QModelIndex index = mCityListModel->indexFromItem(modelItem);
+	mCityListModel->setData(
+			index, getCityListDisplayString(locationInfo), Qt::DisplayRole);
+	mCityListModel->setData(
+			index, getCityListDecorationString(locationInfo),
+			Qt::DecorationRole);
+
+	return index;
 }
 
 /*!
@@ -737,4 +560,167 @@
 	return true;
 }
 
+/*!
+	Returns the QVariantList for citylist to be set for DisplayRole.
+	
+	/param locationInfo Details of the city to be added to the list.
+ */
+QVariantList ClockWorldView::getCityListDisplayString(
+		const LocationInfo& locationInfo)
+{
+	QVariantList displayString;
+	QDateTime dateTime = QDateTime::currentDateTime();
+	dateTime = dateTime.toUTC();
+	dateTime = dateTime.addSecs(locationInfo.zoneOffset * 60);
+
+	// Show the date. If date is current date then show 'today'.
+	QString dateInfo = dateTime.toString(mSettingsUtility->dateFormatString());
+	if (dateTime.date() == QDate::currentDate()) {
+		dateInfo = hbTrId("txt_clock_main_view_dblist_daily_val_today");
+	}
+	displayString.append(dateInfo);
+
+	// Show the city and country name.
+	QString placeInfo =
+			locationInfo.cityName + tr(", ") + locationInfo.countryName;
+	displayString.append(placeInfo);
+
+	// Get the homecity information.
+	LocationInfo homeCityInfo = mTimezoneClient->getCurrentZoneInfoL();
+	// Find out if the city being added has an offset greater than or less than
+	// the homecity offset.
+	QString offsetDifference;
+	if (locationInfo.zoneOffset < homeCityInfo.zoneOffset) {
+		offsetDifference += "-";
+	} else if (locationInfo.zoneOffset > homeCityInfo.zoneOffset) {
+		offsetDifference += "+";
+	}
+	// Now get the hours and minutes.
+	int difference = qAbs(homeCityInfo.zoneOffset - locationInfo.zoneOffset);
+	int hours = difference / 60;
+	int minutes = difference % 60;
+	QString displayFormat("");
+	QString offsetString("");
+
+	if ( hours && minutes ) {
+		if (hours == 1) {
+			displayFormat =
+					hbTrId("txt_clock_dblist_daily_val_1_hr_2_mins");
+			offsetString = displayFormat.arg(hours).arg(minutes);
+			offsetDifference += offsetString;
+		}
+		else {
+			displayFormat =
+					hbTrId("txt_clock_dblist_daily_val_1_hrs_2_mins");
+			offsetString = displayFormat.arg(hours).arg(minutes);
+			offsetDifference += offsetString;
+		}
+	}
+	else if ( hours ){
+		if(hours == 1 ) {
+			displayFormat = hbTrId("txt_clock_dblist_val_1_hr");
+			offsetString = displayFormat.arg(hours);
+			offsetDifference += offsetString;
+		}
+		else {
+			displayFormat = hbTrId("txt_clock_dblist_val_1_hrs");
+			offsetString = displayFormat.arg(hours);
+			offsetDifference += offsetString;
+		}
+	}
+	else if (minutes){
+		displayFormat = hbTrId("txt_clock_dblist_val_1_mins");
+		offsetString = displayFormat.arg(minutes);
+		offsetDifference += offsetString;
+	} else {
+		displayFormat = hbTrId("txt_clock_dblist_val_1_hrs");
+		offsetString = displayFormat.arg(0);
+		offsetDifference += offsetString;
+	}
+	displayString.append(offsetDifference);
+
+	// Show the time at that location.
+	QString timeInfo = dateTime.toString(mSettingsUtility->timeFormatString());
+	displayString.append(timeInfo);
+
+	return displayString;
+}
+
+/*!
+	Returns the QVariantList for citylist to be set for DecorationRole.
+
+	/param locationInfo Details of the city to be added to the list.
+ */
+QVariantList ClockWorldView::getCityListDecorationString(
+		const LocationInfo& locationInfo)
+{
+	QVariantList decorationString;
+	QDateTime dateTime = QDateTime::currentDateTime();
+	dateTime = dateTime.toUTC();
+	dateTime = dateTime.addSecs(locationInfo.zoneOffset * 60);
+
+	// Display day/night indicators.
+	// TODO: change the icon name for night when available.
+	QString dayNightIconPath = "";
+	if (isDay(dateTime)) {
+		dayNightIconPath = "qtg_large_clock";
+	} else {
+		dayNightIconPath = "qtg_large_clock_night";
+	}
+	decorationString.append(HbIcon(dayNightIconPath));
+
+	// Show dst icon when needed.
+	if (locationInfo.dstOn) {
+		QString dstIconPath = "qtg_mono_day_light_saving_time";
+		decorationString.append(HbIcon(dstIconPath));
+	}
+	return decorationString;
+	
+}
+
+/*!
+	Updates the city list according to the home city.
+ */
+void ClockWorldView::updateCityList()
+{
+	int cityInfoCount = mCityInfoList.count();
+
+	if (cityInfoCount) {
+		bool deletion = false;
+		int index;
+		LocationInfo currentCity = mTimezoneClient->getCurrentZoneInfoL();
+		for (index = 0; index < cityInfoCount; index++) {
+			if (currentCity.timezoneId == mCityInfoList.at(index).timezoneId
+					&& (currentCity.cityName ==
+							mCityInfoList.at(index).cityName)
+					&& (currentCity.countryName ==
+							mCityInfoList.at(index).countryName) ) {
+				deletion = true;
+				break;
+			}
+		}
+		if (deletion) {
+			QStandardItem *item = mCityListModel->takeItem(index);
+			mCityListModel->removeRow(index);
+			delete item;
+
+			mCityInfoList.removeAt(index);
+			index = -1;
+
+			// Update the data file.
+			mTimezoneClient->saveLocations(mCityInfoList);
+
+			if (mCityInfoList.count() <= 0) {
+				// No need to refresh the list anymore.
+				mRefreshTimer->stop();
+			} else if (mCityInfoList.count() < (KMaximumCityListCount-1) &&
+					!mAddCityAction->isEnabled()) {
+				mAddCityAction->setEnabled(true);
+				mAddCityMenuAction->setVisible(true);
+			}
+			
+		}
+	}
+}
+
 // End of file-- Don't delete.
--- a/clock/clockui/clockviews/src/listitemprototype.cpp	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,128 +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 class ListItemPrototype.
-*
-*/
-
-// System includes
-#include <QDebug>
-#include <QGraphicsLinearLayout>
-#include <HbAbstractViewItem>
-#include <HbIconItem>
-#include <HbStyle>
-#include <HbTextItem>
-
-// User includes
-#include "listitemprototype.h"
-
-/*!
-	\class ListItemPrototype
-
-	Prototype class for the World clock city list.
- */
-
-/*!
-	Default constructor.
-
-	\parent of type QGraphicsItem.
- */
-ListItemPrototype::ListItemPrototype(QGraphicsItem *parent)
-:HbListViewItem(parent),
- mDayNightIcon(0),
- mDateText(0),
- mCityText(0),
- mOffsetText(0),
- mDstIcon(0),
- mTimeText(0)
-{
-	// Nothing yet.
-}
-
-/*!
-	Destructor.
- */
-ListItemPrototype::~ListItemPrototype()
-{
-	// Nothing yet.
-}
-
-/*!
-	From HbListViewItem.
-
-	\sa HbAbstractViewItem, HbListViewItem.
- */
-HbAbstractViewItem *ListItemPrototype::createItem()
-{
-	return new ListItemPrototype(*this);
-}
-
-/*!
-	Called for every view item in the list.
-
-	\sa HbAbstractViewItem, HbListViewItem.
- */
-void ListItemPrototype::updateChildItems()
-{
-	// First allow the base class to update.
-	HbListViewItem::updateChildItems();
-
-	// Create the individual items.
-	// Create day-night icon.
-	if (!mDayNightIcon) {
-		mDayNightIcon = new HbIconItem(this);
-		style()->setItemName(mDayNightIcon, "dayNightIcon");
-	}
-	mDayNightIcon->setIconName(
-			modelIndex().data(Qt::UserRole + 1000).value<QString>());
-			
-	// Create the date text item.
-	if (!mDateText) {
-		mDateText = new HbTextItem(this);
-		style()->setItemName(mDateText, "dateText");
-	}
-	mDateText->setText(modelIndex().data(Qt::UserRole + 1001).toString());
-
-	// Create the city, country name text item.
-	if (!mCityText) {
-		mCityText = new HbTextItem(this);
-		mCityText->setTextWrapping(Hb::TextNoWrap);
-		style()->setItemName(mCityText, "cityText");
-	}
-	mCityText->setText(modelIndex().data(Qt::UserRole + 1002).toString());
-
-	// Create the offset text item.
-	if (!mOffsetText) {
-		mOffsetText = new HbTextItem(this);
-		style()->setItemName(mOffsetText, "offsetText");
-	}
-	mOffsetText->setText(modelIndex().data(Qt::UserRole + 1003).toString());
-
-	// Create dst icon.
-	if (!mDstIcon) {
-		mDstIcon = new HbIconItem(this);
-		style()->setItemName(mDstIcon, "dstIcon");
-	}
-	mDstIcon->setIconName(
-			modelIndex().data(Qt::UserRole + 1004).value<QString>());
-
-	// Create the time text item.
-	if (!mTimeText) {
-		mTimeText = new HbTextItem(this);
-		style()->setItemName(mTimeText, "timeText");
-	}
-	mTimeText->setText(modelIndex().data(Qt::UserRole + 1005).toString());
-}
-
-// End of file	--Don't remove this.
--- a/clock/clockui/clockwidget/clockwidget.pro	Mon May 03 12:30:32 2010 +0300
+++ b/clock/clockui/clockwidget/clockwidget.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2008-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"
@@ -11,40 +11,12 @@
 #
 # Contributors:
 #
-# Description:  Project definition file for clockui
-# 
-
-TEMPLATE = lib
-TARGET = clockwidgetproto
-DEFINES += CLOCKWIDGET_LIB
-CONFIG += hb
-
-DEPENDPATH += . \
-			  ./src \
-			  ./inc \
-			  ../../data
-INCLUDEPATH += . \
-			   ../../clockmw/clocktimezone/inc \
-			   ../../clockmw/clocksettingsutility/inc \
-			   ../../inc
+# Description:
+#
 
-symbian: {
-	TARGET.CAPABILITY = ALL -TCB
-	TARGET.EPOCALLOWDLLDATA = 1
-	TARGET.UID3 = 0x2002E6B4
-
-	LIBS += -ltimezoneclient \
-			-lclocksettingsutility
-}
-
-SOURCES += skinnableclock.cpp \
-		   analogclock.cpp \
-		   digitalclock.cpp
-
-HEADERS += skinnableclock.h \
-		   analogclock.h \
-		   digitalclock.h
-
-RESOURCES += ../../data/clockwidget.qrc
-
-# End of file	--Don't remove this.
+ 
+           
+TEMPLATE = subdirs
+SUBDIRS += clockwidgetimpl
+SUBDIRS += clockwidgetplugin
+CONFIG += ordered
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetimpl/bwins/clockwidgetu.def	Mon Jun 28 15:22:02 2010 +0530
@@ -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 &)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetimpl/clockwidgetimpl.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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:
+#  programs, is protected by copyright controlled by Nokia.  All
+#  rights are reserved.  Copying, including reproducing, storing,
+#  adapting or translating, any or all of this material requires the
+#  prior written consent of Nokia.  This material also contains
+#  confidential information which may not be disclosed to others
+#  without the prior written consent of Nokia.
+# ============================================================================
+#
+# Description:
+#
+
+TEMPLATE = lib
+TARGET = clockwidget
+CONFIG += hb
+DEFINES += CLOCKWIDGET_LIB
+
+win32{
+CONFIG(release, debug|release){
+  TARGET = clockwidget
+  DESTDIR = ../release # for easy plugin loading
+}else{
+  TARGET = clockwidgetd
+  DESTDIR = ../debug # for easy plugin loading
+  }
+}
+
+DEPENDPATH += ./inc \
+              ./src
+
+INCLUDEPATH += ./inc
+
+SOURCES += \
+		clockwidget.cpp \
+		analogclockwidget.cpp \
+		digitalclockwidget.cpp
+
+HEADERS += \
+        clockwidgetdefines.h \ 
+		clockwidget.h \
+		analogclockwidget.h \
+		digitalclockwidget.h
+            
+symbian {
+    TARGET.UID3 = 0x2002E715
+    TARGET.EPOCALLOWDLLDATA = 1
+    TARGET.CAPABILITY = CAP_GENERAL_DLL
+    LIBS += -lbafl
+}
+
+RESOURCES = clockwidgetimpl.qrc
+
+# End of file	--Don't remove this
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetimpl/clockwidgetimpl.qrc	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,10 @@
+<RCC>
+    <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	Mon Jun 28 15:22:02 2010 +0530
@@ -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
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetimpl/inc/analogclockwidget.h	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,57 @@
+/*
+* 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:  Clock widget
+*
+*/
+
+#ifndef ANALOGCLOCKWIDGET_H
+#define ANALOGCLOCKWIDGET_H
+
+// User includes 
+#include <hbwidget.h>
+#include <QPointer>
+
+// Forward declarations
+class HbIconItem;
+class QTimer;
+
+class AnalogClockWidget : public HbWidget
+{
+    Q_OBJECT
+
+public:
+    AnalogClockWidget(QGraphicsItem *parent = 0);
+    virtual ~AnalogClockWidget();
+
+public slots:
+    void tick();
+
+protected:
+    void resizeEvent(QGraphicsSceneResizeEvent *event);
+    void polish(HbStyleParameters& params);
+
+private:    
+    void updatePrimitives();
+
+private:
+    QPointer<QTimer>     mTimer;
+    QPointer<HbIconItem> mClockBackground;
+    QPointer<HbIconItem> mClockHourHand;
+    QPointer<HbIconItem> mClockMinuteHand;
+    QPointer<HbIconItem> mClockSecondHand;
+};
+
+#endif
+
+// End of file  --Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetimpl/inc/clockwidget.h	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,74 @@
+/*
+* 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:  Clock widget
+*
+*/
+
+#ifndef CLOCKWIDGET_H
+#define CLOCKWIDGET_H
+
+// System includes
+#include <hbwidget.h>
+#include <QPointer>
+// User includes
+#include "clockwidgetdefines.h"
+
+//Forward declarations
+
+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
+    {
+        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:
+    void updateClockWidget();
+private:
+    ClockType                       mClockType;
+    TimeFormat                      mTimeFormat;
+    QPointer<AnalogClockWidget>     mAnalogClock;
+    QPointer<DigitalClockWidget>    mDigitalClock;
+    QGraphicsLinearLayout           *mLayout;
+};
+
+#endif // CLOCKWIDGET_H
+
+// End of file  --Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetimpl/inc/clockwidgetdefines.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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 dll header file.
+*
+*/
+
+
+#ifndef CLOCKWIDGETDEFINES_H
+#define CLOCKWIDGETDEFINES_H
+
+#include <qglobal.h>
+
+#ifdef CLOCKWIDGET_LIB
+#   define CLOCKWIDGET_EXPORT Q_DECL_EXPORT
+#else
+#   define CLOCKWIDGET_EXPORT Q_DECL_IMPORT
+#endif
+
+#endif // CLOCKWIDGETDEFINES_H
+
+// End of file  --Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetimpl/inc/digitalclockwidget.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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/analogclockwidget.css	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,23 @@
+AnalogClockWidget {
+	layout: layout_1;
+}
+
+AnalogClockWidget::clock_background { 
+  size-policy: expanding expanding;
+  zvalue: 0;
+}
+
+AnalogClockWidget::clock_minute_hand {
+  size-policy:expanding expanding;
+  zvalue: 1;
+}
+
+AnalogClockWidget::clock_hour_hand {
+  size-policy:expanding expanding;
+  zvalue: 2;
+}
+
+AnalogClockWidget::clock_second_hand {
+  size-policy:expanding expanding;
+  zvalue: 3;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetimpl/resource/analogclockwidget.widgetml	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,24 @@
+<hbwidget version="0.1">
+    <layout name="layout_1" type="mesh">
+        <meshitem src="clock_background" srcEdge="TOP" dst="" dstEdge="TOP" spacing="0.0un" />
+        <meshitem src="clock_background" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="0.0un" />
+        <meshitem src="clock_background" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="0.0un" />
+        <meshitem src="clock_background" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="0.0un" />
+        
+        <meshitem src="clock_hour_hand" srcEdge="TOP" dst="clock_background" dstEdge="TOP" spacing="0.0un" />
+        <meshitem src="clock_hour_hand" srcEdge="BOTTOM" dst="clock_background" dstEdge="BOTTOM" spacing="0.0un" />
+        <meshitem src="clock_hour_hand" srcEdge="LEFT" dst="clock_background" dstEdge="LEFT" spacing="0.0un" />
+        <meshitem src="clock_hour_hand" srcEdge="RIGHT" dst="clock_background" dstEdge="RIGHT" spacing="0.0un" />
+        
+        <meshitem src="clock_minute_hand" srcEdge="TOP" dst="clock_background" dstEdge="TOP" spacing="0.0un" />
+        <meshitem src="clock_minute_hand" srcEdge="BOTTOM" dst="clock_background" dstEdge="BOTTOM" spacing="0.0un" />
+        <meshitem src="clock_minute_hand" srcEdge="LEFT" dst="clock_background" dstEdge="LEFT" spacing="0.0un" />
+        <meshitem src="clock_minute_hand" srcEdge="RIGHT" dst="clock_background" dstEdge="RIGHT" spacing="0.0un" />
+        
+        <meshitem src="clock_second_hand" srcEdge="TOP" dst="clock_background" dstEdge="TOP" spacing="0.0un" />
+        <meshitem src="clock_second_hand" srcEdge="BOTTOM" dst="clock_background" dstEdge="BOTTOM" spacing="0.0un" />
+        <meshitem src="clock_second_hand" srcEdge="LEFT" dst="clock_background" dstEdge="LEFT" spacing="0.0un" />
+        <meshitem src="clock_second_hand" srcEdge="RIGHT" dst="clock_background" dstEdge="RIGHT" spacing="0.0un" />
+
+    </layout>
+</hbwidget>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetimpl/resource/digitalclockwidget.css	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetimpl/src/analogclockwidget.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,135 @@
+/*
+* 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:  AnalogClockWidget
+*
+*/
+
+// System includes
+#include <HbIconItem>
+#include <HbStyleLoader>
+#include <QTime>
+#include <QTimer>
+
+// User includes
+#include "analogclockwidget.h"
+
+// Constants
+const int clockUpdateInterval  (1000); // msec
+
+/*!
+    \class AnalogClockWidget
+
+    This class implements the analogclock widget which gets displayed
+    in the clockmainview when the clocktype is set to analog type.
+*/
+
+/*!
+    Constructor.
+    \param parent The parent of type QGraphicsItem.
+*/
+AnalogClockWidget::AnalogClockWidget(QGraphicsItem *parent)
+    : HbWidget(parent)
+{
+    bool result = HbStyleLoader::registerFilePath(":/resource/analogclockwidget.widgetml");
+    result = HbStyleLoader::registerFilePath(":/resource/analogclockwidget.css");
+        
+    updatePrimitives();
+    mTimer = new QTimer(this);
+    connect(mTimer, SIGNAL(timeout()), SLOT(tick()));
+    mTimer->start(clockUpdateInterval);
+}
+
+/*!
+    Destructor.
+ */
+AnalogClockWidget::~AnalogClockWidget()
+{    
+    mTimer->stop(); 
+    HbStyleLoader::unregisterFilePath(":/resource");
+}
+
+/*!
+    Handles resize event from HbWidget
+ */
+void AnalogClockWidget::resizeEvent(QGraphicsSceneResizeEvent *event)
+{
+    QGraphicsWidget::resizeEvent(event);
+    updatePrimitives();   
+}
+
+/*!
+    @copydoc HbWidget::updatePrimitives()
+ */
+void AnalogClockWidget::updatePrimitives()
+{
+    if (!mClockBackground) {
+        mClockBackground = new HbIconItem(QLatin1String("qtg_graf_clock_day_bg"), this);
+        HbStyle::setItemName(mClockBackground, QLatin1String("clock_background"));
+    }
+
+    // Calculate angles for clock hands.
+    QTime time = QTime::currentTime();
+    qreal s = 6 * time.second();
+    qreal m = 6 * (time.minute() + s/360);
+    qreal h = 30 * ((time.hour() % 12) + m/360);
+
+	if (!mClockHourHand) {
+        mClockHourHand = new HbIconItem(QLatin1String("qtg_graf_clock_day_hour"), this);
+        HbStyle::setItemName(mClockHourHand, QLatin1String("clock_hour_hand"));
+    }
+
+    int x = mClockHourHand->geometry().width()/2;
+    int y = mClockHourHand->geometry().height()/2;
+    mClockHourHand->setTransform(QTransform().translate(x, y).rotate(h).translate(-x, -y));
+
+	if (!mClockMinuteHand) {
+        mClockMinuteHand = new HbIconItem(QLatin1String("qtg_graf_clock_day_min"), this);
+        HbStyle::setItemName(mClockMinuteHand, QLatin1String("clock_minute_hand"));
+    }
+
+    x = mClockMinuteHand->geometry().width()/2;
+    y = mClockMinuteHand->geometry().height()/2;
+    mClockMinuteHand->setTransform(QTransform().translate(x, y).rotate(m).translate(-x, -y));
+    
+      
+    if (!mClockSecondHand) {
+         mClockSecondHand = new HbIconItem(QLatin1String("qtg_graf_clock_day_sec"), this);
+        HbStyle::setItemName(mClockSecondHand, QLatin1String("clock_second_hand"));
+        }
+
+    x = mClockSecondHand->geometry().width()/2;
+    y = mClockSecondHand->geometry().height()/2;
+    mClockSecondHand->setTransform(QTransform().translate(x, y).rotate(s).translate(-x, -y));
+
+}
+
+/*!
+    Updates clock visualization according to current time
+ */
+void AnalogClockWidget::tick()
+{
+    updatePrimitives();
+    update();
+}
+
+/*!
+    Handles polish event
+ */
+void AnalogClockWidget::polish( HbStyleParameters& params ) 
+{  
+    HbWidget::polish(params); 
+    updatePrimitives();
+} 
+
+// End of file  --Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetimpl/src/clockwidget.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,146 @@
+/*
+* 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:  Clockwidget
+*
+*/
+
+// System includes
+#include <QGraphicsLinearLayout>
+
+// User includes
+#include "clockwidget.h"
+#include "analogclockwidget.h"
+#include "digitalclockwidget.h"
+
+/*!
+    \class ClockWidget
+
+    This is the generic wrapper for the clockwidget which manages analog and ditial clockwidgets.
+ */
+
+/*!
+    Constructor.
+ */
+ClockWidget::ClockWidget(QGraphicsItem *parent, Qt::WindowFlags flags)
+    : HbWidget(parent, flags),
+      mClockType(ClockTypeDigital)
+{    
+    loadClockWidget();
+}
+
+/*!
+    Destructor.
+*/
+ClockWidget::~ClockWidget()
+{    
+    
+}
+
+/*!
+    Returns the clock type.
+*/
+ClockWidget::ClockType ClockWidget::clockType() const
+{
+    return mClockType;
+}
+  
+/*!
+    Sets the clock type;
+*/
+void ClockWidget::setClockType(const ClockType &type)
+{
+    if (type == ClockTypeAnalog) {
+        if(type != mClockType){
+	        mClockType = ClockTypeAnalog;
+	        updateClockWidget();
+        }
+    } else {
+        if(type != mClockType){
+            mClockType = ClockTypeDigital;
+            updateClockWidget();
+        }      
+    }
+}
+
+/*!
+    Updates the clock time with every second
+*/
+void ClockWidget::updateTime()
+{
+    if (mClockType == ClockTypeAnalog) {  
+        mAnalogClock->tick();    
+    } else {
+    	mDigitalClock->updatePrimitives();
+    }
+}
+
+/*!
+    Constructs the clockwidget based upon its type.
+*/
+void ClockWidget::loadClockWidget()
+{
+    mLayout = new QGraphicsLinearLayout(Qt::Vertical);
+    mLayout->setContentsMargins(0,0,0,0); 
+
+    if (mClockType == ClockTypeAnalog) {
+	    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);
+    } 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	Mon Jun 28 15:22:02 2010 +0530
@@ -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);
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetplugin/clockwidgetplugin.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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: Clockwidget custom document loader plugin.
+*
+*/
+
+#ifndef CLOCKWIDGETDPLUGIN_H    
+#define CLOCKWIDGETDPLUGIN_H
+
+// System includes
+#include <hbdocumentloaderplugin.h>
+#include <qplugin.h>
+
+
+class ClockWidgetPlugin : public HbDocumentLoaderPlugin
+{
+
+private:
+    virtual QObject *createObject(const QString &type, const QString &name);
+    virtual QList<const QMetaObject *> supportedObjects();
+    
+};
+Q_EXPORT_PLUGIN(ClockWidgetPlugin) 
+
+#endif // CLOCKWIDGETDPLUGIN_H
+
+// End of file  --Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetplugin/clockwidgetplugin.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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: This is the project specification file for the
+# clockwidgetplugin.
+#
+
+TEMPLATE = lib
+TARGET = clockwidgetplugin
+
+win32{
+CONFIG(release, debug|release){
+	TARGET = clockwidgetplugin
+	} else {
+	TARGET = clockwidgetplugind
+	}
+}
+
+CONFIG += hb plugin
+
+win32{
+CONFIG(release, debug|release){
+		DESTDIR = ../release # for easy plugin loading
+		LIBS += -L../release -lclockwidget
+	} else {
+		DESTDIR = ../debug # for easy plugin loading
+		LIBS += -L../debug -lclockwidgetd
+	}
+}
+
+SOURCES += \
+        main.cpp
+
+INCLUDEPATH += \
+            ../clockwidgetimpl \ 
+            ../clockwidgetimpl/inc
+
+symbian: { 
+    TARGET.UID3 = 0x2002E716
+	TARGET.EPOCALLOWDLLDATA=1
+	TARGET.CAPABILITY = CAP_GENERAL_DLL
+	  
+	LIBS += \
+	    -lclockwidget.dll
+
+	pluginstub.sources = clockwidgetplugin.dll
+	pluginstub.path = /resource/plugins
+	DEPLOYMENT += pluginstub
+	DESTDIR = $$HB_PLUGINS_DIR
+}
+
+!local {
+    target.path = $$HB_PLUGINS_DIR
+    INSTALLS += target
+}
+
+# End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/clockui/clockwidget/clockwidgetplugin/main.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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:  Clock widget
+*
+*/
+
+// User includes
+#include "clockwidgetplugin.h"
+#include "clockwidget.h"
+
+/*!
+    \class ClockWidgetPlugin
+
+    This class is a wrapper plug-in DLL that references the custom widget DLLs that need to be part of the widget package. 
+*/
+
+
+/*!
+    Creates an instance of each of the types of custom widget supported in this plug-in. 
+    The code uses the parameter type to control which type of object must be created. 
+    It also sets the created object's name 
+*/
+QObject *ClockWidgetPlugin::createObject(const QString &type, const QString &name)
+{
+     if (type == ClockWidget::staticMetaObject.className()) {
+        QObject *object = new ClockWidget();
+        object->setObjectName(name);
+        return object;
+    }
+    return 0;
+}
+
+/*!
+    Get a QMetaObject for each custom widget and add it to the list of supported objects. 
+    A QMetaObject pointer must be added for every custom widget that is created by the plug-in.
+*/ 
+QList<const QMetaObject *> ClockWidgetPlugin::supportedObjects()
+{
+    QList<const QMetaObject *> list;
+    list.append( &ClockWidget::staticMetaObject );
+    return list;
+}
+
+// End of file  --Don't remove this.
--- a/clock/clockui/clockwidget/inc/analogclock.h	Mon May 03 12:30:32 2010 +0300
+++ /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: 
-*
-*/
-
-// analogclock.h
-
-#ifndef ANALOGCLOCK_H
-#define ANALOGCLOCK_H
-
-#include <QObject>
-
-#include <hbwidget.h>
-#include <hbeffect.h>
-
-class QGraphicsWidget;
-class QStyleOptionGraphicsItem;
-class QPainter;
-class HbIconItem;
-class HbStackedLayout;
-
-class AnalogClock : public HbWidget
-{
-	Q_OBJECT
-
-public:
-	AnalogClock(QGraphicsWidget *parent = 0);
-	~AnalogClock();
-
-public:
-	void showNext();
-	void showPrev();
-
-public slots:
-	void updateDisplay();
-
-protected:
-	void paint(QPainter *painter,
-	           const QStyleOptionGraphicsItem *option,
-	           QWidget *widget = 0);
-
-private:
-	void constructImages();
-
-private slots:
-	void widget_hidden(const HbEffect::EffectStatus &status);
-
-private:
-	QString mFaceName;
-	QString mHourName;
-	QString mMinuteName;
-
-	HbIconItem *mClockFace;
-	HbIconItem *mHourHand;
-	HbIconItem *mMinuteHand;
-	HbStackedLayout* mParentLayout;
-
-	bool mIsDay;
-	bool mFirstDraw;
-	int mCurrentClock;
-};
-
-#endif // ANALOGCLOCK_P_H
-
-// End of file
--- a/clock/clockui/clockwidget/inc/clockwidgetdefines.h	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +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:
- * Common definition file for clockwidget component.
- *
- */
- 
-#ifndef CLOCKWIDGETDEFINES_H
-#define CLOCKWIDGETDEFINES_H
-
-// System includes
-#include <qglobal.h>
- 
-#ifdef CLOCKWIDGET_LIB
-#   define CLOCKWIDGET_EXPORT Q_DECL_EXPORT
-#else
-#   define CLOCKWIDGET_EXPORT Q_DECL_IMPORT
-#endif
- 
-#endif // CLOCKWIDGETDEFINES_H
- 
-// End of file	--Don't remove this.
--- a/clock/clockui/clockwidget/inc/digitalclock.h	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +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: 
-*
-*/
-
-// digitalclock.h
-
-#ifndef DIGITALCLOCK_H
-#define DIGITALCLOCK_H
-
-#include <QObject>
-
-#include <hbwidget.h>
-#include <hbeffect.h>
-
-class QGraphicsLinearLayout;
-class QGraphicsWidget;
-class HbIconItem;
-class HbLabel;
-
-class DigitalClock : public HbWidget
-{
-    Q_OBJECT
-
-public:
-    DigitalClock(QGraphicsWidget *parent = 0);
-    ~DigitalClock();
-
-public:
-    void updateDisplay();
-
-public slots:
-	void fadeBackIn(const HbEffect::EffectStatus &status);
-
-private:
-    void constructImages();
-
-private:
-    QGraphicsLinearLayout *mDigitalClockLayout;
-    QGraphicsLinearLayout *mWidgetLayout;
-    QGraphicsWidget *mDummyWidget;
-
-    HbIconItem *mPositionOne;
-    HbIconItem *mPositionTwo;
-    HbIconItem *mPositionThree;
-    HbIconItem *mPositionFour;
-    HbIconItem *mSeperator;
-    HbLabel *mAmPmLabel;
-
-    bool m24HourFormat;
-};
-
-#endif // DIGITALCLOCK_H
-
-// End of file
--- a/clock/clockui/clockwidget/inc/skinnableclock.h	Mon May 03 12:30:32 2010 +0300
+++ /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:
- *
- */
-
-#ifndef SKINNABLECLOCK_H
-#define SKINNABLECLOCK_H
-
-#include <QObject>
-#include <hbwidget.h>
-#include <hbeffect.h>
-
-#include "clockwidgetdefines.h"
-
-class QTimer;
-class QEvent;
-class QGraphicsLinearLayout;
-class AnalogClock;
-class DigitalClock;
-class TimezoneClient;
-class SettingsUtility;
-
-class CLOCKWIDGET_EXPORT SkinnableClock : public HbWidget
-{
-    Q_OBJECT
-
-public:
-    SkinnableClock(QGraphicsItem *parent = 0);
-    ~SkinnableClock();
-
-public:
-    bool clockTypeAnalog();
-    bool clockFormat24();
-
-public slots:
-    void updateDisplay(bool newTimer = true);
-    void updateClockType();
-    void finishChangeType(const HbEffect::EffectStatus &status);
-
-protected:
-//	bool sceneEvent(QEvent *event);
-	void paint(QPainter *painter,
-			   const QStyleOptionGraphicsItem *option,
-			   QWidget *widget = 0);
-
-private:
-    void setClockTypeAnalog(bool analog);
-    void startChangeType();
-
-private:
-    QTimer *mTickTimer;
-    QGraphicsLinearLayout *mLayout;
-
-    AnalogClock *mAnalogClock;
-    DigitalClock *mDigitalClock;
-    TimezoneClient *mClient;
-    SettingsUtility *mSettingsUtility;
-
-    bool mAnalog;
-    bool mClockFormat24;
-    bool mUpdateNeeded;
-};
-
-#endif // SKINNABLECLOCK_H
-
-// End of file
--- a/clock/clockui/clockwidget/src/analogclock.cpp	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,241 +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: 
-*
-*/
-
-// analogclock.cpp
-
-#include <QTime>
-#include <QTimer>
-#include <QPainter>
-#include <QStyleOptionGraphicsItem>
-#include <QGraphicsWidget>
-#include <hbiconitem.h>
-#include <hbstackedlayout.h>
-
-#include "analogclock.h"
-
-const QString KPrefix(":/clock/");
-const QString KUnderScore("_");
-const QString KFaceDay(":/clock/analog_face_day");
-const QString KHourDay(":/clock/hour_hand_day");
-const QString KMinDay(":/clock/minute_hand_day");
-const QString KFaceNight("analog_face_night");
-const QString KHourNight("hour_hand_night");
-const QString KMinNight("minute_hand_night");
-
-AnalogClock::AnalogClock(QGraphicsWidget *parent)
-:HbWidget(parent),
- mIsDay(true),
- mFirstDraw(true),
- mCurrentClock(0)
-{
-	// Add the required effects.
-	HbEffect::add(this, 
-	              QString(":/clock/hide_widget.fxml"), 
-	              "hide_widget");
-	
-	// Construct the images here.
-	constructImages();
-
-	// A single shot timer after which the hands are updated to show the
-	// correct time.
-	// TODO: QTimer::singleShot(500, this, SLOT(updateDisplay()));
-}
-
-AnalogClock::~AnalogClock()
-{
-	// No implementation yet.
-}
-
-void AnalogClock::showPrev()
-{
-	mCurrentClock--;
-	if (mCurrentClock < 0) {
-		mCurrentClock = 3;
-	}
-	// Start the effect.
-	HbEffect::start(this, "hide_widget", this, "widget_hidden");
-}
-
-void AnalogClock::showNext()
-{
-	mCurrentClock++;
-	mCurrentClock = mCurrentClock % 4;
-	
-	// Start the effect.
-	HbEffect::start(this, "hide_widget", this, "widget_hidden");
-}
-
-void AnalogClock::updateDisplay()
-{
-	// Take the current time.
-	bool changeClock = false;
-	QTime timeNow = QTime::currentTime();
-	int hourNow = timeNow.hour();
-
-	if (17 < hourNow || 6 > hourNow) {
-		if (mIsDay) {
-			// It was previously day. We need to change the clock
-			changeClock = true;
-		}
-		mIsDay = false;
-	} else {
-		if (!mIsDay) {
-			// It was previously night. We need to change the clock
-			changeClock = true;
-		}
-		mIsDay = true;
-	}
-
-	if (changeClock) {
-		if (mIsDay) {
-			mClockFace->setIconName(mFaceName);
-			mHourHand->setIconName(mHourName);
-			mMinuteHand->setIconName(mMinuteName);
-		} else {
-			mClockFace->setIconName(mFaceName);
-			mHourHand->setIconName(mHourName);
-			mMinuteHand->setIconName(mMinuteName);
-		}
-	}
-
-	// Calculate the rotation angle for hour hand.
-	qreal hourAngle = 30.0*((timeNow.hour()+timeNow.minute()/60.0)); 
-	hourAngle += 270;
-
-	// Rotate the hour hand.
-	mHourHand->setTransform(
-			QTransform().translate(mHourHand->iconItemSize().width()/2, 
-					mHourHand->iconItemSize().height()/2).rotate(hourAngle)
-					.translate(-mHourHand->iconItemSize().width()/2,
-							-mHourHand->iconItemSize().height()/2));
-
-	// Rotate the minute hand.
-	mMinuteHand->setTransform(
-			QTransform().translate(mMinuteHand->iconItemSize().width()/2, 
-					mMinuteHand->iconItemSize().height()/2)
-					.rotate(6.0*(timeNow.minute()+timeNow.second()/60.0))
-					.translate(-mMinuteHand->iconItemSize().width()/2,
-							-mMinuteHand->iconItemSize().height()/2));
-}
-
-void AnalogClock::paint(QPainter *painter, 
-                        const QStyleOptionGraphicsItem *option,
-                        QWidget *widget)
-{
-	Q_UNUSED(painter)
-	Q_UNUSED(option)
-	Q_UNUSED(widget)
-	
-	if (mFirstDraw) {
-		mFirstDraw = false;
-		
-		QTime timeNow = QTime::currentTime();
-		int hourNow = timeNow.hour();
-
-		// Calculate the rotation angle for hour hand.
-		qreal hourAngle = 30.0 * ((timeNow.hour() + timeNow.minute() / 60.0)); 
-		hourAngle += 270;
-
-		// Rotate the hour hand.
-		mHourHand->setTransform(
-				QTransform().translate(mHourHand->iconItemSize().width()/2, 
-						mHourHand->iconItemSize().height()/2).rotate(hourAngle)
-						.translate(-mHourHand->iconItemSize().width()/2,
-								-mHourHand->iconItemSize().height()/2));
-
-		// Rotate the minute hand.
-		mMinuteHand->setTransform(
-				QTransform().translate(mMinuteHand->iconItemSize().width()/2, 
-						mMinuteHand->iconItemSize().height()/2)
-						.rotate(6.0*(timeNow.minute()+timeNow.second()/60.0))
-						.translate(-mMinuteHand->iconItemSize().width()/2,
-								-mMinuteHand->iconItemSize().height()/2));
-		
-	}
-}
-
-void AnalogClock::constructImages()
-{
-	mFaceName.append(KFaceDay);
-	mHourName.append(KHourDay);
-	mMinuteName.append(KMinDay);
-	
-	mParentLayout = new HbStackedLayout(this);
-
-	mClockFace = new HbIconItem(mFaceName, this);
-	mHourHand = new HbIconItem(mHourName, this);
-	mMinuteHand = new HbIconItem(mMinuteName, this);
-
-	mParentLayout->addItem(mClockFace);
-	mParentLayout->addItem(mHourHand);
-	mParentLayout->addItem(mMinuteHand);
-
-	setLayout(mParentLayout);
-}
-
-void AnalogClock::widget_hidden(const HbEffect::EffectStatus &status)
-{
-	Q_UNUSED(status)
-	
-	QString clockNum;
-	clockNum = clockNum.setNum(mCurrentClock);
-	
-	mFaceName.clear();
-	mHourName.clear();
-	mMinuteName.clear();
-	
-	if (mIsDay) {
-		mFaceName.append(KPrefix);
-		mFaceName.append(clockNum);
-		mFaceName.append(KUnderScore);
-		mFaceName.append(KFaceDay);
-
-		mHourName.append(KPrefix);
-		mHourName.append(clockNum);
-		mHourName.append(KUnderScore);
-		mHourName.append(KHourDay);
-
-		mMinuteName.append(KPrefix);
-		mMinuteName.append(clockNum);
-		mMinuteName.append(KUnderScore);
-		mMinuteName.append(KMinDay);
-	} else {
-		mFaceName.append(KPrefix);
-		mFaceName.append(clockNum);
-		mFaceName.append(KUnderScore);
-		mFaceName.append(KFaceNight);
-
-		mHourName.append(KPrefix);
-		mHourName.append(clockNum);
-		mHourName.append(KUnderScore);
-		mHourName.append(KHourNight);
-
-		mMinuteName.append(KPrefix);
-		mMinuteName.append(clockNum);
-		mMinuteName.append(KUnderScore);
-		mMinuteName.append(KMinNight);
-	}
-	
-	mClockFace->setIconName(mFaceName);
-	mHourHand->setIconName(mHourName);
-	mMinuteHand->setIconName(mMinuteName);
-	
-	HbEffect::add(this, QString(":/clock/show_widget.fxml"), "show_widget");
-	HbEffect::start(this, "show_widget");
-}
-
-// End of file
--- a/clock/clockui/clockwidget/src/digitalclock.cpp	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,273 +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: 
-*
-*/
-
-// digitalclock.cpp
-
-#include <QGraphicsLinearLayout>
-#include <QGraphicsWidget>
-#include <QWidget>
-#include <QTime>
-
-#include <hbiconitem.h>
-#include <hblabel.h>
-#include <hbaction.h>
-
-#include "digitalclock.h"
-
-DigitalClock::DigitalClock(QGraphicsWidget *parent)
-:HbWidget(parent),
-m24HourFormat(false)
-{
-	constructImages();
-}
-
-DigitalClock::~DigitalClock()
-{
-	// No implementation yet.
-}
-
-void DigitalClock::updateDisplay()
-{
-	QTime currentTime = QTime::currentTime();
-	int currentHour, currentMin;
-	if (!m24HourFormat && currentTime.hour() > 12) {
-		currentHour = currentTime.hour() % 12;
-	} else {
-		currentHour = currentTime.hour();
-	}
-	currentMin = currentTime.minute();
-
-	int numAt1, numAt2, numAt3, numAt4;
-	numAt1 = currentHour / 10;
-	numAt2 = currentHour % 10;
-	numAt3 = currentMin / 10;
-	numAt4 = currentMin % 10;
-
-	// The first digit.
-	if (m24HourFormat) {
-		switch (numAt1) {
-			case 0:
-				mPositionOne->setIconName(":/clock/digit_zero");
-				break;
-			case 1:
-				mPositionOne->setIconName(":/clock/digit_one");
-				break;
-			case 2:
-				mPositionOne->setIconName(":/clock/digit_two");
-				break;
-			default:
-				break;
-		}
-	} else {
-		switch (numAt1) {
-			case 0:
-				mPositionOne->setIconName(":/clock/digit_zero");
-				break;
-			case 1:
-				mPositionOne->setIconName(":/clock/digit_one");
-				break;
-			default:
-				break;
-		}
-	}
-
-	// The second digit.
-	switch(numAt2) {
-		case 0:
-			mPositionTwo->setIconName(":/clock/digit_zero");
-			break;
-		case 1:
-			mPositionTwo->setIconName(":/clock/digit_one");
-			break;
-		case 2:
-			mPositionTwo->setIconName(":/clock/digit_two");
-			break;
-		case 3:
-			mPositionTwo->setIconName(":/clock/digit_three");
-			break;
-		case 4:
-			mPositionTwo->setIconName(":/clock/digit_four");
-			break;
-		case 5:
-			mPositionTwo->setIconName(":/clock/digit_five");
-			break;
-		case 6:
-			mPositionTwo->setIconName(":/clock/digit_six");
-			break;
-		case 7:
-			mPositionTwo->setIconName(":/clock/digit_seven");
-			break;
-		case 8:
-			mPositionTwo->setIconName(":/clock/digit_eight");
-			break;
-		case 9:
-			mPositionTwo->setIconName(":/clock/digit_nine");
-			break;
-		default:
-			break;
-	}
-
-	// The separator.
-	mSeperator->setIconName(":/clock/sep_colon");
-	// Start the blinking effect.
-	HbEffect::start(mSeperator, "fade_out", this, "fadeBackIn");
-
-	// The third digit.
-	switch (numAt3) {
-		case 0:
-			mPositionThree->setIconName(":/clock/digit_zero");
-			break;
-		case 1:
-			mPositionThree->setIconName(":/clock/digit_one");
-			break;
-		case 2:
-			mPositionThree->setIconName(":/clock/digit_two");
-			break;
-		case 3:
-			mPositionThree->setIconName(":/clock/digit_three");
-			break;
-		case 4:
-			mPositionThree->setIconName(":/clock/digit_four");
-			break;
-		case 5:
-			mPositionThree->setIconName(":/clock/digit_five");
-			break;
-		case 6:
-			mPositionThree->setIconName(":/clock/digit_six");
-			break;
-		case 7:
-			mPositionThree->setIconName(":/clock/digit_seven");
-			break;
-		case 8:
-			mPositionThree->setIconName(":/clock/digit_eight");
-			break;
-		case 9:
-			mPositionThree->setIconName(":/clock/digit_nine");
-			break;
-		default:
-			break;
-	}
-
-	// The fourth digit.
-	switch (numAt4) {
-		case 0:
-			mPositionFour->setIconName(":/clock/digit_zero");
-			break;
-		case 1:
-			mPositionFour->setIconName(":/clock/digit_one");
-			break;
-		case 2:
-			mPositionFour->setIconName(":/clock/digit_two");
-			break;
-		case 3:
-			mPositionFour->setIconName(":/clock/digit_three");
-			break;
-		case 4:
-			mPositionFour->setIconName(":/clock/digit_four");
-			break;
-		case 5:
-			mPositionFour->setIconName(":/clock/digit_five");
-			break;
-		case 6:
-			mPositionFour->setIconName(":/clock/digit_six");
-			break;
-		case 7:
-			mPositionFour->setIconName(":/clock/digit_seven");
-			break;
-		case 8:
-			mPositionFour->setIconName(":/clock/digit_eight");
-			break;
-		case 9:
-			mPositionFour->setIconName(":/clock/digit_nine");
-			break;
-		default:
-			break;
-	}
-
-	if (!m24HourFormat) {
-		mAmPmLabel->setPlainText(currentTime.toString("ap"));
-	} else {
-		mAmPmLabel->setPlainText((""));
-	}
-}
-
-void DigitalClock::fadeBackIn(const HbEffect::EffectStatus &status)
-{
-	Q_UNUSED(status)
-
-	HbEffect::start(mSeperator, "fade_in");
-}
-
-void DigitalClock::constructImages()
-{
-	mDummyWidget = new QGraphicsWidget(this);
-	mWidgetLayout = new QGraphicsLinearLayout(Qt::Vertical);
-	mDigitalClockLayout = 
-		new QGraphicsLinearLayout(Qt::Horizontal, mDummyWidget);
-
-	// The icon at the first position.
-	mPositionOne = new HbIconItem(QString(), mDummyWidget);
-	mPositionOne->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
-	mDigitalClockLayout->addItem(mPositionOne);
-
-	// The icon at the second position.
-	mPositionTwo = new HbIconItem(QString(), mDummyWidget);
-	mPositionTwo->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
-	mDigitalClockLayout->addItem(mPositionTwo);
-
-	// The icon for separator.
-	mSeperator = new HbIconItem(QString(), mDummyWidget);
-	mSeperator->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
-	mDigitalClockLayout->addItem(mSeperator);
-
-	// The icon at the third position.
-	mPositionThree = new HbIconItem(QString(), mDummyWidget);
-	mPositionThree->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
-	mDigitalClockLayout->addItem(mPositionThree);
-
-	// The icon at the fourth position.
-	mPositionFour = new HbIconItem(QString(), mDummyWidget);
-	mPositionFour->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
-	mDigitalClockLayout->addItem(mPositionFour);
-
-	mDummyWidget->setLayout(mDigitalClockLayout);
-
-	mAmPmLabel = new HbLabel((""), this);
-	//mAmPmLabel->setLogicalFont(Hb::FontPrimarySmall);
-	mAmPmLabel->setAlignment(Qt::AlignRight);
-
-	mWidgetLayout->addItem(mDummyWidget);
-	mWidgetLayout->addItem(mAmPmLabel);
-	
-	QGraphicsLinearLayout *layout = 
-		new QGraphicsLinearLayout(Qt::Horizontal, this);
-	layout->addStretch(100);
-	layout->addItem(mWidgetLayout);
-	layout->addStretch(100);
-
-	setLayout(layout);
-	
-	// Add the blinking effect to the separator.
-	HbEffect::add(mSeperator, 
-	              QString(":/clock/fade_out.fxml"), 
-	              "fade_out");
-	HbEffect::add(mSeperator, 
-	              QString(":/clock/fade_in.fxml"), 
-	              "fade_in");
-}
-
-// End of file
--- a/clock/clockui/clockwidget/src/skinnableclock.cpp	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,242 +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:
-*
-*/
-
-// skinnableclock.cpp
-
-#include <QTimer>
-#include <QTime>
-#include <QGraphicsLinearLayout>
-#include <hbaction.h>
-
-#include "skinnableclock.h"
-#include "analogclock.h"
-#include "digitalclock.h"
-#include "timezoneclient.h"
-#include "settingsutility.h"
-
-SkinnableClock::SkinnableClock(QGraphicsItem *parent)
-:HbWidget(parent),
- mAnalogClock(0),
- mDigitalClock(0),
- mAnalog(true),
- mClockFormat24(true),
- mUpdateNeeded(true)
-{
-	// Enable the gestures for the widget and subscribe for "PAN" gestures.
-/*	QApplication::setAttribute(Qt::AA_EnableGestures);
-	grabGesture(Qt::PanGesture);*/
-
-	qDebug("clock: SkinnableClock::SkinnableClock() -->");
-
-	// Construct the settings utility.
-	mSettingsUtility = new SettingsUtility(this);
-
-	qDebug("clock: SkinnableClock::SkinnableClock() - constructed settingsutility.");
-
-	// Construct the layout and the widgets.
-	mLayout = new QGraphicsLinearLayout(Qt::Vertical, this);
-	mAnalogClock = new AnalogClock(this);
-	mDigitalClock = new DigitalClock(this);
-
-    // Set the clock type according to the seetings.
-	// And construct the corresponding widget.
-	QStringList clockTypeList;
-	int typeIndex = mSettingsUtility->clockType(clockTypeList);
-	if (0 == typeIndex) {
-		setClockTypeAnalog(true);
-    } else {
-    	setClockTypeAnalog(false);
-    }
-
-    setLayout(mLayout);
-
-    // Add the required effects.
-    HbEffect::add(mAnalogClock,
-                  QString(":/clock/disappear.fxml"),
-                  "disappear");
-    HbEffect::add(mDigitalClock,
-                  QString(":/clock/disappear.fxml"),
-                  "disappear");
-    HbEffect::add(mAnalogClock,
-                  QString(":/clock/appear.fxml"),
-                  "appear");
-    HbEffect::add(mDigitalClock,
-                  QString(":/clock/appear.fxml"),
-                  "appear");
-
-    mClient = new TimezoneClient(this);
-    qDebug("clock: SkinnableClock::SkinnableClock() - constructed tzclient");
-
-    connect(mClient, SIGNAL(timechanged()),
-            this, SLOT(updateDisplay()));
-    connect(mClient, SIGNAL(timechanged()),
-            this, SLOT(updateClockType()));
-
-    // Start a timer.
-    mTickTimer = new QTimer(this);
-    QObject::connect(mTickTimer, SIGNAL(timeout()),
-                     this, SLOT(updateDisplay()));
-    // TODO: mTickTimer->start(60000 - 1000 * QTime::currentTime().second());
-    mTickTimer->start(1000);
-
-    qDebug("clock: SkinnableClock::SkinnableClock() <--");
-}
-
-SkinnableClock::~SkinnableClock()
-{
-    // No implementation yet.
-}
-
-
-bool SkinnableClock::clockTypeAnalog()
-{
-    return mAnalog;
-}
-
-bool SkinnableClock::clockFormat24()
-{
-    return mClockFormat24;
-}
-
-void SkinnableClock::updateDisplay(bool newTimer)
-{
-	if (newTimer) {
-		// Start the timer again for 1 minute.
-		// TODO: mTickTimer->start(60000 - 1000 * QTime::currentTime().second());
-		mTickTimer->start(1000);
-	}
-
-	if (mAnalog) {
-		mAnalogClock->updateDisplay();
-	} else {
-		mDigitalClock->updateDisplay();
-	}
-}
-
-void SkinnableClock::updateClockType()
-{
-	// Update the clock type according to the seetings.
-	QStringList clockTypeList;
-	int typeIndex = mSettingsUtility->clockType(clockTypeList);
-
-	if ((mAnalog && 1 == typeIndex) || (!mAnalog && 0 == typeIndex)) {
-	    mUpdateNeeded = true;
-	    mAnalog = !mAnalog;
-		mDigitalClock->hide();
-		mAnalogClock->hide();
-    } else {
-    	mUpdateNeeded = false;
-    }
-}
-
-/*bool SkinnableClock::sceneEvent(QEvent *event)
-{
-	if (event->type() == QEvent::GraphicsSceneGesture) {
-		QGraphicsSceneGestureEvent *gestureEvent =
-			static_cast<QGraphicsSceneGestureEvent*>(event);
-		if (const QGesture *gesture = gestureEvent->gesture(Qt::PanGesture)) {
-			const QPanningGesture *panningGesture =
-				static_cast<const QPanningGesture*>(gesture);
-
-			if (Qt::GestureFinished == gesture->state()) {
-				if (Qt::LeftDirection == panningGesture->direction()) {
-					if (mAnalog) {
-						mAnalogClock->showPrev();
-					}
-				} else if (Qt::RightDirection == panningGesture->direction()) {
-					if (mAnalog) {
-						mAnalogClock->showNext();
-					}
-				} else if (Qt::UpDirection == panningGesture->direction() ||
-						Qt::DownDirection == panningGesture->direction()) {
-					startChangeType();
-				}
-				event->accept();
-				return true;
-			}
-			event->accept();
-			return true;
-		}
-	}
-	return HbWidget::sceneEvent(event);
-}*/
-
-void SkinnableClock::paint(QPainter *painter,
-						   const QStyleOptionGraphicsItem *option,
-						   QWidget *widget)
-{
-	Q_UNUSED(painter)
-	Q_UNUSED(option)
-	Q_UNUSED(widget)
-
-	if (mUpdateNeeded) {
-	    setClockTypeAnalog(mAnalog);
-	    mUpdateNeeded = !mUpdateNeeded;
-    }
-}
-
-void SkinnableClock::setClockTypeAnalog(bool analog)
-{
-	if (analog) {
-		mDigitalClock->hide();
-		mLayout->removeItem(mDigitalClock);
-		mAnalogClock->show();
-		mLayout->addItem(mAnalogClock);
-	} else {
-		mAnalogClock->hide();
-		mLayout->removeItem(mAnalogClock);
-		mDigitalClock->show();
-		mLayout->addItem(mDigitalClock);
-	}
-
-	mAnalog = analog;
-
-	// Update the display.
-	updateDisplay(false);
-}
-
-void SkinnableClock::startChangeType()
-{
-	if (mAnalog) {
-		HbEffect::start(mAnalogClock,
-		                "disappear",
-		                this,
-		                "finishChangeType");
-	} else {
-		HbEffect::start(mDigitalClock,
-		                "disappear",
-		                this,
-		                "finishChangeType");
-	}
-}
-
-void SkinnableClock::finishChangeType(const HbEffect::EffectStatus &status)
-{
-	Q_UNUSED(status)
-
-	setClockTypeAnalog(!mAnalog);
-
-	if (mAnalog) {
-		HbEffect::start(mAnalogClock,
-		                "appear");
-	} else {
-		HbEffect::start(mDigitalClock,
-		                "appear");
-	}
-}
-
-// End of file
--- a/clock/clockui/eabi/clockalarmeditoru.def	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-EXPORTS
-	_ZN16ClockAlarmEditor15showAlarmEditorEv @ 1 NONAME
-	_ZN16ClockAlarmEditorC1EiP15QGraphicsWidget @ 2 NONAME
-	_ZN16ClockAlarmEditorC2EiP15QGraphicsWidget @ 3 NONAME
-	_ZN16ClockAlarmEditorD0Ev @ 4 NONAME
-	_ZN16ClockAlarmEditorD1Ev @ 5 NONAME
-	_ZN16ClockAlarmEditorD2Ev @ 6 NONAME
-	_ZThn16_N16ClockAlarmEditorD0Ev @ 7 NONAME
-	_ZThn16_N16ClockAlarmEditorD1Ev @ 8 NONAME
-	_ZThn8_N16ClockAlarmEditorD0Ev @ 9 NONAME
-	_ZThn8_N16ClockAlarmEditorD1Ev @ 10 NONAME
-
--- a/clock/clockui/eabi/clockappcontrolleru.def	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-EXPORTS
-	_ZN13ClockMainView9setupViewER20ClockAppControllerIfP14ClockDocLoader @ 1 NONAME
-	_ZN13ClockMainViewC1EP13QGraphicsItem @ 2 NONAME
-	_ZN13ClockMainViewC2EP13QGraphicsItem @ 3 NONAME
-	_ZN13ClockMainViewD0Ev @ 4 NONAME
-	_ZN13ClockMainViewD1Ev @ 5 NONAME
-	_ZN13ClockMainViewD2Ev @ 6 NONAME
-	_ZN14ClockWorldView9setupViewER20ClockAppControllerIfP14ClockDocLoader @ 7 NONAME
-	_ZN14ClockWorldViewC1EP13QGraphicsItem @ 8 NONAME
-	_ZN14ClockWorldViewC2EP13QGraphicsItem @ 9 NONAME
-	_ZN14ClockWorldViewD0Ev @ 10 NONAME
-	_ZN14ClockWorldViewD1Ev @ 11 NONAME
-	_ZN14ClockWorldViewD2Ev @ 12 NONAME
-	_ZThn16_N13ClockMainViewD0Ev @ 13 NONAME
-	_ZThn16_N13ClockMainViewD1Ev @ 14 NONAME
-	_ZThn16_N14ClockWorldViewD0Ev @ 15 NONAME
-	_ZThn16_N14ClockWorldViewD1Ev @ 16 NONAME
-	_ZThn8_N13ClockMainViewD0Ev @ 17 NONAME
-	_ZThn8_N13ClockMainViewD1Ev @ 18 NONAME
-	_ZThn8_N14ClockWorldViewD0Ev @ 19 NONAME
-	_ZThn8_N14ClockWorldViewD1Ev @ 20 NONAME
-
--- a/clock/clockui/eabi/clockwidgetprotou.def	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-EXPORTS
-	_ZN14SkinnableClock11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME
-	_ZN14SkinnableClock11qt_metacastEPKc @ 2 NONAME
-	_ZN14SkinnableClock13clockFormat24Ev @ 3 NONAME
-	_ZN14SkinnableClock13updateDisplayEb @ 4 NONAME
-	_ZN14SkinnableClock15clockTypeAnalogEv @ 5 NONAME
-	_ZN14SkinnableClock15startChangeTypeEv @ 6 NONAME
-	_ZN14SkinnableClock15updateClockTypeEv @ 7 NONAME
-	_ZN14SkinnableClock16finishChangeTypeERKN8HbEffect12EffectStatusE @ 8 NONAME
-	_ZN14SkinnableClock16staticMetaObjectE @ 9 NONAME DATA 16
-	_ZN14SkinnableClock18setClockTypeAnalogEb @ 10 NONAME
-	_ZN14SkinnableClock19getStaticMetaObjectEv @ 11 NONAME
-	_ZN14SkinnableClock5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 12 NONAME
-	_ZN14SkinnableClockC1EP13QGraphicsItem @ 13 NONAME
-	_ZN14SkinnableClockC2EP13QGraphicsItem @ 14 NONAME
-	_ZN14SkinnableClockD0Ev @ 15 NONAME
-	_ZN14SkinnableClockD1Ev @ 16 NONAME
-	_ZN14SkinnableClockD2Ev @ 17 NONAME
-	_ZNK14SkinnableClock10metaObjectEv @ 18 NONAME
-	_ZTI14SkinnableClock @ 19 NONAME
-	_ZTV14SkinnableClock @ 20 NONAME
-	_ZThn16_N14SkinnableClockD0Ev @ 21 NONAME
-	_ZThn16_N14SkinnableClockD1Ev @ 22 NONAME
-	_ZThn8_N14SkinnableClock5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 23 NONAME
-	_ZThn8_N14SkinnableClockD0Ev @ 24 NONAME
-	_ZThn8_N14SkinnableClockD1Ev @ 25 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/alarm/qtg_test_alarm.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
-	<rect fill="none" width="40" height="40"/>
-	<g>
-		<g>
-			<circle cx="30.819" cy="29.887" r="4.693"/>
-		</g>
-		<g>
-			<g>
-				<path d="M13.694,37.482c-0.165,0-0.318-0.063-0.437-0.181l0,0L8.09,32.133c-0.11-0.113-0.174-0.262-0.181-0.419l0,0
-					l-0.206-6.682c-1.64-1.418-4.903-4.7-5.305-9.255l0,0c-0.026-0.296-0.037-0.585-0.037-0.865l0,0
-					C2.359,11.884,3.728,9.006,6.322,6.42l0,0c2.55-2.561,5.41-3.906,8.438-3.904l0,0c0.279,0,0.554,0.015,0.826,0.035l0,0
-					c4.699,0.388,8.168,3.764,9.682,5.476l0,0l6.564-0.237c0.172-0.008,0.344,0.062,0.465,0.186l0,0l5.164,5.243
-					c0.238,0.241,0.234,0.631-0.004,0.869l0,0L14.13,37.304c-0.111,0.111-0.261,0.179-0.424,0.179l0,0
-					C13.702,37.482,13.698,37.482,13.694,37.482L13.694,37.482z"/>
-			</g>
-		</g>
-	</g>
-</g>
-</svg>
--- a/clock/data/alarm/qtg_test_noalarm.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
-	<rect fill="none" width="40" height="40"/>
-	<g>
-		<g>
-			<g>
-				<path d="M13.825,37.559c-0.165,0-0.319-0.064-0.436-0.183l0,0l-5.168-5.172c-0.111-0.109-0.175-0.261-0.178-0.414l0,0
-					l-0.21-6.685c-1.64-1.419-4.899-4.705-5.3-9.254l0,0c-0.024-0.268-0.034-0.533-0.034-0.788l0,0c0-1.236,0.252-2.438,0.678-3.599
-					l0,0c0.074-0.197,0.241-0.345,0.45-0.39l0,0c0.205-0.046,0.416,0.018,0.567,0.165l0,0l17.685,17.681
-					c0.117,0.115,0.184,0.272,0.182,0.438l0,0c0,0.168-0.064,0.321-0.182,0.438l0,0l-7.616,7.582
-					c-0.115,0.111-0.265,0.18-0.425,0.18l0,0C13.833,37.559,13.828,37.559,13.825,37.559L13.825,37.559z M3.32,12.115l0.436-0.436
-					L3.32,12.115L3.32,12.115z M28.57,22.271L10.712,4.412c-0.147-0.147-0.211-0.356-0.171-0.558l0,0
-					c0.04-0.203,0.178-0.371,0.369-0.448l0,0c1.281-0.537,2.616-0.812,3.978-0.808l0,0c0.282,0,0.56,0.009,0.835,0.032l0,0
-					c4.698,0.388,8.168,3.76,9.682,5.477l0,0l6.564-0.241c0.17-0.006,0.342,0.061,0.463,0.181l0,0l5.164,5.243
-					c0.238,0.237,0.235,0.631-0.003,0.868l0,0l-8.149,8.113c-0.121,0.118-0.279,0.179-0.437,0.179l0,0
-					C28.85,22.45,28.691,22.39,28.57,22.271L28.57,22.271z"/>
-			</g>
-		</g>
-		<g>
-			<g>
-				<g>
-					<path d="M33.783,37.381L2.408,6.006C2.294,5.892,2.228,5.731,2.228,5.57l0,0c0-0.164,0.067-0.322,0.181-0.436l0,0l2.516-2.516
-						c0.242-0.241,0.631-0.241,0.872,0l0,0l31.378,31.375c0.114,0.113,0.178,0.271,0.178,0.436l0,0c0,0.163-0.063,0.318-0.178,0.437
-						l0,0l-2.515,2.515c-0.118,0.117-0.272,0.181-0.437,0.181l0,0C34.055,37.562,33.901,37.498,33.783,37.381L33.783,37.381z"/>
-				</g>
-			</g>
-		</g>
-	</g>
-</g>
-</svg>
--- a/clock/data/alarm/qtg_test_repeat.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
-	<rect fill="none" width="40" height="40"/>
-	<g>
-		<path d="M20,37.582c-2.262,0.002-4.464-0.44-6.545-1.319l0,0c-2.005-0.848-3.807-2.064-5.348-3.603l0,0
-			c-1.538-1.541-2.749-3.338-3.604-5.345l0,0c-0.872-2.078-1.317-4.287-1.314-6.542l0,0c-0.003-2.264,0.442-4.467,1.32-6.548l0,0
-			c0.849-2,2.06-3.801,3.598-5.34l0,0c0.538-0.535,1.11-1.02,1.708-1.464l0,0l-2.634-0.47C7.03,6.925,6.896,6.843,6.809,6.717l0,0
-			c-0.086-0.126-0.121-0.281-0.092-0.43l0,0l0.606-3.396C7.377,2.577,7.677,2.368,7.99,2.427l0,0l8.119,1.445l1.702,0.304
-			c0.152,0.025,0.284,0.115,0.374,0.236l0,0c0.088,0.131,0.12,0.282,0.091,0.435l0,0l-0.31,1.695l-1.447,8.124
-			c-0.028,0.149-0.11,0.282-0.237,0.371l0,0c-0.126,0.088-0.281,0.123-0.429,0.094l0,0l-3.396-0.605
-			c-0.313-0.058-0.521-0.354-0.467-0.668l0,0l0.48-2.677c-0.391,0.296-0.761,0.613-1.105,0.96l0,0
-			c-1.125,1.117-2.003,2.425-2.619,3.876l0,0c-0.638,1.512-0.957,3.104-0.959,4.757l0,0c0.002,1.644,0.321,3.24,0.956,4.747l0,0
-			c0.62,1.46,1.498,2.765,2.623,3.886l0,0c1.117,1.122,2.423,1.999,3.882,2.62l0,0c1.513,0.637,3.105,0.955,4.754,0.958l0,0
-			c1.652-0.003,3.245-0.321,4.751-0.958l0,0c1.459-0.613,2.764-1.495,3.879-2.62l0,0c1.127-1.121,2.006-2.426,2.621-3.875l0,0
-			c0.633-1.518,0.955-3.114,0.955-4.758l0,0c0-1.653-0.322-3.245-0.951-4.752l0,0c-0.619-1.456-1.5-2.764-2.629-3.885l0,0
-			c-1.111-1.122-2.416-2.003-3.879-2.618l0,0c-0.139-0.065-0.249-0.171-0.307-0.316l0,0c-0.06-0.142-0.057-0.3,0.004-0.439l0,0
-			l1.346-3.181c0.06-0.139,0.174-0.25,0.315-0.307l0,0c0.143-0.06,0.3-0.056,0.439,0.003l0,0c2.009,0.857,3.804,2.073,5.341,3.604
-			l0,0c1.543,1.542,2.756,3.335,3.608,5.345l0,0l-0.53,0.225l0.53-0.225c0.878,2.079,1.317,4.282,1.317,6.546l0,0
-			c0,2.255-0.439,4.464-1.317,6.542l0,0c-0.853,2.007-2.065,3.804-3.608,5.345l0,0c-1.537,1.538-3.336,2.755-5.348,3.606l0,0
-			c-2.064,0.873-4.264,1.315-6.515,1.315l0,0C20.016,37.582,20.008,37.582,20,37.582L20,37.582z"/>
-	</g>
-</g>
-</svg>
--- a/clock/data/clock.qrc	Mon May 03 12:30:32 2010 +0300
+++ b/clock/data/clock.qrc	Mon Jun 28 15:22:02 2010 +0530
@@ -1,36 +1,7 @@
 <!DOCTYPE RCC><RCC version="1.0">
 	<qresource prefix="/clock">
-		<file alias="alarms.svg">toolbar/qtg_test_alarm.svg</file>
-		<file alias="world_clock.svg">toolbar/qtg_test_worldclock.svg</file>
-		<file alias="countdown_timer.svg">toolbar/qtg_test_timer.svg</file>
-		<file alias="stopwatch.svg">toolbar/qtg_test_stopwatch.svg</file>
-		
-		<file alias="alarm_repeat.svg">alarm/qtg_test_repeat.svg</file>
-		<file alias="alarm_active.svg">alarm/qtg_test_alarm.svg</file>
-		<file alias="alarm_inactive.svg">alarm/qtg_test_noalarm.svg</file>
-		<file alias="new_alarm.svg">toolbar/qtg_test_newalarm.svg</file>
-		
-		<file alias="add_new_city.svg">toolbar/qtg_test_addnewcity.svg</file>
 		<file alias="day.svg">worldclock/qtg_test_day.svg</file>
 		<file alias="night.svg">worldclock/qtg_test_night.svg</file>
-		<file alias="home_city.svg">worldclock/qtg_test_homecity.svg</file>
-		<file alias="city_default.svg">worldclock/qgn_test_city_default.svg</file>
-		<file alias="dst_icon.svg">worldclock/qgn_indi_dst_add.svg</file>
-		<file alias="find_icon.svg">worldclock/qgn_indi_find.svg</file>
-		
-		<file alias="start.svg">toolbar/qtg_test_start.svg</file>
-		<file alias="stop.svg">toolbar/qtg_test_stop.svg</file>
-		<file alias="reset.svg">toolbar/qtg_test_reset.svg</file>
-		<file alias="timer_background.svg">timer/qtg_graf_timer2_base.svg</file>
-		<file alias="timer_color_arc.svg">timer/knob_arc_indicator_1min.svg</file>
-		<file alias="timer_grabzone.svg">timer/qtg_graf_timer2_button.svg</file>
-		<file alias="timer_arrow.svg">timer/qtg_graf_timer2_arrow.svg</file>
-		<file alias="timer_hour_dial.svg">timer/qtg_graf_timer2_time24.svg</file>
-		<file alias="timer_min_sec_dial.svg">timer/qtg_graf_timer2_time60.svg</file>
-		
-		<file alias="lap.svg">toolbar/qtg_test_lap.svg</file>
-		<file alias="split.svg">toolbar/qtg_test_split.svg</file>
-		<file alias="analyze.svg">toolbar/qtg_test_analyze.svg</file>
 		
 		<file alias="hide_widget.fxml">effects/hide_widget.fxml</file>
 		<file alias="show_widget.fxml">effects/show_widget.fxml</file>
@@ -40,11 +11,5 @@
 		
 		<file alias="fade_out.fxml">effects/fade_out.fxml</file>
 		<file alias="fade_in.fxml">effects/fade_in.fxml</file>
-		
-		<file alias="timerknob_appear.fxml">effects/timerknob_appear.fxml</file>
-		<file alias="timerknob_disappear.fxml">effects/timerknob_disappear.fxml</file>
-	</qresource>
-	<qresource prefix="/translations">
-		<file alias="clock" >translations/clock.qm</file>
-	</qresource>
+	</qresource>	
 </RCC>
\ No newline at end of file
--- a/clock/data/timer/knob_arc_indicator_1min.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1016 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="250"
-   height="250"
-   id="svg2"
-   sodipodi:version="0.32"
-   inkscape:version="0.46"
-   version="1.0"
-   sodipodi:docname="knob_arc_indicator_1min.svg"
-   inkscape:output_extension="org.inkscape.output.svg.inkscape"
-   style="display:inline">
-  <sodipodi:namedview
-     id="base"
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1.0"
-     gridtolerance="10000"
-     guidetolerance="10"
-     objecttolerance="10"
-     inkscape:pageopacity="0.0"
-     inkscape:pageshadow="2"
-     inkscape:zoom="2.4288216"
-     inkscape:cx="114.10678"
-     inkscape:cy="117.22377"
-     inkscape:document-units="px"
-     inkscape:current-layer="layer4"
-     showgrid="false"
-     inkscape:window-width="1400"
-     inkscape:window-height="844"
-     inkscape:window-x="0"
-     inkscape:window-y="116"
-     showguides="true"
-     inkscape:guide-bbox="true" />
-  <defs
-     id="defs4">
-    <linearGradient
-       id="linearGradient5533">
-      <stop
-         style="stop-color:#2b2824;stop-opacity:1;"
-         offset="0"
-         id="stop5535" />
-      <stop
-         style="stop-color:#a1a2a4;stop-opacity:1"
-         offset="1"
-         id="stop5537" />
-    </linearGradient>
-    <linearGradient
-       id="linearGradient5519">
-      <stop
-         style="stop-color:#909093;stop-opacity:1;"
-         offset="0"
-         id="stop5521" />
-      <stop
-         style="stop-color:#000000;stop-opacity:1"
-         offset="1"
-         id="stop5523" />
-    </linearGradient>
-    <linearGradient
-       id="linearGradient4733">
-      <stop
-         style="stop-color:#000000;stop-opacity:1;"
-         offset="0"
-         id="stop4735" />
-      <stop
-         style="stop-color:#acaeae;stop-opacity:1;"
-         offset="1"
-         id="stop4737" />
-    </linearGradient>
-    <linearGradient
-       id="linearGradient2466">
-      <stop
-         style="stop-color:#ff2600;stop-opacity:1;"
-         offset="0"
-         id="stop2468" />
-      <stop
-         id="stop2474"
-         offset="1"
-         style="stop-color:#e75a00;stop-opacity:1;" />
-      <stop
-         style="stop-color:#007c00;stop-opacity:1;"
-         offset="1"
-         id="stop2476" />
-      <stop
-         style="stop-color:#000000;stop-opacity:0;"
-         offset="1"
-         id="stop2470" />
-    </linearGradient>
-    <inkscape:perspective
-       id="perspective4899"
-       inkscape:persp3d-origin="249.8669 : 181.20786 : 1"
-       inkscape:vp_z="456.36704 : 297.32504 : 1"
-       inkscape:vp_y="3.3985116e-14 : 662.03734 : 0"
-       inkscape:vp_x="43.366765 : 297.32504 : 1"
-       sodipodi:type="inkscape:persp3d" />
-    <inkscape:perspective
-       id="perspective4883"
-       inkscape:persp3d-origin="303.43512 : 280.77487 : 1"
-       inkscape:vp_z="509.93526 : 396.89205 : 1"
-       inkscape:vp_y="3.3985116e-14 : 662.03734 : 0"
-       inkscape:vp_x="96.93499 : 396.89205 : 1"
-       sodipodi:type="inkscape:persp3d" />
-    <linearGradient
-       id="linearGradient2385">
-      <stop
-         style="stop-color:#ffffff;stop-opacity:1;"
-         offset="0"
-         id="stop2387" />
-      <stop
-         id="stop2395"
-         offset="1"
-         style="stop-color:#a5a5a5;stop-opacity:1;" />
-      <stop
-         id="stop2393"
-         offset="1"
-         style="stop-color:#ffffff;stop-opacity:0.49803922;" />
-    </linearGradient>
-    <inkscape:perspective
-       sodipodi:type="inkscape:persp3d"
-       inkscape:vp_x="71.233258 : 350.13217 : 1"
-       inkscape:vp_y="3.3985116e-14 : 662.03734 : 0"
-       inkscape:vp_z="484.23353 : 350.13217 : 1"
-       inkscape:persp3d-origin="277.73339 : 234.01499 : 1"
-       id="perspective10" />
-    <radialGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2385"
-       id="radialGradient2391"
-       cx="-72.643829"
-       cy="-117.61642"
-       fx="-72.643829"
-       fy="-117.61642"
-       r="120.5285"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-0.9999999,1.0614315,-1.0614303,-1.0000013,-181.18208,-31.401928)" />
-    <clipPath
-       id="clipPath">
-      <path
-         sodipodi:type="arc"
-         style="opacity:0.85096154;fill:url(#radialGradient2391);fill-opacity:1"
-         id="path2383"
-         sodipodi:cx="16.303371"
-         sodipodi:cy="16.512436"
-         sodipodi:rx="120.5285"
-         sodipodi:ry="120.5285"
-         d="M 136.83187,16.512436 A 120.5285,120.5285 0 1 1 -104.22513,16.512436 A 120.5285,120.5285 0 1 1 136.83187,16.512436 z"
-         transform="matrix(0.8115942,0,0,0.8115942,111.76828,111.5986)" />
-    </clipPath>
-    <filter
-       id="filter"
-       height="2"
-       width="2"
-       x="-0.5"
-       y="-0.5">
-      <feGaussianBlur
-         stdDeviation="5.0"
-         id="feGaussianBlur2408" />
-    </filter>
-    <clipPath
-       id="clipPathd">
-      <path
-         sodipodi:type="arc"
-         style="opacity:0.85096154;fill:url(#radialGradient2391);fill-opacity:1"
-         id="path2413"
-         sodipodi:cx="16.303371"
-         sodipodi:cy="16.512436"
-         sodipodi:rx="120.5285"
-         sodipodi:ry="120.5285"
-         d="M 136.83187,16.512436 A 120.5285,120.5285 0 1 1 -104.22513,16.512436 A 120.5285,120.5285 0 1 1 136.83187,16.512436 z"
-         transform="matrix(0.8115942,0,0,0.8115942,111.76828,111.5986)" />
-    </clipPath>
-    <filter
-       id="filterC"
-       height="5"
-       width="5"
-       x="-0.5"
-       y="-0.5">
-      <feGaussianBlur
-         stdDeviation="2.0"
-         id="feGaussianBlur3793" />
-    </filter>
-    <radialGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2385"
-       id="radialGradient4903"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-0.7559523,0.8114315,-1.0670036,-0.9940524,-164.10905,-48.863191)"
-       cx="-72.643829"
-       cy="-117.61642"
-       fx="-72.643829"
-       fy="-117.61642"
-       r="120.5285" />
-    <radialGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2385"
-       id="radialGradient4933"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-0.8466666,0.9088033,-1.195044,-1.1133387,-185.75851,-56.708265)"
-       cx="-72.643829"
-       cy="-117.61642"
-       fx="-72.643829"
-       fy="-117.61642"
-       r="120.5285" />
-    <radialGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2385"
-       id="radialGradient5877"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-4.5357145,4.8685897,-6.4020222,-5.9643152,-968.54486,-253.83334)"
-       cx="-72.643829"
-       cy="-117.61642"
-       fx="-72.643829"
-       fy="-117.61642"
-       r="120.5285" />
-    <radialGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2385"
-       id="radialGradient5881"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-0.8466666,0.9088033,-1.195044,-1.1133387,77.539643,-176.97925)"
-       cx="-72.643829"
-       cy="-117.61642"
-       fx="-72.643829"
-       fy="-117.61642"
-       r="120.5285" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2466"
-       id="linearGradient2472"
-       x1="480.34833"
-       y1="134.11082"
-       x2="554.27698"
-       y2="211.64575"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="translate(-616.67308,-109.9914)" />
-    <clipPath
-       id="clipPathc">
-      <path
-         sodipodi:type="arc"
-         style="opacity:1;fill:url(#linearGradient2472);fill-opacity:1;stroke:none;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none"
-         id="path2464"
-         sodipodi:cx="-96.655701"
-         sodipodi:cy="60.182178"
-         sodipodi:rx="55.897274"
-         sodipodi:ry="55.897274"
-         d="M -40.758534,60.291552 A 55.897274,55.897274 0 1 1 -40.758439,60.21902 L -96.655701,60.182178 z"
-         sodipodi:start="0.0019566857"
-         sodipodi:end="6.2838444"
-         transform="matrix(0.3229167,0,0,0.3229167,155.81608,105.37957)" />
-    </clipPath>
-    <filter
-       id="filter6"
-       height="3.7"
-       width="2"
-       x="-0.5"
-       y="-0.5">
-      <feGaussianBlur
-         stdDeviation="8.0"
-         id="feGaussianBlur2512" />
-    </filter>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient4733"
-       id="linearGradient4739"
-       x1="165.19823"
-       y1="53.941807"
-       x2="125.1866"
-       y2="124.23114"
-       gradientUnits="userSpaceOnUse" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient5519"
-       id="linearGradient5525"
-       x1="-37.738914"
-       y1="12.326055"
-       x2="-22.708267"
-       y2="25.246382"
-       gradientUnits="userSpaceOnUse" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient5519"
-       id="linearGradient5529"
-       gradientUnits="userSpaceOnUse"
-       x1="-37.738914"
-       y1="12.326055"
-       x2="-22.708267"
-       y2="25.246382"
-       gradientTransform="matrix(2,0,0,2,32.019784,-17.932287)" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient5533"
-       id="linearGradient5539"
-       x1="-87.339493"
-       y1="29.467791"
-       x2="-64.849571"
-       y2="47.590733"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0.9208633,0,0,0.9208633,-5.9441111,2.9194824)" />
-    <linearGradient
-       id="linearGradient2466-786">
-      <stop
-         style="stop-color:#00b000;stop-opacity:1;"
-         offset="0"
-         id="stop2723" />
-      <stop
-         id="stop2725"
-         offset="1"
-         style="stop-color:#00fb00;stop-opacity:1;" />
-      <stop
-         style="stop-color:#008a00;stop-opacity:1;"
-         offset="1"
-         id="stop2727" />
-      <stop
-         style="stop-color:#0a0a0a;stop-opacity:0;"
-         offset="1"
-         id="stop2729" />
-    </linearGradient>
-    <linearGradient
-       id="linearGradient2466-863">
-      <stop
-         style="stop-color:#00b000;stop-opacity:1;"
-         offset="0"
-         id="stop2733" />
-      <stop
-         id="stop2735"
-         offset="1"
-         style="stop-color:#00fb00;stop-opacity:1;" />
-      <stop
-         style="stop-color:#008a00;stop-opacity:1;"
-         offset="1"
-         id="stop2737" />
-      <stop
-         style="stop-color:#0a0a0a;stop-opacity:0;"
-         offset="1"
-         id="stop2739" />
-    </linearGradient>
-    <linearGradient
-       id="linearGradient2466-958">
-      <stop
-         style="stop-color:#00b000;stop-opacity:1;"
-         offset="0"
-         id="stop2743" />
-      <stop
-         id="stop2745"
-         offset="1"
-         style="stop-color:#00fb00;stop-opacity:1;" />
-      <stop
-         style="stop-color:#008a00;stop-opacity:1;"
-         offset="1"
-         id="stop2747" />
-      <stop
-         style="stop-color:#0a0a0a;stop-opacity:0;"
-         offset="1"
-         id="stop2749" />
-    </linearGradient>
-    <linearGradient
-       id="linearGradient2466-59">
-      <stop
-         style="stop-color:#00b000;stop-opacity:1;"
-         offset="0"
-         id="stop2753" />
-      <stop
-         id="stop2755"
-         offset="1"
-         style="stop-color:#00fb00;stop-opacity:1;" />
-      <stop
-         style="stop-color:#008a00;stop-opacity:1;"
-         offset="1"
-         id="stop2757" />
-      <stop
-         style="stop-color:#0a0a0a;stop-opacity:0;"
-         offset="1"
-         id="stop2759" />
-    </linearGradient>
-    <linearGradient
-       id="linearGradient2466-113">
-      <stop
-         style="stop-color:#00b000;stop-opacity:1;"
-         offset="0"
-         id="stop2763" />
-      <stop
-         id="stop2765"
-         offset="1"
-         style="stop-color:#00fb00;stop-opacity:1;" />
-      <stop
-         style="stop-color:#008a00;stop-opacity:1;"
-         offset="1"
-         id="stop2767" />
-      <stop
-         style="stop-color:#0a0a0a;stop-opacity:0;"
-         offset="1"
-         id="stop2769" />
-    </linearGradient>
-    <linearGradient
-       id="linearGradient2466-114">
-      <stop
-         style="stop-color:#00b000;stop-opacity:1;"
-         offset="0"
-         id="stop2773" />
-      <stop
-         id="stop2775"
-         offset="1"
-         style="stop-color:#00fb00;stop-opacity:1;" />
-      <stop
-         style="stop-color:#008a00;stop-opacity:1;"
-         offset="1"
-         id="stop2777" />
-      <stop
-         style="stop-color:#0a0a0a;stop-opacity:0;"
-         offset="1"
-         id="stop2779" />
-    </linearGradient>
-    <linearGradient
-       id="linearGradient2466-516">
-      <stop
-         style="stop-color:#00b000;stop-opacity:1;"
-         offset="0"
-         id="stop2783" />
-      <stop
-         id="stop2785"
-         offset="1"
-         style="stop-color:#00fb00;stop-opacity:1;" />
-      <stop
-         style="stop-color:#008a00;stop-opacity:1;"
-         offset="1"
-         id="stop2787" />
-      <stop
-         style="stop-color:#0a0a0a;stop-opacity:0;"
-         offset="1"
-         id="stop2789" />
-    </linearGradient>
-    <linearGradient
-       id="linearGradient2466-572">
-      <stop
-         style="stop-color:#00b000;stop-opacity:1;"
-         offset="0"
-         id="stop2793" />
-      <stop
-         id="stop2795"
-         offset="1"
-         style="stop-color:#00fb00;stop-opacity:1;" />
-      <stop
-         style="stop-color:#008a00;stop-opacity:1;"
-         offset="1"
-         id="stop2797" />
-      <stop
-         style="stop-color:#0a0a0a;stop-opacity:0;"
-         offset="1"
-         id="stop2799" />
-    </linearGradient>
-    <linearGradient
-       id="linearGradient2466-42">
-      <stop
-         style="stop-color:#00b000;stop-opacity:1;"
-         offset="0"
-         id="stop2803" />
-      <stop
-         id="stop2805"
-         offset="1"
-         style="stop-color:#00fb00;stop-opacity:1;" />
-      <stop
-         style="stop-color:#008a00;stop-opacity:1;"
-         offset="1"
-         id="stop2807" />
-      <stop
-         style="stop-color:#0a0a0a;stop-opacity:0;"
-         offset="1"
-         id="stop2809" />
-    </linearGradient>
-    <linearGradient
-       id="linearGradient2466-502">
-      <stop
-         style="stop-color:#00b000;stop-opacity:1;"
-         offset="0"
-         id="stop2813" />
-      <stop
-         id="stop2815"
-         offset="1"
-         style="stop-color:#00fb00;stop-opacity:1;" />
-      <stop
-         style="stop-color:#008a00;stop-opacity:1;"
-         offset="1"
-         id="stop2817" />
-      <stop
-         style="stop-color:#0a0a0a;stop-opacity:0;"
-         offset="1"
-         id="stop2819" />
-    </linearGradient>
-    <linearGradient
-       id="linearGradient2466-857">
-      <stop
-         style="stop-color:#00b000;stop-opacity:1;"
-         offset="0"
-         id="stop2823" />
-      <stop
-         id="stop2825"
-         offset="1"
-         style="stop-color:#00fb00;stop-opacity:1;" />
-      <stop
-         style="stop-color:#008a00;stop-opacity:1;"
-         offset="1"
-         id="stop2827" />
-      <stop
-         style="stop-color:#0a0a0a;stop-opacity:0;"
-         offset="1"
-         id="stop2829" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2466-786-750"
-       id="linearGradient2472-316-637"
-       x1="480.34833"
-       y1="134.11082"
-       x2="554.27698"
-       y2="211.64575"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="translate(-616.67308,-109.9914)" />
-    <linearGradient
-       id="linearGradient2466-786-750">
-      <stop
-         style="stop-color:#00c900;stop-opacity:1;"
-         offset="0"
-         id="stop3297" />
-      <stop
-         id="stop3299"
-         offset="1"
-         style="stop-color:#15fe15;stop-opacity:1;" />
-      <stop
-         style="stop-color:#00a300;stop-opacity:1;"
-         offset="1"
-         id="stop3301" />
-      <stop
-         style="stop-color:#161616;stop-opacity:0;"
-         offset="1"
-         id="stop3303" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2466-863-304"
-       id="linearGradient2472-695-984"
-       x1="480.34833"
-       y1="134.11082"
-       x2="554.27698"
-       y2="211.64575"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="translate(-616.67308,-109.9914)" />
-    <linearGradient
-       id="linearGradient2466-863-304">
-      <stop
-         style="stop-color:#00c900;stop-opacity:1;"
-         offset="0"
-         id="stop3307" />
-      <stop
-         id="stop3309"
-         offset="1"
-         style="stop-color:#15fe15;stop-opacity:1;" />
-      <stop
-         style="stop-color:#00a300;stop-opacity:1;"
-         offset="1"
-         id="stop3311" />
-      <stop
-         style="stop-color:#161616;stop-opacity:0;"
-         offset="1"
-         id="stop3313" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2466-958-548"
-       id="linearGradient2472-327-579"
-       x1="480.34833"
-       y1="134.11082"
-       x2="554.27698"
-       y2="211.64575"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="translate(-616.67308,-109.9914)" />
-    <linearGradient
-       id="linearGradient2466-958-548">
-      <stop
-         style="stop-color:#00c900;stop-opacity:1;"
-         offset="0"
-         id="stop3317" />
-      <stop
-         id="stop3319"
-         offset="1"
-         style="stop-color:#15fe15;stop-opacity:1;" />
-      <stop
-         style="stop-color:#00a300;stop-opacity:1;"
-         offset="1"
-         id="stop3321" />
-      <stop
-         style="stop-color:#161616;stop-opacity:0;"
-         offset="1"
-         id="stop3323" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2466-59-77"
-       id="linearGradient2472-436-991"
-       x1="480.34833"
-       y1="134.11082"
-       x2="554.27698"
-       y2="211.64575"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="translate(-616.67308,-109.9914)" />
-    <linearGradient
-       id="linearGradient2466-59-77">
-      <stop
-         style="stop-color:#00c900;stop-opacity:1;"
-         offset="0"
-         id="stop3327" />
-      <stop
-         id="stop3329"
-         offset="1"
-         style="stop-color:#15fe15;stop-opacity:1;" />
-      <stop
-         style="stop-color:#00a300;stop-opacity:1;"
-         offset="1"
-         id="stop3331" />
-      <stop
-         style="stop-color:#161616;stop-opacity:0;"
-         offset="1"
-         id="stop3333" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2466-113-656"
-       id="linearGradient2472-656-45"
-       x1="480.34833"
-       y1="134.11082"
-       x2="554.27698"
-       y2="211.64575"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="translate(-616.67308,-109.9914)" />
-    <linearGradient
-       id="linearGradient2466-113-656">
-      <stop
-         style="stop-color:#00c900;stop-opacity:1;"
-         offset="0"
-         id="stop3337" />
-      <stop
-         id="stop3339"
-         offset="1"
-         style="stop-color:#15fe15;stop-opacity:1;" />
-      <stop
-         style="stop-color:#00a300;stop-opacity:1;"
-         offset="1"
-         id="stop3341" />
-      <stop
-         style="stop-color:#161616;stop-opacity:0;"
-         offset="1"
-         id="stop3343" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2466-114-809"
-       id="linearGradient2472-581-565"
-       x1="480.34833"
-       y1="134.11082"
-       x2="554.27698"
-       y2="211.64575"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="translate(-616.67308,-109.9914)" />
-    <linearGradient
-       id="linearGradient2466-114-809">
-      <stop
-         style="stop-color:#00c900;stop-opacity:1;"
-         offset="0"
-         id="stop3347" />
-      <stop
-         id="stop3349"
-         offset="1"
-         style="stop-color:#15fe15;stop-opacity:1;" />
-      <stop
-         style="stop-color:#00a300;stop-opacity:1;"
-         offset="1"
-         id="stop3351" />
-      <stop
-         style="stop-color:#161616;stop-opacity:0;"
-         offset="1"
-         id="stop3353" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2466-516-233"
-       id="linearGradient2472-877-549"
-       x1="480.34833"
-       y1="134.11082"
-       x2="554.27698"
-       y2="211.64575"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="translate(-616.67308,-109.9914)" />
-    <linearGradient
-       id="linearGradient2466-516-233">
-      <stop
-         style="stop-color:#00c900;stop-opacity:1;"
-         offset="0"
-         id="stop3357" />
-      <stop
-         id="stop3359"
-         offset="1"
-         style="stop-color:#15fe15;stop-opacity:1;" />
-      <stop
-         style="stop-color:#00a300;stop-opacity:1;"
-         offset="1"
-         id="stop3361" />
-      <stop
-         style="stop-color:#161616;stop-opacity:0;"
-         offset="1"
-         id="stop3363" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2466-572-576"
-       id="linearGradient2472-761-943"
-       x1="480.34833"
-       y1="134.11082"
-       x2="554.27698"
-       y2="211.64575"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="translate(-616.67308,-109.9914)" />
-    <linearGradient
-       id="linearGradient2466-572-576">
-      <stop
-         style="stop-color:#00c900;stop-opacity:1;"
-         offset="0"
-         id="stop3367" />
-      <stop
-         id="stop3369"
-         offset="1"
-         style="stop-color:#15fe15;stop-opacity:1;" />
-      <stop
-         style="stop-color:#00a300;stop-opacity:1;"
-         offset="1"
-         id="stop3371" />
-      <stop
-         style="stop-color:#161616;stop-opacity:0;"
-         offset="1"
-         id="stop3373" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2466-42-738"
-       id="linearGradient2472-704-254"
-       x1="480.34833"
-       y1="134.11082"
-       x2="554.27698"
-       y2="211.64575"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="translate(-616.67308,-109.9914)" />
-    <linearGradient
-       id="linearGradient2466-42-738">
-      <stop
-         style="stop-color:#00c900;stop-opacity:1;"
-         offset="0"
-         id="stop3377" />
-      <stop
-         id="stop3379"
-         offset="1"
-         style="stop-color:#15fe15;stop-opacity:1;" />
-      <stop
-         style="stop-color:#00a300;stop-opacity:1;"
-         offset="1"
-         id="stop3381" />
-      <stop
-         style="stop-color:#161616;stop-opacity:0;"
-         offset="1"
-         id="stop3383" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2466-502-769"
-       id="linearGradient2472-422-129"
-       x1="480.34833"
-       y1="134.11082"
-       x2="554.27698"
-       y2="211.64575"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="translate(-616.67308,-109.9914)" />
-    <linearGradient
-       id="linearGradient2466-502-769">
-      <stop
-         style="stop-color:#00c900;stop-opacity:1;"
-         offset="0"
-         id="stop3387" />
-      <stop
-         id="stop3389"
-         offset="1"
-         style="stop-color:#15fe15;stop-opacity:1;" />
-      <stop
-         style="stop-color:#00a300;stop-opacity:1;"
-         offset="1"
-         id="stop3391" />
-      <stop
-         style="stop-color:#161616;stop-opacity:0;"
-         offset="1"
-         id="stop3393" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2466-857-138"
-       id="linearGradient2472-565-766"
-       x1="480.34833"
-       y1="134.11082"
-       x2="554.27698"
-       y2="211.64575"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="translate(-616.67308,-109.9914)" />
-    <linearGradient
-       id="linearGradient2466-857-138">
-      <stop
-         style="stop-color:#00c900;stop-opacity:1;"
-         offset="0"
-         id="stop3397" />
-      <stop
-         id="stop3399"
-         offset="1"
-         style="stop-color:#15fe15;stop-opacity:1;" />
-      <stop
-         style="stop-color:#00a300;stop-opacity:1;"
-         offset="1"
-         id="stop3401" />
-      <stop
-         style="stop-color:#161616;stop-opacity:0;"
-         offset="1"
-         id="stop3403" />
-    </linearGradient>
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2466"
-       id="linearGradient5058"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="translate(-616.67308,-109.9914)"
-       x1="480.34833"
-       y1="134.11082"
-       x2="554.27698"
-       y2="211.64575" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2466-786-750"
-       id="linearGradient5064"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="translate(-616.67308,-109.9914)"
-       x1="480.34833"
-       y1="134.11082"
-       x2="554.27698"
-       y2="211.64575" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2466-863-304"
-       id="linearGradient5066"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="translate(-616.67308,-109.9914)"
-       x1="480.34833"
-       y1="134.11082"
-       x2="554.27698"
-       y2="211.64575" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2466-958-548"
-       id="linearGradient5068"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="translate(-616.67308,-109.9914)"
-       x1="480.34833"
-       y1="134.11082"
-       x2="554.27698"
-       y2="211.64575" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2466-59-77"
-       id="linearGradient5070"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="translate(-616.67308,-109.9914)"
-       x1="480.34833"
-       y1="134.11082"
-       x2="554.27698"
-       y2="211.64575" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2466-113-656"
-       id="linearGradient5072"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="translate(-616.67308,-109.9914)"
-       x1="480.34833"
-       y1="134.11082"
-       x2="554.27698"
-       y2="211.64575" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2466-114-809"
-       id="linearGradient5074"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="translate(-616.67308,-109.9914)"
-       x1="480.34833"
-       y1="134.11082"
-       x2="554.27698"
-       y2="211.64575" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2466-516-233"
-       id="linearGradient5076"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="translate(-616.67308,-109.9914)"
-       x1="480.34833"
-       y1="134.11082"
-       x2="554.27698"
-       y2="211.64575" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2466-572-576"
-       id="linearGradient5078"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="translate(-616.67308,-109.9914)"
-       x1="480.34833"
-       y1="134.11082"
-       x2="554.27698"
-       y2="211.64575" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2466-42-738"
-       id="linearGradient5080"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="translate(-616.67308,-109.9914)"
-       x1="480.34833"
-       y1="134.11082"
-       x2="554.27698"
-       y2="211.64575" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2466-502-769"
-       id="linearGradient5082"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="translate(-616.67308,-109.9914)"
-       x1="480.34833"
-       y1="134.11082"
-       x2="554.27698"
-       y2="211.64575" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2466-857-138"
-       id="linearGradient5084"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="translate(-616.67308,-109.9914)"
-       x1="480.34833"
-       y1="134.11082"
-       x2="554.27698"
-       y2="211.64575" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient4733"
-       id="linearGradient5342"
-       gradientUnits="userSpaceOnUse"
-       x1="165.19823"
-       y1="53.941807"
-       x2="125.1866"
-       y2="124.23114" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient5519"
-       id="linearGradient5466"
-       gradientUnits="userSpaceOnUse"
-       x1="-37.738914"
-       y1="12.326055"
-       x2="-22.708267"
-       y2="25.246382" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient5533"
-       id="linearGradient5468"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0.9208633,0,0,0.9208633,-5.9441111,2.9194824)"
-       x1="-87.339493"
-       y1="29.467791"
-       x2="-64.849571"
-       y2="47.590733" />
-    <linearGradient
-       inkscape:collect="always"
-       xlink:href="#linearGradient2466"
-       id="linearGradient5846"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="translate(-616.67308,-109.9914)"
-       x1="480.34833"
-       y1="134.11082"
-       x2="554.27698"
-       y2="211.64575" />
-  </defs>
-  <metadata
-     id="metadata7">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     inkscape:groupmode="layer"
-     id="layer4"
-     inkscape:label="knob_arc_indicator"
-     style="display:inline">
-    <path
-       style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
-       d="M 124.89547,37.619476 C 124.89547,37.619476 125.004,29.244371 125.11381,27.211519 C 126.23525,27.042557 132.43856,27.306326 133.73859,27.539043 C 133.53245,30.121143 132.90158,38.019781 132.90158,38.019781 C 132.90158,38.019781 127.22452,37.72865 124.89547,37.619476 z"
-       id="path4938"
-       sodipodi:nodetypes="ccccc" />
-  </g>
-</svg>
--- a/clock/data/timer/qtg_graf_timer2_arrow.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="305px" height="305px" viewBox="0 0 305 305" enable-background="new 0 0 305 305" xml:space="preserve">
-<g>
-	<rect fill="none" width="305" height="305"/>
-	<g>
-		<polygon points="144.583,81.027 152.321,62.391 160.058,81.027 		"/>
-	</g>
-</g>
-</svg>
--- a/clock/data/timer/qtg_graf_timer2_base.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="305px" height="305px" viewBox="0 0 305 305" enable-background="new 0 0 305 305" xml:space="preserve">
-<g>
-	<g>
-		<g>
-			<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="145.4951" y1="-231.5366" x2="156.7914" y2="387.755">
-				<stop  offset="0" style="stop-color:#FFFFFF"/>
-				<stop  offset="1" style="stop-color:#000000"/>
-			</linearGradient>
-			<path fill="url(#SVGID_1_)" d="M304,152.5c0,83.678-67.824,151.5-151.5,151.5C68.826,304,1,236.178,1,152.5
-				C1,68.822,68.826,1,152.5,1C236.175,1,304,68.822,304,152.5z"/>
-			<radialGradient id="SVGID_2_" cx="138.186" cy="4.4321" r="299.1064" gradientUnits="userSpaceOnUse">
-				<stop  offset="0" style="stop-color:#FFFFFF"/>
-				<stop  offset="1" style="stop-color:#CCCCCC"/>
-			</radialGradient>
-			<path fill="url(#SVGID_2_)" d="M302.5,152.688c0,82.85-67.154,150-150,150c-82.844,0-150-67.15-150-150
-				c0-82.848,67.155-150,150-150C235.345,2.688,302.5,69.84,302.5,152.688z"/>
-		</g>
-		<rect fill="none" width="305" height="305"/>
-	</g>
-	<path fill="#333333" d="M98.717,150.686c0.005-30.09,24.396-54.494,54.499-54.502l0,0c30.105,0.008,54.492,24.412,54.502,54.502
-		l0,0c-0.01,30.09-24.396,54.495-54.502,54.502l0,0C123.113,205.18,98.723,180.776,98.717,150.686L98.717,150.686z M112.717,150.686
-		c0.002,11.2,4.522,21.284,11.864,28.633l0,0c7.351,7.344,17.432,11.865,28.636,11.867l0,0c11.207-0.002,21.287-4.523,28.639-11.867
-		l0,0c7.34-7.35,11.859-17.434,11.861-28.633l0,0c-0.002-11.199-4.521-21.279-11.861-28.633l0,0
-		c-7.352-7.342-17.432-11.863-28.639-11.867l0,0c-11.204,0.004-21.285,4.525-28.636,11.867l0,0
-		C117.239,129.406,112.719,139.486,112.717,150.686L112.717,150.686L112.717,150.686z"/>
-</g>
-</svg>
--- a/clock/data/timer/qtg_graf_timer2_button.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="305px" height="305px" viewBox="0 0 305 305" enable-background="new 0 0 305 305" xml:space="preserve">
-<g>
-	<rect fill="none" width="305" height="305"/>
-	<g>
-		<g>
-			
-				<radialGradient id="SVGID_1_" cx="919.3667" cy="344.2178" r="28.1406" gradientTransform="matrix(0.9002 0 0 1.1493 -675.2947 -286.7092)" gradientUnits="userSpaceOnUse">
-				<stop  offset="0" style="stop-color:#00B9FF"/>
-				<stop  offset="0.2458" style="stop-color:#00A0EE"/>
-				<stop  offset="0.563" style="stop-color:#0087DC"/>
-				<stop  offset="0.7527" style="stop-color:#007DD5"/>
-			</radialGradient>
-			<path fill="url(#SVGID_1_)" d="M131.613,127.092c-5.421-4.252-9.273-10.607-9.293-18.191l0,0
-				c0.02-7.58,3.872-13.938,9.293-18.186l0,0c5.464-4.295,12.725-6.807,20.707-6.814l0,0c7.984,0.008,15.246,2.52,20.708,6.814l0,0
-				c5.422,4.248,9.273,10.605,9.291,18.186l0,0c-0.018,7.584-3.869,13.939-9.291,18.191l0,0c-5.463,4.293-12.725,6.805-20.708,6.809
-				l0,0C144.338,133.896,137.077,131.385,131.613,127.092L131.613,127.092z"/>
-			<g>
-				<radialGradient id="SVGID_2_" cx="152.3921" cy="108.3408" r="19.5642" gradientUnits="userSpaceOnUse">
-					<stop  offset="0" style="stop-color:#26A9E0"/>
-					<stop  offset="0.1881" style="stop-color:#2398D4"/>
-					<stop  offset="0.5414" style="stop-color:#1D7FC2"/>
-					<stop  offset="0.7527" style="stop-color:#1B75BB"/>
-				</radialGradient>
-				<polygon fill="url(#SVGID_2_)" points="141.404,120.869 141.404,94.438 142.739,94.438 142.739,120.869 141.404,120.869 				"/>
-				<radialGradient id="SVGID_3_" cx="152.3921" cy="108.3408" r="19.5643" gradientUnits="userSpaceOnUse">
-					<stop  offset="0" style="stop-color:#26A9E0"/>
-					<stop  offset="0.1881" style="stop-color:#2398D4"/>
-					<stop  offset="0.5414" style="stop-color:#1D7FC2"/>
-					<stop  offset="0.7527" style="stop-color:#1B75BB"/>
-				</radialGradient>
-				<polygon fill="url(#SVGID_3_)" points="146.528,120.869 146.528,94.438 147.862,94.438 147.862,120.869 146.528,120.869 				"/>
-				<radialGradient id="SVGID_4_" cx="152.3931" cy="108.3408" r="19.5634" gradientUnits="userSpaceOnUse">
-					<stop  offset="0" style="stop-color:#26A9E0"/>
-					<stop  offset="0.1881" style="stop-color:#2398D4"/>
-					<stop  offset="0.5414" style="stop-color:#1D7FC2"/>
-					<stop  offset="0.7527" style="stop-color:#1B75BB"/>
-				</radialGradient>
-				<polygon fill="url(#SVGID_4_)" points="156.78,120.869 156.78,94.438 158.111,94.438 158.111,120.869 156.78,120.869 				"/>
-				<radialGradient id="SVGID_5_" cx="152.3916" cy="108.3408" r="19.5642" gradientUnits="userSpaceOnUse">
-					<stop  offset="0" style="stop-color:#26A9E0"/>
-					<stop  offset="0.1881" style="stop-color:#2398D4"/>
-					<stop  offset="0.5414" style="stop-color:#1D7FC2"/>
-					<stop  offset="0.7527" style="stop-color:#1B75BB"/>
-				</radialGradient>
-				<polygon fill="url(#SVGID_5_)" points="161.902,120.869 161.902,94.438 163.238,94.438 163.238,120.869 161.902,120.869 				"/>
-				<radialGradient id="SVGID_6_" cx="152.3921" cy="108.3408" r="19.5643" gradientUnits="userSpaceOnUse">
-					<stop  offset="0" style="stop-color:#26A9E0"/>
-					<stop  offset="0.1881" style="stop-color:#2398D4"/>
-					<stop  offset="0.5414" style="stop-color:#1D7FC2"/>
-					<stop  offset="0.7527" style="stop-color:#1B75BB"/>
-				</radialGradient>
-				<polygon fill="url(#SVGID_6_)" points="151.652,120.869 151.652,94.438 152.986,94.438 152.986,120.869 151.652,120.869 				"/>
-			</g>
-		</g>
-	</g>
-</g>
-</svg>
--- a/clock/data/timer/qtg_graf_timer2_colorindication.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="305px" height="305px" viewBox="0 0 305 305" enable-background="new 0 0 305 305" xml:space="preserve">
-<g>
-	<rect fill="none" width="305" height="305"/>
-	<g>
-		<g>
-			<path fill="#8CC63F" d="M152.5,37.5c-63.513,0-115,51.488-115,114.998c0,63.512,51.487,115.002,115,115.002
-				c63.512,0,115-51.49,115-115.002C267.5,88.988,216.011,37.5,152.5,37.5z M152.5,243.5c-50.257,0-91-40.742-91-91
-				c0-50.26,40.742-91,91-91c50.258,0,91,40.74,91,91C243.5,202.758,202.757,243.5,152.5,243.5z"/>
-		</g>
-	</g>
-</g>
-</svg>
--- a/clock/data/timer/qtg_graf_timer2_pointer.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="305px" height="305px" viewBox="0 0 305 305" enable-background="new 0 0 305 305" xml:space="preserve">
-<g>
-	<rect fill="none" width="305" height="305"/>
-	<g>
-		<polygon points="144.583,81.027 152.321,62.391 160.058,81.027 		"/>
-		<g>
-			
-				<radialGradient id="SVGID_1_" cx="919.3667" cy="344.4248" r="28.1409" gradientTransform="matrix(0.9002 0 0 1.1493 -675.2947 -286.9478)" gradientUnits="userSpaceOnUse">
-				<stop  offset="0" style="stop-color:#00B9FF"/>
-				<stop  offset="0.2458" style="stop-color:#00A0EE"/>
-				<stop  offset="0.563" style="stop-color:#0087DC"/>
-				<stop  offset="0.7527" style="stop-color:#007DD5"/>
-			</radialGradient>
-			<path fill="url(#SVGID_1_)" d="M131.613,127.092c-5.421-4.252-9.273-10.607-9.293-18.191l0,0
-				c0.02-7.58,3.872-13.938,9.293-18.186l0,0c5.464-4.295,12.725-6.807,20.707-6.814l0,0c7.984,0.008,15.246,2.52,20.708,6.814l0,0
-				c5.422,4.248,9.273,10.605,9.291,18.186l0,0c-0.018,7.584-3.869,13.939-9.291,18.191l0,0c-5.463,4.293-12.725,6.805-20.708,6.809
-				l0,0C144.338,133.896,137.077,131.385,131.613,127.092L131.613,127.092z"/>
-			<g>
-				<radialGradient id="SVGID_2_" cx="152.3921" cy="108.3408" r="19.5642" gradientUnits="userSpaceOnUse">
-					<stop  offset="0" style="stop-color:#26A9E0"/>
-					<stop  offset="0.1881" style="stop-color:#2398D4"/>
-					<stop  offset="0.5414" style="stop-color:#1D7FC2"/>
-					<stop  offset="0.7527" style="stop-color:#1B75BB"/>
-				</radialGradient>
-				<polygon fill="url(#SVGID_2_)" points="141.404,120.869 141.404,94.438 142.739,94.438 142.739,120.869 141.404,120.869 				"/>
-				<radialGradient id="SVGID_3_" cx="152.3921" cy="108.3408" r="19.5643" gradientUnits="userSpaceOnUse">
-					<stop  offset="0" style="stop-color:#26A9E0"/>
-					<stop  offset="0.1881" style="stop-color:#2398D4"/>
-					<stop  offset="0.5414" style="stop-color:#1D7FC2"/>
-					<stop  offset="0.7527" style="stop-color:#1B75BB"/>
-				</radialGradient>
-				<polygon fill="url(#SVGID_3_)" points="146.528,120.869 146.528,94.438 147.862,94.438 147.862,120.869 146.528,120.869 				"/>
-				<radialGradient id="SVGID_4_" cx="152.3931" cy="108.3408" r="19.5634" gradientUnits="userSpaceOnUse">
-					<stop  offset="0" style="stop-color:#26A9E0"/>
-					<stop  offset="0.1881" style="stop-color:#2398D4"/>
-					<stop  offset="0.5414" style="stop-color:#1D7FC2"/>
-					<stop  offset="0.7527" style="stop-color:#1B75BB"/>
-				</radialGradient>
-				<polygon fill="url(#SVGID_4_)" points="156.78,120.869 156.78,94.438 158.111,94.438 158.111,120.869 156.78,120.869 				"/>
-				<radialGradient id="SVGID_5_" cx="152.3916" cy="108.3408" r="19.5642" gradientUnits="userSpaceOnUse">
-					<stop  offset="0" style="stop-color:#26A9E0"/>
-					<stop  offset="0.1881" style="stop-color:#2398D4"/>
-					<stop  offset="0.5414" style="stop-color:#1D7FC2"/>
-					<stop  offset="0.7527" style="stop-color:#1B75BB"/>
-				</radialGradient>
-				<polygon fill="url(#SVGID_5_)" points="161.902,120.869 161.902,94.438 163.238,94.438 163.238,120.869 161.902,120.869 				"/>
-				<radialGradient id="SVGID_6_" cx="152.3921" cy="108.3408" r="19.5643" gradientUnits="userSpaceOnUse">
-					<stop  offset="0" style="stop-color:#26A9E0"/>
-					<stop  offset="0.1881" style="stop-color:#2398D4"/>
-					<stop  offset="0.5414" style="stop-color:#1D7FC2"/>
-					<stop  offset="0.7527" style="stop-color:#1B75BB"/>
-				</radialGradient>
-				<polygon fill="url(#SVGID_6_)" points="151.652,120.869 151.652,94.438 152.986,94.438 152.986,120.869 151.652,120.869 				"/>
-			</g>
-		</g>
-	</g>
-</g>
-</svg>
--- a/clock/data/timer/qtg_graf_timer2_time24.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,171 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="305px" height="305px" viewBox="0 0 305 305" enable-background="new 0 0 305 305" xml:space="preserve">
-<g>
-	<g>
-		<g>
-			<path d="M151.501,243.486v29.012h1.999v-29.012c-0.332,0.004-0.666,0.014-1,0.014C152.166,243.5,151.834,243.49,151.501,243.486z
-				"/>
-			<path d="M211.632,256.945l1.734-1l-14.508-25.133c-0.572,0.34-1.15,0.676-1.73,1.002L211.632,256.945z"/>
-			<path d="M255.945,213.365l1-1.73l-25.129-14.506c-0.328,0.58-0.662,1.156-1.002,1.729L255.945,213.365z"/>
-			<path d="M243.488,153.5h29.014v-2h-29.014c0.004,0.332,0.012,0.664,0.012,1C243.5,152.834,243.492,153.166,243.488,153.5z"/>
-			<path d="M256.947,93.365l-1-1.732l-25.133,14.508c0.34,0.572,0.674,1.148,1.002,1.73L256.947,93.365z"/>
-			<path d="M213.365,49.053l-1.73-1l-14.506,25.131c0.58,0.328,1.158,0.662,1.73,1.002L213.365,49.053z"/>
-			<path d="M153.5,61.512V32.5h-1.999v29.012c0.333-0.004,0.665-0.012,0.999-0.012C152.833,61.5,153.167,61.508,153.5,61.512z"/>
-			<path d="M93.366,48.053l-1.731,1l14.507,25.133c0.572-0.34,1.149-0.674,1.73-1.002L93.366,48.053z"/>
-			<path d="M49.056,91.633l-1,1.732l25.129,14.504c0.328-0.58,0.662-1.156,1.002-1.73L49.056,91.633z"/>
-			<path d="M61.513,151.5H32.499v2h29.014c-0.005-0.334-0.013-0.666-0.013-1C61.5,152.164,61.508,151.832,61.513,151.5z"/>
-			<path d="M48.056,211.635l0.999,1.73l25.132-14.508c-0.34-0.572-0.674-1.148-1.001-1.729L48.056,211.635z"/>
-			<path d="M91.634,255.945l1.731,1l14.506-25.131c-0.581-0.328-1.157-0.662-1.73-1.002L91.634,255.945z"/>
-			<path d="M123.222,41.303l-0.967,0.256l6.205,23.156c0.323-0.088,0.643-0.176,0.965-0.26L123.222,41.303z"/>
-			<path d="M88.513,87.803L71.545,70.836l-0.707,0.709l16.967,16.967C88.039,88.273,88.275,88.037,88.513,87.803z"/>
-			<path d="M41.561,122.256l-0.26,0.967l23.154,6.203c0.084-0.322,0.173-0.645,0.261-0.965L41.561,122.256z"/>
-			<path d="M41.301,181.779l0.26,0.965l23.155-6.205c-0.087-0.32-0.176-0.643-0.261-0.965L41.301,181.779z"/>
-			<path d="M87.805,216.486l-16.967,16.967l0.707,0.709l16.968-16.967C88.275,216.961,88.039,216.725,87.805,216.486z"/>
-			<path d="M122.257,263.441l0.966,0.26l6.204-23.156c-0.322-0.084-0.644-0.174-0.965-0.262L122.257,263.441z"/>
-			<path d="M181.777,263.701l0.967-0.26l-6.205-23.158c-0.322,0.088-0.643,0.178-0.967,0.262L181.777,263.701z"/>
-			<path d="M216.488,217.195l16.967,16.967l0.707-0.709l-16.967-16.965C216.958,216.725,216.724,216.961,216.488,217.195z"/>
-			<path d="M263.439,182.744l0.26-0.965l-23.154-6.205c-0.084,0.322-0.174,0.645-0.262,0.965L263.439,182.744z"/>
-			<path d="M263.699,123.223l-0.26-0.967l-23.154,6.205c0.088,0.32,0.176,0.643,0.262,0.965L263.699,123.223z"/>
-			<path d="M217.197,88.512l16.967-16.967l-0.709-0.709l-16.967,16.967C216.726,88.037,216.96,88.273,217.197,88.512z"/>
-			<path d="M182.744,41.559l-0.967-0.256l-6.203,23.152c0.324,0.084,0.645,0.172,0.967,0.26L182.744,41.559z"/>
-		</g>
-		<g>
-			<g>
-				<g>
-					<path d="M286.064,149.824c0.609-0.563,1.41-0.844,2.402-0.844c1.359,0,2.367,0.4,3.023,1.201s0.984,2.115,0.984,3.943
-						c0,2.195-0.389,3.803-1.166,4.822s-1.963,1.529-3.557,1.529c-1.578,0-2.781-0.531-3.609-1.594s-1.242-3.211-1.242-6.445
-						c0-3.359,0.533-5.811,1.6-7.354s2.67-2.314,4.811-2.314c0.711,0,1.422,0.055,2.133,0.164v1.734
-						c-0.75-0.133-1.406-0.199-1.969-0.199c-1.023,0-1.84,0.457-2.449,1.371S286.095,148.082,286.064,149.824z M287.728,158.777
-						c0.555,0,0.957-0.289,1.207-0.867s0.375-1.801,0.375-3.668c0-1.188-0.1-2.098-0.299-2.73s-0.619-0.949-1.26-0.949
-						c-0.594,0-1.023,0.25-1.289,0.75s-0.398,1.387-0.398,2.66c0,2.172,0.133,3.516,0.398,4.031S287.15,158.777,287.728,158.777z"/>
-				</g>
-			</g>
-			<g>
-				<g>
-					<path d="M274.648,93.879h-1.371V97.5h-3.164v-3.621h-6.117v-1.582l7.031-12.246h2.25v12.246h1.371V93.879z M270.113,84.867
-						l-4.055,7.43h4.055V84.867z"/>
-				</g>
-			</g>
-			<g>
-				<g>
-					<path d="M272.292,221.717c0.75,0.367,1.314,0.891,1.693,1.57s0.568,1.602,0.568,2.766c0,1.625-0.428,2.844-1.283,3.656
-						s-2.135,1.219-3.838,1.219c-1.695,0-2.967-0.406-3.814-1.219s-1.271-2.031-1.271-3.656c0-1.164,0.18-2.088,0.539-2.771
-						s0.926-1.213,1.699-1.588c-1.336-0.789-2.004-2.117-2.004-3.984c0-1.477,0.404-2.586,1.213-3.328s2.021-1.113,3.639-1.113
-						s2.836,0.371,3.656,1.113s1.23,1.852,1.23,3.328C274.32,219.639,273.644,220.975,272.292,221.717z M269.433,229.346
-						c0.68,0,1.174-0.227,1.482-0.68s0.463-1.41,0.463-2.871c0-1.125-0.146-1.947-0.439-2.467s-0.795-0.779-1.506-0.779
-						c-0.734,0-1.236,0.256-1.506,0.768s-0.404,1.338-0.404,2.479c0,1.281,0.148,2.193,0.445,2.736S268.753,229.346,269.433,229.346
-						z M269.433,220.967c0.617,0,1.059-0.232,1.324-0.697s0.398-1.232,0.398-2.303c0-1.266-0.135-2.102-0.404-2.508
-						s-0.725-0.609-1.365-0.609c-0.547,0-0.957,0.262-1.23,0.785s-0.41,1.309-0.41,2.355c0,1.133,0.137,1.912,0.41,2.338
-						S268.855,220.967,269.433,220.967z"/>
-				</g>
-			</g>
-			<g>
-				<g>
-					<path d="M221.488,277.334h-9.492v-1.582h3.164v-13.184l-3.164,0.703v-1.582l4.746-1.805h1.582v15.867h3.164V277.334z"/>
-					<path d="M228.144,259.768c1.383,0,2.412,0.387,3.088,1.16s1.105,1.752,1.289,2.936s0.275,2.697,0.275,4.541
-						c0,2.547-0.172,4.412-0.516,5.596s-0.869,2.051-1.576,2.602s-1.611,0.826-2.713,0.826c-1.422,0-2.473-0.424-3.152-1.271
-						s-1.1-1.877-1.26-3.088s-0.24-2.766-0.24-4.664c0-3.242,0.402-5.492,1.207-6.75S226.55,259.768,228.144,259.768z
-						 M228.062,275.846c0.695,0,1.131-0.496,1.307-1.488s0.264-2.977,0.264-5.953c0-2.031-0.037-3.525-0.111-4.482
-						s-0.219-1.625-0.434-2.004s-0.557-0.568-1.025-0.568c-0.648,0-1.07,0.457-1.266,1.371s-0.293,2.809-0.293,5.684
-						c0,3.117,0.09,5.137,0.27,6.059S227.382,275.846,228.062,275.846z"/>
-				</g>
-			</g>
-			<g>
-				<g>
-					<path d="M34.605,230.834h-9.492v-1.582h3.164v-13.184l-3.164,0.703v-1.582l4.746-1.805h1.582v15.867h3.164V230.834z"/>
-					<path d="M39.621,220.322c0.609-0.563,1.41-0.844,2.402-0.844c1.359,0,2.367,0.4,3.023,1.201s0.984,2.115,0.984,3.943
-						c0,2.195-0.389,3.803-1.166,4.822s-1.963,1.529-3.557,1.529c-1.578,0-2.781-0.531-3.609-1.594s-1.242-3.211-1.242-6.445
-						c0-3.359,0.533-5.811,1.6-7.354s2.67-2.314,4.811-2.314c0.711,0,1.422,0.055,2.133,0.164v1.734
-						c-0.75-0.133-1.406-0.199-1.969-0.199c-1.023,0-1.84,0.457-2.449,1.371S39.652,218.58,39.621,220.322z M41.285,229.275
-						c0.555,0,0.957-0.289,1.207-0.867s0.375-1.801,0.375-3.668c0-1.188-0.1-2.098-0.299-2.73s-0.619-0.949-1.26-0.949
-						c-0.594,0-1.023,0.25-1.289,0.75s-0.398,1.387-0.398,2.66c0,2.172,0.133,3.516,0.398,4.031S40.707,229.275,41.285,229.275z"/>
-				</g>
-			</g>
-			<g>
-				<g>
-					<path d="M15.021,160.336H5.529v-1.582h3.164V145.57l-3.164,0.703v-1.582l4.746-1.805h1.582v15.867h3.164V160.336z"/>
-					<path d="M24.432,151.219c0.75,0.367,1.314,0.891,1.693,1.57s0.568,1.602,0.568,2.766c0,1.625-0.428,2.844-1.283,3.656
-						s-2.135,1.219-3.838,1.219c-1.695,0-2.967-0.406-3.814-1.219s-1.271-2.031-1.271-3.656c0-1.164,0.18-2.088,0.539-2.771
-						s0.926-1.213,1.699-1.588c-1.336-0.789-2.004-2.117-2.004-3.984c0-1.477,0.404-2.586,1.213-3.328s2.021-1.113,3.639-1.113
-						s2.836,0.371,3.656,1.113s1.23,1.852,1.23,3.328C26.459,149.141,25.783,150.477,24.432,151.219z M21.572,158.848
-						c0.679,0,1.174-0.227,1.482-0.68s0.463-1.41,0.463-2.871c0-1.125-0.146-1.947-0.439-2.467s-0.795-0.779-1.506-0.779
-						c-0.734,0-1.236,0.256-1.506,0.768s-0.404,1.338-0.404,2.479c0,1.281,0.148,2.193,0.445,2.736S20.893,158.848,21.572,158.848z
-						 M21.572,150.469c0.617,0,1.059-0.232,1.324-0.697s0.398-1.232,0.398-2.303c0-1.266-0.135-2.102-0.404-2.508
-						s-0.725-0.609-1.365-0.609c-0.547,0-0.957,0.262-1.23,0.785s-0.41,1.309-0.41,2.355c0,1.133,0.137,1.912,0.41,2.338
-						S20.994,150.469,21.572,150.469z"/>
-				</g>
-			</g>
-			<g>
-				<g>
-					<path d="M34.395,97.5H24.75v-1.371c0-1.336,0.258-2.561,0.773-3.674s1.594-2.393,3.234-3.838
-						c0.969-0.867,1.621-1.604,1.957-2.209s0.504-1.197,0.504-1.775c0-0.898-0.25-1.623-0.75-2.174s-1.176-0.826-2.027-0.826
-						c-0.68,0-1.832,0.191-3.457,0.574v-1.723c1.531-0.367,2.875-0.551,4.031-0.551c1.648,0,2.957,0.414,3.926,1.242
-						s1.453,1.988,1.453,3.48c0,0.867-0.199,1.734-0.598,2.602s-1.332,1.945-2.801,3.234c-0.758,0.656-1.352,1.215-1.781,1.676
-						s-0.791,1.002-1.084,1.623s-0.439,1.33-0.439,2.127h6.703V97.5z"/>
-					<path d="M41.262,79.934c1.383,0,2.412,0.387,3.088,1.16s1.105,1.752,1.289,2.936s0.275,2.697,0.275,4.541
-						c0,2.547-0.172,4.412-0.516,5.596s-0.869,2.051-1.576,2.602s-1.611,0.826-2.713,0.826c-1.422,0-2.473-0.424-3.152-1.271
-						s-1.1-1.877-1.26-3.088s-0.24-2.766-0.24-4.664c0-3.242,0.402-5.492,1.207-6.75S39.668,79.934,41.262,79.934z M41.18,96.012
-						c0.695,0,1.131-0.496,1.307-1.488s0.264-2.977,0.264-5.953c0-2.031-0.037-3.525-0.111-4.482s-0.219-1.625-0.434-2.004
-						s-0.557-0.568-1.025-0.568c-0.648,0-1.07,0.457-1.266,1.371s-0.293,2.809-0.293,5.684c0,3.117,0.09,5.137,0.27,6.059
-						S40.5,96.012,41.18,96.012z"/>
-				</g>
-			</g>
-			<g>
-				<g>
-					<path d="M85.561,45.166h-9.645v-1.371c0-1.336,0.258-2.561,0.773-3.674s1.594-2.393,3.234-3.838
-						c0.969-0.867,1.621-1.604,1.957-2.209s0.504-1.197,0.504-1.775c0-0.898-0.25-1.623-0.75-2.174s-1.176-0.826-2.027-0.826
-						c-0.68,0-1.832,0.191-3.457,0.574V28.15c1.531-0.367,2.875-0.551,4.031-0.551c1.648,0,2.957,0.414,3.926,1.242
-						s1.453,1.988,1.453,3.48c0,0.867-0.199,1.734-0.598,2.602s-1.332,1.945-2.801,3.234c-0.758,0.656-1.352,1.215-1.781,1.676
-						s-0.791,1.002-1.084,1.623s-0.439,1.33-0.439,2.127h6.703V45.166z"/>
-					<path d="M97.033,45.166h-9.645v-1.371c0-1.336,0.258-2.561,0.773-3.674s1.594-2.393,3.234-3.838
-						c0.969-0.867,1.621-1.604,1.957-2.209s0.504-1.197,0.504-1.775c0-0.898-0.25-1.623-0.75-2.174s-1.176-0.826-2.027-0.826
-						c-0.68,0-1.832,0.191-3.457,0.574V28.15c1.531-0.367,2.875-0.551,4.031-0.551c1.648,0,2.957,0.414,3.926,1.242
-						s1.453,1.988,1.453,3.48c0,0.867-0.199,1.734-0.598,2.602s-1.332,1.945-2.801,3.234c-0.758,0.656-1.352,1.215-1.781,1.676
-						s-0.791,1.002-1.084,1.623s-0.439,1.33-0.439,2.127h6.703V45.166z"/>
-				</g>
-			</g>
-			<g>
-				<g>
-					<path d="M151.445,25.834h-9.645v-1.371c0-1.336,0.258-2.561,0.773-3.674s1.594-2.393,3.234-3.838
-						c0.969-0.867,1.621-1.604,1.957-2.209s0.504-1.197,0.504-1.775c0-0.898-0.25-1.623-0.75-2.174s-1.176-0.826-2.027-0.826
-						c-0.68,0-1.832,0.191-3.457,0.574V8.818c1.531-0.367,2.875-0.551,4.031-0.551c1.648,0,2.957,0.414,3.926,1.242
-						s1.453,1.988,1.453,3.48c0,0.867-0.199,1.734-0.598,2.602s-1.332,1.945-2.801,3.234c-0.758,0.656-1.352,1.215-1.781,1.676
-						s-0.791,1.002-1.084,1.623s-0.439,1.33-0.439,2.127h6.703V25.834z"/>
-					<path d="M163.421,22.213h-1.371v3.621h-3.164v-3.621h-6.117v-1.582L159.8,8.385h2.25v12.246h1.371V22.213z M158.886,13.201
-						l-4.055,7.43h4.055V13.201z"/>
-				</g>
-			</g>
-			<g>
-				<g>
-					<path d="M85.772,277.334H76.28v-1.582h3.164v-13.184l-3.164,0.703v-1.582l4.746-1.805h1.582v15.867h3.164V277.334z"/>
-					<path d="M97.538,273.713h-1.371v3.621h-3.164v-3.621h-6.117v-1.582l7.031-12.246h2.25v12.246h1.371V273.713z M93.003,264.701
-						l-4.055,7.43h4.055V264.701z"/>
-				</g>
-			</g>
-			<g>
-				<g>
-					<path d="M151.656,294.832h-9.492v-1.582h3.164v-13.184l-3.164,0.703v-1.582l4.746-1.805h1.582v15.867h3.164V294.832z"/>
-					<path d="M162.917,294.832h-9.645v-1.371c0-1.336,0.258-2.561,0.773-3.674s1.594-2.393,3.234-3.838
-						c0.969-0.867,1.621-1.604,1.957-2.209s0.504-1.197,0.504-1.775c0-0.898-0.25-1.623-0.75-2.174s-1.176-0.826-2.027-0.826
-						c-0.68,0-1.832,0.191-3.457,0.574v-1.723c1.531-0.367,2.875-0.551,4.031-0.551c1.648,0,2.957,0.414,3.926,1.242
-						s1.453,1.988,1.453,3.48c0,0.867-0.199,1.734-0.598,2.602s-1.332,1.945-2.801,3.234c-0.758,0.656-1.352,1.215-1.781,1.676
-						s-0.791,1.002-1.084,1.623s-0.439,1.33-0.439,2.127h6.703V294.832z"/>
-				</g>
-			</g>
-			<g>
-				<g>
-					<path d="M227.013,45.166h-9.645v-1.371c0-1.336,0.258-2.561,0.773-3.674s1.594-2.393,3.234-3.838
-						c0.969-0.867,1.621-1.604,1.957-2.209s0.504-1.197,0.504-1.775c0-0.898-0.25-1.623-0.75-2.174s-1.176-0.826-2.027-0.826
-						c-0.68,0-1.832,0.191-3.457,0.574V28.15c1.531-0.367,2.875-0.551,4.031-0.551c1.648,0,2.957,0.414,3.926,1.242
-						s1.453,1.988,1.453,3.48c0,0.867-0.199,1.734-0.598,2.602s-1.332,1.945-2.801,3.234c-0.758,0.656-1.352,1.215-1.781,1.676
-						s-0.791,1.002-1.084,1.623s-0.439,1.33-0.439,2.127h6.703V45.166z"/>
-				</g>
-			</g>
-		</g>
-	</g>
-	<rect fill="none" width="305" height="305"/>
-</g>
-</svg>
--- a/clock/data/timer/qtg_graf_timer2_time60.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,225 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="305px" height="305px" viewBox="0 0 305 305" enable-background="new 0 0 305 305" xml:space="preserve">
-<g>
-	<g>
-		<g>
-			<g>
-				<g>
-					<path d="M219.092,34.891h0.492c1.578,0,2.789,0.465,3.633,1.395s1.266,2.262,1.266,3.996c0,1.977-0.465,3.459-1.395,4.447
-						s-2.32,1.482-4.172,1.482c-1.359,0-2.566-0.168-3.621-0.504v-1.723c1.164,0.352,2.238,0.527,3.223,0.527
-						c0.906,0,1.588-0.305,2.045-0.914s0.686-1.648,0.686-3.117c0-1.227-0.268-2.146-0.803-2.76s-1.338-0.92-2.408-0.92
-						c-0.711,0-1.418,0.043-2.121,0.129v-8.262h8.191v1.582h-5.016V34.891z"/>
-				</g>
-			</g>
-			<g>
-				<g>
-					<path d="M143.613,16.939c0.609-0.563,1.41-0.844,2.402-0.844c1.359,0,2.367,0.4,3.023,1.201s0.984,2.115,0.984,3.943
-						c0,2.195-0.389,3.803-1.166,4.822s-1.963,1.529-3.557,1.529c-1.578,0-2.781-0.531-3.609-1.594s-1.242-3.211-1.242-6.445
-						c0-3.359,0.533-5.811,1.6-7.354s2.67-2.314,4.811-2.314c0.711,0,1.422,0.055,2.133,0.164v1.734
-						c-0.75-0.133-1.406-0.199-1.969-0.199c-1.023,0-1.84,0.457-2.449,1.371S143.645,15.197,143.613,16.939z M145.277,25.893
-						c0.555,0,0.957-0.289,1.207-0.867s0.375-1.801,0.375-3.668c0-1.188-0.1-2.098-0.299-2.73s-0.619-0.949-1.26-0.949
-						c-0.594,0-1.023,0.25-1.289,0.75s-0.398,1.387-0.398,2.66c0,2.172,0.133,3.516,0.398,4.031S144.699,25.893,145.277,25.893z"/>
-					<path d="M156.727,9.885c1.383,0,2.412,0.387,3.088,1.16s1.105,1.752,1.289,2.936s0.275,2.697,0.275,4.541
-						c0,2.547-0.172,4.412-0.516,5.596s-0.869,2.051-1.576,2.602s-1.611,0.826-2.713,0.826c-1.422,0-2.473-0.424-3.152-1.271
-						s-1.1-1.877-1.26-3.088s-0.24-2.766-0.24-4.664c0-3.242,0.402-5.492,1.207-6.75S155.133,9.885,156.727,9.885z M156.645,25.963
-						c0.695,0,1.131-0.496,1.307-1.488s0.264-2.977,0.264-5.953c0-2.031-0.037-3.525-0.111-4.482s-0.219-1.625-0.434-2.004
-						s-0.557-0.568-1.025-0.568c-0.648,0-1.07,0.457-1.266,1.371s-0.293,2.809-0.293,5.684c0,3.117,0.09,5.137,0.27,6.059
-						S155.965,25.963,156.645,25.963z"/>
-				</g>
-			</g>
-			<g>
-				<g>
-					<path d="M80.031,34.891h0.492c1.578,0,2.789,0.465,3.633,1.395s1.266,2.262,1.266,3.996c0,1.977-0.465,3.459-1.395,4.447
-						s-2.32,1.482-4.172,1.482c-1.359,0-2.566-0.168-3.621-0.504v-1.723c1.164,0.352,2.238,0.527,3.223,0.527
-						c0.906,0,1.588-0.305,2.045-0.914s0.686-1.648,0.686-3.117c0-1.227-0.268-2.146-0.803-2.76s-1.338-0.92-2.408-0.92
-						c-0.711,0-1.418,0.043-2.121,0.129v-8.262h8.191v1.582h-5.016V34.891z"/>
-					<path d="M91.504,34.891h0.492c1.578,0,2.789,0.465,3.633,1.395s1.266,2.262,1.266,3.996c0,1.977-0.465,3.459-1.395,4.447
-						s-2.32,1.482-4.172,1.482c-1.359,0-2.566-0.168-3.621-0.504v-1.723c1.164,0.352,2.238,0.527,3.223,0.527
-						c0.906,0,1.588-0.305,2.045-0.914s0.686-1.648,0.686-3.117c0-1.227-0.268-2.146-0.803-2.76s-1.338-0.92-2.408-0.92
-						c-0.711,0-1.418,0.043-2.121,0.129v-8.262h8.191v1.582h-5.016V34.891z"/>
-				</g>
-			</g>
-			<g>
-				<g>
-					<path d="M25.533,88.391h0.492c1.578,0,2.789,0.465,3.633,1.395s1.266,2.262,1.266,3.996c0,1.977-0.465,3.459-1.395,4.447
-						s-2.32,1.482-4.172,1.482c-1.359,0-2.566-0.168-3.621-0.504v-1.723c1.164,0.352,2.238,0.527,3.223,0.527
-						c0.906,0,1.588-0.305,2.045-0.914s0.686-1.648,0.686-3.117c0-1.227-0.268-2.146-0.803-2.76s-1.338-0.92-2.408-0.92
-						c-0.711,0-1.418,0.043-2.121,0.129v-8.262h8.191v1.582h-5.016V88.391z"/>
-					<path d="M37.967,82.051c1.383,0,2.412,0.387,3.088,1.16s1.105,1.752,1.289,2.936s0.275,2.697,0.275,4.541
-						c0,2.547-0.172,4.412-0.516,5.596s-0.869,2.051-1.576,2.602s-1.611,0.826-2.713,0.826c-1.422,0-2.473-0.424-3.152-1.271
-						s-1.1-1.877-1.26-3.088s-0.24-2.766-0.24-4.664c0-3.242,0.402-5.492,1.207-6.75S36.373,82.051,37.967,82.051z M37.885,98.129
-						c0.695,0,1.131-0.496,1.307-1.488s0.264-2.977,0.264-5.953c0-2.031-0.037-3.525-0.111-4.482s-0.219-1.625-0.434-2.004
-						s-0.557-0.568-1.025-0.568c-0.648,0-1.07,0.457-1.266,1.371s-0.293,2.809-0.293,5.684c0,3.117,0.09,5.137,0.27,6.059
-						S37.205,98.129,37.885,98.129z"/>
-				</g>
-			</g>
-			<g>
-				<g>
-					<path d="M15.936,157.857h-1.371v3.621H11.4v-3.621H5.283v-1.582l7.031-12.246h2.25v12.246h1.371V157.857z M11.4,148.846
-						l-4.055,7.43H11.4V148.846z"/>
-					<path d="M21.338,150.252h0.492c1.578,0,2.789,0.465,3.633,1.395s1.266,2.262,1.266,3.996c0,1.977-0.465,3.459-1.395,4.447
-						s-2.32,1.482-4.172,1.482c-1.359,0-2.566-0.168-3.621-0.504v-1.723c1.164,0.352,2.238,0.527,3.223,0.527
-						c0.906,0,1.588-0.305,2.045-0.914s0.686-1.648,0.686-3.117c0-1.227-0.268-2.146-0.803-2.76s-1.338-0.92-2.408-0.92
-						c-0.711,0-1.418,0.043-2.121,0.129v-8.262h8.191v1.582h-5.016V150.252z"/>
-				</g>
-			</g>
-			<g>
-				<g>
-					<path d="M82.354,270.883c0.93,0.297,1.627,0.791,2.092,1.482s0.697,1.58,0.697,2.666c0,1.773-0.447,3.08-1.342,3.92
-						s-2.287,1.26-4.178,1.26c-1.203,0-2.395-0.176-3.574-0.527v-1.746c1.273,0.383,2.336,0.574,3.188,0.574
-						c0.969,0,1.654-0.273,2.057-0.82s0.604-1.434,0.604-2.66c0-1.133-0.25-1.984-0.75-2.555s-1.25-0.855-2.25-0.855h-1.535v-1.582
-						h1.535c0.922,0,1.613-0.25,2.074-0.75s0.691-1.25,0.691-2.25c0-0.93-0.199-1.627-0.598-2.092s-0.992-0.697-1.781-0.697
-						c-0.523,0-1.465,0.176-2.824,0.527v-1.746c1.352-0.32,2.535-0.48,3.551-0.48c1.625,0,2.846,0.361,3.662,1.084
-						s1.225,1.803,1.225,3.24c0,0.969-0.213,1.787-0.639,2.455S83.197,270.516,82.354,270.883z"/>
-					<path d="M91.506,268.891h0.492c1.578,0,2.789,0.465,3.633,1.395s1.266,2.262,1.266,3.996c0,1.977-0.465,3.459-1.395,4.447
-						s-2.32,1.482-4.172,1.482c-1.359,0-2.566-0.168-3.621-0.504v-1.723c1.164,0.352,2.238,0.527,3.223,0.527
-						c0.906,0,1.588-0.305,2.045-0.914s0.686-1.648,0.686-3.117c0-1.227-0.268-2.146-0.803-2.76s-1.338-0.92-2.408-0.92
-						c-0.711,0-1.418,0.043-2.121,0.129v-8.262h8.191v1.582h-5.016V268.891z"/>
-				</g>
-			</g>
-			<g>
-				<g>
-					<path d="M146.613,289.217c0.93,0.297,1.627,0.791,2.092,1.482s0.697,1.58,0.697,2.666c0,1.773-0.447,3.08-1.342,3.92
-						s-2.287,1.26-4.178,1.26c-1.203,0-2.395-0.176-3.574-0.527v-1.746c1.273,0.383,2.336,0.574,3.188,0.574
-						c0.969,0,1.654-0.273,2.057-0.82s0.604-1.434,0.604-2.66c0-1.133-0.25-1.984-0.75-2.555s-1.25-0.855-2.25-0.855h-1.535v-1.582
-						h1.535c0.922,0,1.613-0.25,2.074-0.75s0.691-1.25,0.691-2.25c0-0.93-0.199-1.627-0.598-2.092s-0.992-0.697-1.781-0.697
-						c-0.523,0-1.465,0.176-2.824,0.527v-1.746c1.352-0.32,2.535-0.48,3.551-0.48c1.625,0,2.846,0.361,3.662,1.084
-						s1.225,1.803,1.225,3.24c0,0.969-0.213,1.787-0.639,2.455S147.457,288.85,146.613,289.217z"/>
-					<path d="M156.727,280.885c1.383,0,2.412,0.387,3.088,1.16s1.105,1.752,1.289,2.936s0.275,2.697,0.275,4.541
-						c0,2.547-0.172,4.412-0.516,5.596s-0.869,2.051-1.576,2.602s-1.611,0.826-2.713,0.826c-1.422,0-2.473-0.424-3.152-1.271
-						s-1.1-1.877-1.26-3.088s-0.24-2.766-0.24-4.664c0-3.242,0.402-5.492,1.207-6.75S155.133,280.885,156.727,280.885z
-						 M156.645,296.963c0.695,0,1.131-0.496,1.307-1.488s0.264-2.977,0.264-5.953c0-2.031-0.037-3.525-0.111-4.482
-						s-0.219-1.625-0.434-2.004s-0.557-0.568-1.025-0.568c-0.648,0-1.07,0.457-1.266,1.371s-0.293,2.809-0.293,5.684
-						c0,3.117,0.09,5.137,0.27,6.059S155.965,296.963,156.645,296.963z"/>
-				</g>
-			</g>
-			<g>
-				<g>
-					<path d="M216.205,280.117h-9.645v-1.371c0-1.336,0.258-2.561,0.773-3.674s1.594-2.393,3.234-3.838
-						c0.969-0.867,1.621-1.604,1.957-2.209s0.504-1.197,0.504-1.775c0-0.898-0.25-1.623-0.75-2.174s-1.176-0.826-2.027-0.826
-						c-0.68,0-1.832,0.191-3.457,0.574v-1.723c1.531-0.367,2.875-0.551,4.031-0.551c1.648,0,2.957,0.414,3.926,1.242
-						s1.453,1.988,1.453,3.48c0,0.867-0.199,1.734-0.598,2.602s-1.332,1.945-2.801,3.234c-0.758,0.656-1.352,1.215-1.781,1.676
-						s-0.791,1.002-1.084,1.623s-0.439,1.33-0.439,2.127h6.703V280.117z"/>
-					<path d="M222.111,268.891h0.492c1.578,0,2.789,0.465,3.633,1.395s1.266,2.262,1.266,3.996c0,1.977-0.465,3.459-1.395,4.447
-						s-2.32,1.482-4.172,1.482c-1.359,0-2.566-0.168-3.621-0.504v-1.723c1.164,0.352,2.238,0.527,3.223,0.527
-						c0.906,0,1.588-0.305,2.045-0.914s0.686-1.648,0.686-3.117c0-1.227-0.268-2.146-0.803-2.76s-1.338-0.92-2.408-0.92
-						c-0.711,0-1.418,0.043-2.121,0.129v-8.262h8.191v1.582h-5.016V268.891z"/>
-				</g>
-			</g>
-			<g>
-				<g>
-					<path d="M282.977,161.479h-9.492v-1.582h3.164v-13.184l-3.164,0.703v-1.582l4.746-1.805h1.582v15.867h3.164V161.479z"/>
-					<path d="M288.672,150.252h0.492c1.578,0,2.789,0.465,3.633,1.395s1.266,2.262,1.266,3.996c0,1.977-0.465,3.459-1.395,4.447
-						s-2.32,1.482-4.172,1.482c-1.359,0-2.566-0.168-3.621-0.504v-1.723c1.164,0.352,2.238,0.527,3.223,0.527
-						c0.906,0,1.588-0.305,2.045-0.914s0.686-1.648,0.686-3.117c0-1.227-0.268-2.146-0.803-2.76s-1.338-0.92-2.408-0.92
-						c-0.711,0-1.418,0.043-2.121,0.129v-8.262h8.191v1.582h-5.016V150.252z"/>
-				</g>
-			</g>
-			<g>
-				<g>
-					<path d="M268.477,99.617h-9.492v-1.582h3.164V84.852l-3.164,0.703v-1.582l4.746-1.805h1.582v15.867h3.164V99.617z"/>
-					<path d="M275.133,82.051c1.383,0,2.412,0.387,3.088,1.16s1.105,1.752,1.289,2.936s0.275,2.697,0.275,4.541
-						c0,2.547-0.172,4.412-0.516,5.596s-0.869,2.051-1.576,2.602s-1.611,0.826-2.713,0.826c-1.422,0-2.473-0.424-3.152-1.271
-						s-1.1-1.877-1.26-3.088s-0.24-2.766-0.24-4.664c0-3.242,0.402-5.492,1.207-6.75S273.539,82.051,275.133,82.051z
-						 M275.051,98.129c0.695,0,1.131-0.496,1.307-1.488s0.264-2.977,0.264-5.953c0-2.031-0.037-3.525-0.111-4.482
-						s-0.219-1.625-0.434-2.004s-0.557-0.568-1.025-0.568c-0.648,0-1.07,0.457-1.266,1.371s-0.293,2.809-0.293,5.684
-						c0,3.117,0.09,5.137,0.27,6.059S274.371,98.129,275.051,98.129z"/>
-				</g>
-			</g>
-			<g>
-				<g>
-					<path d="M268.266,223.449h-9.645v-1.371c0-1.336,0.258-2.561,0.773-3.674s1.594-2.393,3.234-3.838
-						c0.969-0.867,1.621-1.604,1.957-2.209s0.504-1.197,0.504-1.775c0-0.898-0.25-1.623-0.75-2.174s-1.176-0.826-2.027-0.826
-						c-0.68,0-1.832,0.191-3.457,0.574v-1.723c1.531-0.367,2.875-0.551,4.031-0.551c1.648,0,2.957,0.414,3.926,1.242
-						s1.453,1.988,1.453,3.48c0,0.867-0.199,1.734-0.598,2.602s-1.332,1.945-2.801,3.234c-0.758,0.656-1.352,1.215-1.781,1.676
-						s-0.791,1.002-1.084,1.623s-0.439,1.33-0.439,2.127h6.703V223.449z"/>
-					<path d="M275.133,205.883c1.383,0,2.412,0.387,3.088,1.16s1.105,1.752,1.289,2.936s0.275,2.697,0.275,4.541
-						c0,2.547-0.172,4.412-0.516,5.596s-0.869,2.051-1.576,2.602s-1.611,0.826-2.713,0.826c-1.422,0-2.473-0.424-3.152-1.271
-						s-1.1-1.877-1.26-3.088s-0.24-2.766-0.24-4.664c0-3.242,0.402-5.492,1.207-6.75S273.539,205.883,275.133,205.883z
-						 M275.051,221.961c0.695,0,1.131-0.496,1.307-1.488s0.264-2.977,0.264-5.953c0-2.031-0.037-3.525-0.111-4.482
-						s-0.219-1.625-0.434-2.004s-0.557-0.568-1.025-0.568c-0.648,0-1.07,0.457-1.266,1.371s-0.293,2.809-0.293,5.684
-						c0,3.117,0.09,5.137,0.27,6.059S274.371,221.961,275.051,221.961z"/>
-				</g>
-			</g>
-			<g>
-				<g>
-					<path d="M31.602,219.83H30.23v3.621h-3.164v-3.621h-6.117v-1.582l7.031-12.246h2.25v12.246h1.371V219.83z M27.066,210.818
-						l-4.055,7.43h4.055V210.818z"/>
-					<path d="M37.965,205.885c1.383,0,2.412,0.387,3.088,1.16s1.105,1.752,1.289,2.936s0.275,2.697,0.275,4.541
-						c0,2.547-0.172,4.412-0.516,5.596s-0.869,2.051-1.576,2.602s-1.611,0.826-2.713,0.826c-1.422,0-2.473-0.424-3.152-1.271
-						s-1.1-1.877-1.26-3.088s-0.24-2.766-0.24-4.664c0-3.242,0.402-5.492,1.207-6.75S36.371,205.885,37.965,205.885z
-						 M37.883,221.963c0.695,0,1.131-0.496,1.307-1.488s0.264-2.977,0.264-5.953c0-2.031-0.037-3.525-0.111-4.482
-						s-0.219-1.625-0.434-2.004s-0.557-0.568-1.025-0.568c-0.648,0-1.07,0.457-1.266,1.371s-0.293,2.809-0.293,5.684
-						c0,3.117,0.09,5.137,0.27,6.059S37.203,221.963,37.883,221.963z"/>
-				</g>
-			</g>
-		</g>
-		<g>
-			<path d="M140.828,38.072l-0.994,0.104l2.504,23.826c0.331-0.037,0.662-0.074,0.994-0.107L140.828,38.072z"/>
-			<path d="M128.916,39.816l-0.979,0.209l4.998,23.508c0.326-0.07,0.65-0.146,0.978-0.213L128.916,39.816z"/>
-			<path d="M117.279,42.912l-0.951,0.309l7.416,22.822c0.316-0.105,0.633-0.207,0.951-0.309L117.279,42.912z"/>
-			<path d="M106.031,47.242l-0.916,0.408l9.738,21.859c0.304-0.137,0.611-0.268,0.917-0.402L106.031,47.242z"/>
-			<path d="M85.146,59.168l-0.809,0.59l14.094,19.385c0.268-0.197,0.537-0.395,0.809-0.59L85.146,59.168z"/>
-			<path d="M75.789,66.654l-0.742,0.668L91.096,85.15c0.246-0.223,0.498-0.441,0.746-0.664L75.789,66.654z"/>
-			<path d="M67.219,75.15l-0.668,0.742l17.833,16.053c0.222-0.248,0.44-0.5,0.665-0.746L67.219,75.15z"/>
-			<path d="M59.598,84.439l-0.59,0.809l19.427,14.115c0.194-0.271,0.392-0.541,0.589-0.809L59.598,84.439z"/>
-			<path d="M47.49,105.275l-0.406,0.912l21.898,9.736c0.133-0.305,0.263-0.611,0.399-0.914L47.49,105.275z"/>
-			<path d="M43.119,116.486l-0.311,0.953l22.809,7.4c0.102-0.32,0.205-0.637,0.31-0.953L43.119,116.486z"/>
-			<path d="M39.979,128.043l-0.207,0.975l23.447,4.986c0.068-0.326,0.143-0.648,0.213-0.975L39.979,128.043z"/>
-			<path d="M38.016,139.939l-0.104,0.992l23.879,2.508c0.033-0.332,0.07-0.662,0.105-0.992L38.016,139.939z"/>
-			<path d="M37.914,163.971l0.104,0.994l23.879-2.51c-0.035-0.33-0.072-0.662-0.105-0.994L37.914,163.971z"/>
-			<path d="M39.769,175.885l0.212,0.979l23.451-4.988c-0.07-0.326-0.145-0.65-0.213-0.979L39.769,175.885z"/>
-			<path d="M42.807,187.463l0.31,0.953l22.811-7.4c-0.104-0.316-0.208-0.635-0.31-0.953L42.807,187.463z"/>
-			<path d="M47.084,198.711l0.408,0.914l21.889-9.734c-0.137-0.305-0.267-0.611-0.4-0.916L47.084,198.711z"/>
-			<path d="M59.01,219.654l0.588,0.811l19.428-14.117c-0.198-0.268-0.396-0.537-0.591-0.809L59.01,219.654z"/>
-			<path d="M66.549,229.01l0.67,0.74l17.828-16.049c-0.224-0.246-0.442-0.496-0.664-0.744L66.549,229.01z"/>
-			<path d="M75.046,237.582l0.745,0.67l16.053-17.836c-0.249-0.221-0.5-0.441-0.748-0.666L75.046,237.582z"/>
-			<path d="M84.336,245.143l0.81,0.59l14.093-19.385c-0.271-0.195-0.54-0.391-0.809-0.59L84.336,245.143z"/>
-			<path d="M105.115,257.252l0.914,0.406l9.739-21.865c-0.305-0.133-0.612-0.264-0.915-0.402L105.115,257.252z"/>
-			<path d="M116.33,261.682l0.949,0.311l7.416-22.824c-0.317-0.102-0.634-0.203-0.949-0.309L116.33,261.682z"/>
-			<path d="M127.938,264.875l0.977,0.211l4.998-23.504c-0.328-0.068-0.652-0.143-0.978-0.213L127.938,264.875z"/>
-			<path d="M139.834,266.725l0.994,0.104l2.504-23.822c-0.332-0.031-0.663-0.068-0.994-0.105L139.834,266.725z"/>
-			<path d="M163.865,266.828l0.994-0.104l-2.504-23.824c-0.33,0.037-0.66,0.074-0.994,0.105L163.865,266.828z"/>
-			<path d="M175.779,265.086l0.979-0.211l-4.996-23.508c-0.326,0.072-0.652,0.146-0.979,0.215L175.779,265.086z"/>
-			<path d="M187.418,261.992l0.949-0.311l-7.416-22.822c-0.316,0.104-0.633,0.207-0.951,0.307L187.418,261.992z"/>
-			<path d="M198.664,257.658l0.916-0.406l-9.738-21.861c-0.305,0.139-0.611,0.27-0.916,0.402L198.664,257.658z"/>
-			<path d="M219.551,245.732l0.809-0.59l-14.094-19.385c-0.268,0.197-0.537,0.395-0.809,0.59L219.551,245.732z"/>
-			<path d="M228.904,238.252l0.744-0.67l-16.051-17.832c-0.246,0.225-0.498,0.445-0.748,0.666L228.904,238.252z"/>
-			<path d="M237.477,229.75l0.67-0.74l-17.836-16.055c-0.221,0.25-0.439,0.5-0.664,0.746L237.477,229.75z"/>
-			<path d="M245.098,220.465l0.588-0.811l-19.426-14.115c-0.195,0.27-0.393,0.539-0.59,0.809L245.098,220.465z"/>
-			<path d="M257.207,199.625l0.404-0.914l-21.896-9.738c-0.135,0.307-0.264,0.613-0.402,0.916L257.207,199.625z"/>
-			<path d="M261.576,188.416l0.311-0.953l-22.811-7.4c-0.102,0.318-0.203,0.637-0.309,0.953L261.576,188.416z"/>
-			<path d="M264.717,176.863l0.207-0.979l-23.449-4.988c-0.066,0.328-0.141,0.652-0.213,0.979L264.717,176.863z"/>
-			<path d="M266.68,164.965l0.104-0.994l-23.881-2.51c-0.031,0.332-0.068,0.664-0.105,0.994L266.68,164.965z"/>
-			<path d="M266.783,140.932l-0.107-0.992l-23.879,2.508c0.037,0.33,0.074,0.66,0.105,0.992L266.783,140.932z"/>
-			<path d="M264.924,129.018l-0.207-0.975l-23.453,4.986c0.07,0.326,0.145,0.648,0.211,0.975L264.924,129.018z"/>
-			<path d="M261.887,117.439l-0.309-0.953l-22.811,7.4c0.105,0.316,0.207,0.635,0.309,0.953L261.887,117.439z"/>
-			<path d="M257.613,106.188l-0.408-0.912l-21.893,9.734c0.137,0.305,0.266,0.611,0.4,0.916L257.613,106.188z"/>
-			<path d="M245.686,85.248l-0.588-0.809L225.67,98.555c0.197,0.27,0.395,0.537,0.59,0.809L245.686,85.248z"/>
-			<path d="M238.146,75.893l-0.672-0.742l-17.828,16.049c0.225,0.246,0.443,0.498,0.666,0.746L238.146,75.893z"/>
-			<path d="M229.648,67.322l-0.742-0.668l-16.053,17.832c0.248,0.223,0.498,0.441,0.746,0.666L229.648,67.322z"/>
-			<path d="M220.361,59.758l-0.813-0.59l-14.094,19.385c0.271,0.195,0.541,0.393,0.811,0.592L220.361,59.758z"/>
-			<path d="M199.578,47.65l-0.912-0.408l-9.74,21.865c0.305,0.135,0.611,0.266,0.914,0.402L199.578,47.65z"/>
-			<path d="M188.369,43.221l-0.953-0.309L180,65.734c0.318,0.102,0.635,0.205,0.951,0.309L188.369,43.221z"/>
-			<path d="M176.76,40.025l-0.979-0.209l-4.998,23.504c0.328,0.068,0.652,0.143,0.979,0.213L176.76,40.025z"/>
-			<path d="M164.861,38.176l-0.994-0.104l-2.504,23.822c0.332,0.033,0.662,0.07,0.994,0.107L164.861,38.176z"/>
-			<path d="M153.35,61.463V32.451h-2.002v29.012c0.334-0.004,0.666-0.012,1-0.012S153.016,61.459,153.35,61.463z"/>
-			<path d="M93.215,48.006l-1.732,0.998l14.506,25.131c0.573-0.34,1.15-0.674,1.73-1L93.215,48.006z"/>
-			<path d="M48.9,91.586l-0.998,1.729l25.129,14.506c0.328-0.58,0.66-1.156,1.001-1.729L48.9,91.586z"/>
-			<path d="M61.359,151.453H32.347v1.996h29.013c-0.004-0.334-0.012-0.664-0.012-0.998S61.355,151.785,61.359,151.453z"/>
-			<path d="M47.9,211.584l1.002,1.734l25.131-14.508c-0.34-0.572-0.676-1.15-1.003-1.732L47.9,211.584z"/>
-			<path d="M91.48,255.898l1.734,0.998l14.504-25.129c-0.581-0.328-1.158-0.662-1.73-1.002L91.48,255.898z"/>
-			<path d="M151.348,243.438v29.014h2.002v-29.014c-0.334,0.004-0.668,0.014-1.002,0.014S151.682,243.441,151.348,243.438z"/>
-			<path d="M211.48,256.896l1.734-0.998l-14.508-25.133c-0.574,0.34-1.15,0.674-1.732,1.002L211.48,256.896z"/>
-			<path d="M255.793,213.318l1-1.734l-25.129-14.506c-0.328,0.582-0.662,1.158-1.002,1.732L255.793,213.318z"/>
-			<path d="M243.334,153.449h29.014v-1.996h-29.014c0.004,0.332,0.014,0.664,0.014,0.998S243.338,153.115,243.334,153.449z"/>
-			<path d="M256.791,93.314l-0.998-1.729l-25.131,14.506c0.338,0.572,0.672,1.148,1,1.729L256.791,93.314z"/>
-			<path d="M213.211,49.004l-1.729-0.998l-14.506,25.129c0.58,0.328,1.156,0.662,1.729,1.002L213.211,49.004z"/>
-		</g>
-	</g>
-	<rect fill="none" width="305" height="305"/>
-</g>
-</svg>
--- a/clock/data/timer/qtg_graf_timer_bg.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="292px" height="292px" viewBox="0 0 292 292" enable-background="new 0 0 292 292" xml:space="preserve">
-<g>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="144.9668" y1="2.0586" x2="147.0384" y2="290.504">
-			<stop  offset="0" style="stop-color:#00B9FF"/>
-			<stop  offset="0.2458" style="stop-color:#00A0EE"/>
-			<stop  offset="0.563" style="stop-color:#0087DC"/>
-			<stop  offset="0.7527" style="stop-color:#007DD5"/>
-		</linearGradient>
-		<path fill="url(#SVGID_1_)" d="M291,146.002C291,226.086,226.082,291,146,291S1,226.086,1,146.002C1,65.916,65.918,1,146,1
-			S291,65.916,291,146.002z"/>
-		<g>
-			<polygon points="145.717,259.359 145.717,29.361 147.715,29.361 147.715,259.359 145.717,259.359 			"/>
-			<polygon points="157.246,249.334 135.191,39.492 136.186,39.387 158.242,249.23 157.246,249.334 			"/>
-			<polygon points="135.191,249.23 157.246,39.387 158.242,39.492 136.186,249.334 135.191,249.23 			"/>
-			<polygon points="124.293,247.451 168.162,41.063 169.141,41.271 125.271,247.658 124.293,247.451 			"/>
-			<polygon points="113.639,244.543 178.842,43.871 179.793,44.18 114.592,244.852 113.639,244.543 			"/>
-			<polygon points="103.348,240.537 189.17,47.779 190.084,48.186 104.264,240.943 103.348,240.537 			"/>
-			<polygon points="84.301,229.418 208.322,58.717 209.133,59.305 85.109,230.006 84.301,229.418 			"/>
-			<polygon points="75.752,222.428 216.938,65.625 217.682,66.295 76.496,223.098 75.752,222.428 			"/>
-			<polygon points="67.98,214.584 224.783,73.396 225.453,74.141 68.65,215.326 67.98,214.584 			"/>
-			<polygon points="61.07,205.969 231.773,81.945 232.361,82.756 61.66,206.777 61.07,205.969 			"/>
-			<polygon points="50.135,186.814 242.893,100.994 243.299,101.908 50.541,187.729 50.135,186.814 			"/>
-			<polygon points="46.227,176.486 246.898,111.285 247.207,112.236 46.535,177.439 46.227,176.486 			"/>
-			<polygon points="43.418,165.807 249.807,121.938 250.016,122.916 43.627,166.785 43.418,165.807 			"/>
-			<polygon points="41.742,154.893 251.586,132.836 251.691,133.832 41.848,155.887 41.742,154.893 			"/>
-			<polygon points="41.848,132.836 251.691,154.893 251.586,155.887 41.742,133.832 41.848,132.836 			"/>
-			<polygon points="43.627,121.938 250.016,165.807 249.807,166.785 43.418,122.916 43.627,121.938 			"/>
-			<polygon points="46.533,111.285 247.207,176.488 246.898,177.439 46.227,112.236 46.533,111.285 			"/>
-			<polygon points="50.541,100.994 243.299,186.816 242.893,187.73 50.135,101.908 50.541,100.994 			"/>
-			<polygon points="61.66,81.945 232.361,205.969 231.773,206.777 61.072,82.756 61.66,81.945 			"/>
-			<polygon points="68.65,73.396 225.453,214.584 224.783,215.326 67.979,74.141 68.65,73.396 			"/>
-			<polygon points="76.494,65.625 217.682,222.43 216.938,223.098 75.752,66.295 76.494,65.625 			"/>
-			<polygon points="85.109,58.715 209.133,229.42 208.322,230.008 84.301,59.305 85.109,58.715 			"/>
-			<polygon points="168.162,247.658 124.293,41.271 125.271,41.063 169.141,247.451 168.162,247.658 			"/>
-			<polygon points="178.842,244.852 113.639,44.18 114.59,43.871 179.793,244.543 178.842,244.852 			"/>
-			<polygon points="189.17,240.943 103.348,48.186 104.262,47.779 190.084,240.537 189.17,240.943 			"/>
-			<polygon points="88.35,243.453 203.35,44.27 205.084,45.268 90.082,244.453 88.35,243.453 			"/>
-			<polygon points="88.35,45.268 90.082,44.27 205.084,243.453 203.35,244.453 88.35,45.268 			"/>
-			<polygon points="31.717,145.361 31.717,143.361 261.719,143.361 261.719,145.361 31.717,145.361 			"/>
-			<polygon points="46.623,87.729 47.625,85.996 246.811,200.996 245.811,202.725 46.623,87.729 			"/>
-			<polygon points="46.623,200.996 245.811,85.996 246.811,87.729 47.625,202.725 46.623,200.996 			"/>
-			<g>
-				<g>
-					<path fill="#F2F2F2" d="M135.988,281.377c0.602,0.383,1.992,0.984,3.457,0.984c2.713,0,3.553-1.729,3.527-3.025
-						c-0.023-2.184-1.992-3.119-4.031-3.119h-1.176v-1.586h1.176c1.535,0,3.48-0.791,3.48-2.639c0-1.248-0.793-2.354-2.736-2.354
-						c-1.248,0-2.449,0.553-3.121,1.033l-0.551-1.537c0.814-0.6,2.4-1.199,4.08-1.199c3.072,0,4.465,1.824,4.465,3.721
-						c0,1.607-0.961,2.975-2.881,3.672v0.047c1.92,0.385,3.48,1.824,3.48,4.01c0,2.496-1.945,4.68-5.689,4.68
-						c-1.752,0-3.287-0.553-4.057-1.057L135.988,281.377z"/>
-					<path fill="#F2F2F2" d="M158.166,275.832c0,5.305-1.969,8.232-5.426,8.232c-3.047,0-5.111-2.855-5.16-8.016
-						c0-5.234,2.256-8.113,5.424-8.113C156.293,267.936,158.166,270.863,158.166,275.832z M149.693,276.072
-						c0,4.057,1.248,6.359,3.168,6.359c2.16,0,3.191-2.52,3.191-6.504c0-3.84-0.984-6.361-3.168-6.361
-						C151.037,269.566,149.693,271.824,149.693,276.072z"/>
-				</g>
-				<g>
-					<path fill="#F2F2F2" d="M268.225,137.771h-0.047l-2.713,1.465l-0.408-1.609l3.408-1.824h1.801v15.602h-2.041V137.771z"/>
-					<path fill="#F2F2F2" d="M285.266,137.58h-5.953l-0.6,4.008c0.359-0.047,0.695-0.096,1.271-0.096c1.201,0,2.4,0.264,3.361,0.84
-						c1.225,0.695,2.232,2.041,2.232,4.008c0,3.049-2.426,5.33-5.809,5.33c-1.705,0-3.145-0.48-3.889-0.961l0.527-1.607
-						c0.648,0.383,1.92,0.863,3.336,0.863c1.992,0,3.697-1.297,3.697-3.385c-0.023-2.016-1.369-3.455-4.488-3.455
-						c-0.889,0-1.584,0.096-2.16,0.168l1.008-7.49h7.465V137.58z"/>
-				</g>
-				<g>
-					<path fill="#F2F2F2" d="M13.67,151.404v-4.248H6.422v-1.393l6.959-9.961h2.281v9.697h2.184v1.656h-2.184v4.248H13.67z
-						 M13.67,145.5v-5.207c0-0.816,0.023-1.633,0.072-2.449H13.67c-0.48,0.912-0.865,1.584-1.297,2.305l-3.816,5.305v0.047H13.67z"
-						/>
-					<path fill="#F2F2F2" d="M28.766,137.58h-5.953l-0.6,4.008c0.359-0.047,0.695-0.096,1.271-0.096c1.201,0,2.4,0.264,3.361,0.84
-						c1.225,0.695,2.232,2.041,2.232,4.008c0,3.049-2.426,5.33-5.809,5.33c-1.705,0-3.145-0.48-3.889-0.961l0.527-1.607
-						c0.648,0.383,1.92,0.863,3.336,0.863c1.992,0,3.697-1.297,3.697-3.385c-0.023-2.016-1.369-3.455-4.488-3.455
-						c-0.889,0-1.584,0.096-2.16,0.168l1.008-7.49h7.465V137.58z"/>
-				</g>
-				<g>
-					<path fill="#F2F2F2" d="M152.01,15.832c0,5.305-1.969,8.232-5.424,8.232c-3.049,0-5.113-2.855-5.16-8.016
-						c0-5.234,2.256-8.113,5.424-8.113C150.139,7.936,152.01,10.863,152.01,15.832z M143.537,16.072
-						c0,4.057,1.248,6.359,3.168,6.359c2.16,0,3.193-2.52,3.193-6.504c0-3.84-0.984-6.361-3.168-6.361
-						C144.881,9.566,143.537,11.824,143.537,16.072z"/>
-				</g>
-				<g>
-					<path fill="#F2F2F2" d="M201.344,266.35v-1.297l1.656-1.607c3.984-3.793,5.783-5.809,5.809-8.16
-						c0-1.584-0.77-3.049-3.098-3.049c-1.416,0-2.592,0.721-3.313,1.32l-0.672-1.488c1.08-0.912,2.617-1.584,4.418-1.584
-						c3.359,0,4.775,2.305,4.775,4.535c0,2.881-2.088,5.209-5.377,8.377l-1.248,1.152v0.049h7.01v1.752H201.344z"/>
-					<path fill="#F2F2F2" d="M222.967,252.523h-5.951l-0.6,4.01c0.359-0.049,0.695-0.098,1.271-0.098c1.199,0,2.4,0.266,3.359,0.842
-						c1.225,0.695,2.232,2.039,2.232,4.008c0,3.049-2.424,5.328-5.809,5.328c-1.703,0-3.145-0.48-3.889-0.961l0.529-1.607
-						c0.648,0.385,1.92,0.865,3.336,0.865c1.992,0,3.695-1.297,3.695-3.385c-0.023-2.018-1.367-3.457-4.488-3.457
-						c-0.887,0-1.584,0.096-2.16,0.168l1.01-7.488h7.463V252.523z"/>
-				</g>
-				<g>
-					<path fill="#F2F2F2" d="M252.215,78.574h-0.047l-2.713,1.463l-0.408-1.607l3.408-1.824h1.801v15.602h-2.041V78.574z"/>
-					<path fill="#F2F2F2" d="M270.313,84.238c0,5.305-1.969,8.232-5.426,8.232c-3.047,0-5.111-2.855-5.16-8.016
-						c0-5.234,2.256-8.113,5.424-8.113C268.439,76.342,270.313,79.27,270.313,84.238z M261.84,84.479
-						c0,4.057,1.248,6.359,3.168,6.359c2.16,0,3.191-2.52,3.191-6.504c0-3.84-0.984-6.361-3.168-6.361
-						C263.184,77.973,261.84,80.23,261.84,84.479z"/>
-				</g>
-				<g>
-					<path fill="#F2F2F2" d="M28.525,216.248V212h-7.248v-1.393l6.959-9.961h2.281v9.697h2.184V212h-2.184v4.248H28.525z
-						 M28.525,210.344v-5.209c0-0.816,0.023-1.633,0.072-2.447h-0.072c-0.48,0.912-0.865,1.584-1.297,2.303l-3.816,5.305v0.049
-						H28.525z"/>
-					<path fill="#F2F2F2" d="M44.678,208.279c0,5.305-1.969,8.232-5.426,8.232c-3.047,0-5.111-2.855-5.16-8.016
-						c0-5.234,2.256-8.113,5.424-8.113C42.805,200.383,44.678,203.311,44.678,208.279z M36.205,208.52
-						c0,4.057,1.248,6.359,3.168,6.359c2.16,0,3.191-2.52,3.191-6.504c0-3.84-0.984-6.361-3.168-6.361
-						C37.549,202.014,36.205,204.271,36.205,208.52z"/>
-				</g>
-				<g>
-					<path fill="#F2F2F2" d="M73.986,31.451h-5.951l-0.602,4.008c0.361-0.047,0.697-0.096,1.273-0.096c1.199,0,2.4,0.264,3.359,0.84
-						c1.225,0.695,2.232,2.041,2.232,4.008c0,3.049-2.424,5.33-5.809,5.33c-1.703,0-3.145-0.48-3.889-0.961l0.529-1.607
-						c0.648,0.383,1.92,0.863,3.336,0.863c1.992,0,3.695-1.297,3.695-3.385c-0.023-2.016-1.367-3.455-4.488-3.455
-						c-0.887,0-1.584,0.096-2.16,0.168l1.01-7.49h7.463V31.451z"/>
-					<path fill="#F2F2F2" d="M86.299,31.451h-5.953l-0.6,4.008c0.359-0.047,0.695-0.096,1.271-0.096c1.201,0,2.4,0.264,3.361,0.84
-						c1.225,0.695,2.232,2.041,2.232,4.008c0,3.049-2.426,5.33-5.809,5.33c-1.705,0-3.145-0.48-3.889-0.961l0.527-1.607
-						c0.648,0.383,1.92,0.863,3.336,0.863c1.992,0,3.697-1.297,3.697-3.385c-0.023-2.016-1.369-3.455-4.488-3.455
-						c-0.889,0-1.584,0.096-2.16,0.168l1.008-7.49h7.465V31.451z"/>
-				</g>
-				<g>
-					<path fill="#F2F2F2" d="M248.828,216.248v-1.297l1.656-1.607c3.984-3.793,5.783-5.809,5.809-8.162
-						c0-1.584-0.77-3.047-3.098-3.047c-1.416,0-2.592,0.719-3.313,1.32l-0.672-1.488c1.08-0.912,2.617-1.584,4.418-1.584
-						c3.359,0,4.775,2.303,4.775,4.535c0,2.881-2.088,5.209-5.377,8.377l-1.248,1.152v0.049h7.01v1.752H248.828z"/>
-					<path fill="#F2F2F2" d="M271.508,208.279c0,5.305-1.969,8.232-5.424,8.232c-3.049,0-5.113-2.857-5.16-8.018
-						c0-5.232,2.256-8.111,5.424-8.111C269.637,200.383,271.508,203.311,271.508,208.279z M263.035,208.52
-						c0,4.055,1.248,6.359,3.168,6.359c2.16,0,3.193-2.52,3.193-6.504c0-3.84-0.984-6.361-3.168-6.361
-						C264.379,202.014,263.035,204.27,263.035,208.52z"/>
-				</g>
-				<g>
-					<path fill="#F2F2F2" d="M214.293,25.451h-5.953l-0.6,4.008c0.359-0.049,0.695-0.096,1.271-0.096c1.201,0,2.4,0.264,3.361,0.84
-						c1.225,0.695,2.232,2.039,2.232,4.008c0,3.049-2.426,5.328-5.809,5.328c-1.705,0-3.145-0.479-3.889-0.959l0.527-1.609
-						c0.648,0.385,1.92,0.865,3.336,0.865c1.992,0,3.697-1.297,3.697-3.385c-0.023-2.016-1.369-3.457-4.488-3.457
-						c-0.889,0-1.584,0.098-2.16,0.168l1.008-7.488h7.465V25.451z"/>
-				</g>
-				<g>
-					<path fill="#F2F2F2" d="M71.234,263.926c0.6,0.385,1.992,0.984,3.455,0.984c2.713,0,3.553-1.729,3.529-3.023
-						c-0.023-2.184-1.992-3.121-4.033-3.121H73.01v-1.584h1.176c1.537,0,3.48-0.791,3.48-2.641c0-1.248-0.791-2.352-2.736-2.352
-						c-1.248,0-2.447,0.553-3.119,1.033l-0.553-1.537c0.816-0.6,2.4-1.199,4.08-1.199c3.072,0,4.465,1.824,4.465,3.719
-						c0,1.609-0.961,2.977-2.881,3.674v0.047c1.92,0.385,3.48,1.824,3.48,4.008c0,2.498-1.943,4.682-5.688,4.682
-						c-1.752,0-3.289-0.553-4.057-1.057L71.234,263.926z"/>
-					<path fill="#F2F2F2" d="M92.354,252.525h-5.951l-0.6,4.008c0.359-0.047,0.695-0.096,1.271-0.096c1.199,0,2.4,0.264,3.359,0.84
-						c1.225,0.697,2.232,2.041,2.232,4.01c0,3.047-2.424,5.328-5.809,5.328c-1.703,0-3.145-0.48-3.889-0.961l0.529-1.607
-						c0.648,0.385,1.92,0.863,3.336,0.863c1.992,0,3.695-1.295,3.695-3.383c-0.023-2.018-1.367-3.457-4.488-3.457
-						c-0.887,0-1.584,0.096-2.16,0.168l1.01-7.488h7.463V252.525z"/>
-				</g>
-				<g>
-					<path fill="#F2F2F2" d="M30.283,78.383h-5.951l-0.602,4.008c0.361-0.049,0.697-0.096,1.273-0.096c1.199,0,2.4,0.264,3.359,0.84
-						c1.225,0.695,2.232,2.039,2.232,4.008c0,3.049-2.424,5.328-5.809,5.328c-1.703,0-3.145-0.479-3.889-0.959l0.529-1.609
-						c0.648,0.385,1.92,0.865,3.336,0.865c1.992,0,3.695-1.297,3.695-3.385c-0.023-2.016-1.367-3.457-4.488-3.457
-						c-0.887,0-1.584,0.098-2.16,0.168l1.01-7.488h7.463V78.383z"/>
-					<path fill="#F2F2F2" d="M43.652,84.238c0,5.305-1.969,8.232-5.426,8.232c-3.047,0-5.111-2.855-5.16-8.016
-						c0-5.232,2.256-8.113,5.424-8.113C41.779,76.342,43.652,79.27,43.652,84.238z M35.18,84.479c0,4.057,1.248,6.361,3.168,6.361
-						c2.16,0,3.191-2.521,3.191-6.506c0-3.84-0.984-6.359-3.168-6.359C36.523,77.975,35.18,80.23,35.18,84.479z"/>
-				</g>
-			</g>
-		</g>
-		<circle fill="#E6E6E6" cx="146" cy="146" r="95"/>
-	</g>
-	<rect fill="none" width="292" height="292"/>
-</g>
-</svg>
--- a/clock/data/timer/qtg_graf_timer_overlay.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="292px" height="292px" viewBox="0 0 292 292" enable-background="new 0 0 292 292" xml:space="preserve">
-<g>
-	
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="79.2285" y1="25.7695" x2="79.2285" y2="-64.2285" gradientTransform="matrix(1 0 0 -1 66.772 126.7695)">
-		<stop  offset="0" style="stop-color:#00B9FF"/>
-		<stop  offset="0.2458" style="stop-color:#00A0EE"/>
-		<stop  offset="0.563" style="stop-color:#0087DC"/>
-		<stop  offset="0.7527" style="stop-color:#007DD5"/>
-	</linearGradient>
-	<path fill="url(#SVGID_1_)" d="M146,101c24.856,0,45,20.146,45,44.998c0,24.855-20.145,45-45,45c-24.855,0-45-20.145-45-45
-		C101,121.146,121.145,101,146,101z"/>
-	<rect fill="none" width="292" height="292"/>
-</g>
-</svg>
--- a/clock/data/timer/qtg_graf_timer_pointer.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="292px" height="292px" viewBox="0 0 292 292" enable-background="new 0 0 292 292" xml:space="preserve">
-<g>
-	<rect fill="none" width="292" height="292"/>
-	<polygon points="120.687,109.787 146.667,51.787 172.647,109.787 	"/>
-</g>
-</svg>
--- a/clock/data/toolbar/qtg_test_addnewcity.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
-	<rect fill="none" width="40" height="40"/>
-	<g>
-		<g>
-			<g>
-				<path d="M19.846,38.309l-4.657-2.392c-0.143-0.071-0.248-0.196-0.296-0.349l0,0c-0.049-0.153-0.036-0.316,0.039-0.459l0,0
-					c0.003-0.011,0.422-0.822,4.043-7.836l0,0l-5.06-2.633l0.277-0.534l0.531,0.278l-0.531-0.278l-0.277,0.534
-					c-0.293-0.152-0.411-0.514-0.258-0.807l0,0l0.443-0.864c1.544-3.015,4.185-4.988,7.161-5.517l0,0
-					c0.402-0.781,1.234-2.395,2.95-5.722l0,0c-0.635-0.327-1.566-0.809-1.566-0.809v-0.002c-0.294-0.149-0.411-0.511-0.257-0.804
-					l0,0l2.241-4.345c0.153-0.296,0.515-0.415,0.809-0.261l0,0l13.257,6.84c0.141,0.071,0.248,0.199,0.297,0.353l0,0
-					c0.049,0.15,0.036,0.315-0.036,0.456l0,0l-2.241,4.348c-0.075,0.14-0.199,0.244-0.353,0.297l0,0
-					c-0.153,0.049-0.316,0.032-0.46-0.04l0,0c0,0-0.621-0.321-1.563-0.808l0,0c-0.52,1.004-1.413,2.736-2.95,5.717l0,0
-					c0.596,1.263,0.906,2.652,0.906,4.076l0,0c0,1.651-0.414,3.344-1.248,4.96l0,0l-0.446,0.867
-					c-0.071,0.14-0.195,0.243-0.349,0.296l0,0c-0.153,0.05-0.316,0.033-0.46-0.038l0,0l-5.094-2.623
-					c-1.017,1.97-4.041,7.831-4.044,7.84l0,0c-0.075,0.14-0.195,0.244-0.349,0.297l0,0c-0.059,0.019-0.12,0.028-0.18,0.028l0,0
-					C20.029,38.377,19.935,38.354,19.846,38.309L19.846,38.309z"/>
-			</g>
-		</g>
-		<g>
-			<g>
-				<path d="M7.52,20.1c-0.156,0-0.313-0.061-0.423-0.176l0,0c-0.11-0.109-0.175-0.266-0.175-0.423l0,0v-5.337H1.578
-					c-0.157,0-0.313-0.064-0.423-0.176l0,0c-0.11-0.113-0.176-0.267-0.176-0.426l0,0V8.16c0-0.156,0.065-0.313,0.176-0.424l0,0
-					c0.111-0.113,0.267-0.174,0.423-0.174l0,0l5.344-0.004V2.225c0-0.16,0.062-0.313,0.175-0.427l0,0
-					c0.11-0.11,0.267-0.176,0.423-0.176l0,0h5.402c0.156,0,0.313,0.065,0.423,0.176l0,0c0.111,0.114,0.176,0.267,0.176,0.427l0,0
-					v5.338h5.337V8.16V7.563c0.163,0,0.313,0.061,0.426,0.174l0,0C19.398,7.852,19.46,8,19.46,8.16l0,0v5.402
-					c0,0.159-0.062,0.313-0.176,0.426l0,0c-0.114,0.111-0.264,0.173-0.426,0.173l0,0h-5.337v5.34c0,0.157-0.065,0.313-0.176,0.423
-					l0,0c-0.113,0.115-0.267,0.176-0.423,0.176l0,0H7.52L7.52,20.1z"/>
-			</g>
-		</g>
-	</g>
-</g>
-</svg>
--- a/clock/data/toolbar/qtg_test_alarm.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
-	<rect fill="none" width="40" height="40"/>
-	<g>
-		<g>
-			<circle cx="30.819" cy="29.887" r="4.693"/>
-		</g>
-		<g>
-			<g>
-				<path d="M13.694,37.482c-0.165,0-0.318-0.063-0.437-0.181l0,0L8.09,32.133c-0.11-0.113-0.174-0.262-0.181-0.419l0,0
-					l-0.206-6.682c-1.64-1.418-4.903-4.7-5.305-9.255l0,0c-0.026-0.296-0.037-0.585-0.037-0.865l0,0
-					C2.359,11.884,3.728,9.006,6.322,6.42l0,0c2.55-2.561,5.41-3.906,8.438-3.904l0,0c0.279,0,0.554,0.015,0.826,0.035l0,0
-					c4.699,0.388,8.168,3.764,9.682,5.476l0,0l6.564-0.237c0.172-0.008,0.344,0.062,0.465,0.186l0,0l5.164,5.243
-					c0.238,0.241,0.234,0.631-0.004,0.869l0,0L14.13,37.304c-0.111,0.111-0.261,0.179-0.424,0.179l0,0
-					C13.702,37.482,13.698,37.482,13.694,37.482L13.694,37.482z"/>
-			</g>
-		</g>
-	</g>
-</g>
-</svg>
--- a/clock/data/toolbar/qtg_test_analyze.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
-	<g>
-		<g>
-			<path d="M35.069,11.898l-8.76-8.762c-0.111-0.117-0.268-0.178-0.429-0.178H5.36c-0.158,0-0.316,0.061-0.43,0.178
-				C4.819,3.248,4.753,3.404,4.753,3.564v32.869c0,0.158,0.065,0.314,0.177,0.43c0.116,0.111,0.271,0.178,0.43,0.178h29.28
-				c0.157,0,0.316-0.066,0.429-0.178c0.112-0.115,0.178-0.271,0.178-0.43V12.328C35.247,12.168,35.181,12.01,35.069,11.898z
-				 M19.391,8.881c1.963,0,3.551,1.6,3.551,3.57c0,1.969-1.588,3.566-3.551,3.566c-1.967,0-3.548-1.598-3.551-3.566
-				C15.843,10.48,17.424,8.881,19.391,8.881z M25.164,30.09c0,0.162-0.063,0.313-0.179,0.428c-0.111,0.117-0.267,0.18-0.429,0.18
-				h-9.365c-0.164,0-0.315-0.063-0.428-0.18c-0.116-0.115-0.179-0.266-0.179-0.428v-2.838c0-0.162,0.063-0.316,0.175-0.432
-				c0.116-0.113,0.271-0.176,0.432-0.176h1.619V20.65l-1.085-0.023c-0.329-0.008-0.593-0.279-0.593-0.604V17.25
-				c0-0.162,0.063-0.313,0.178-0.43c0.115-0.115,0.268-0.178,0.428-0.178l6.652,0.018c0.336,0,0.606,0.27,0.606,0.604v9.381h1.56
-				c0.162,0,0.317,0.063,0.429,0.178c0.115,0.113,0.179,0.268,0.179,0.43V30.09z M33.559,12.729h-7.656
-				c-0.333,0-0.605-0.273-0.605-0.605V4.467c0-0.338,0.272-0.607,0.605-0.607c0.337,0,0.607,0.27,0.607,0.607v7.049h7.049
-				c0.337,0,0.607,0.27,0.607,0.607C34.167,12.455,33.896,12.729,33.559,12.729z"/>
-		</g>
-	</g>
-	<rect fill="none" width="40" height="40"/>
-</g>
-</svg>
--- a/clock/data/toolbar/qtg_test_lap.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
-	<g>
-		<g>
-			<g>
-				<path d="M38.817,19.563c0.017-0.134-0.02-0.265-0.101-0.368l-2.719-3.5c-0.082-0.104-0.202-0.173-0.334-0.188
-					c-0.131-0.017-0.265,0.021-0.368,0.104l-2.323,1.81c-1.211-0.732-2.574-1.239-4.027-1.464v-1.482h1.853
-					c0.134,0,0.257-0.052,0.353-0.145c0.096-0.096,0.147-0.222,0.147-0.355v-2.35c0-0.132-0.055-0.263-0.147-0.353
-					c-0.093-0.093-0.221-0.147-0.353-0.147h-7.049c-0.134,0-0.263,0.052-0.355,0.147c-0.093,0.09-0.145,0.221-0.145,0.353v2.35
-					c0,0.273,0.219,0.494,0.494,0.497l1.85,0.02v1.466c-1.429,0.22-2.769,0.714-3.967,1.426l-2.279-1.774
-					c-0.218-0.169-0.532-0.131-0.702,0.088l-2.716,3.5c-0.169,0.218-0.131,0.529,0.088,0.702l1.744,1.358
-					c-0.987,1.657-1.562,3.591-1.562,5.658C16.199,33.03,21.161,38,27.268,38c6.109,0,11.074-4.97,11.074-11.087
-					c0-2.044-0.562-3.961-1.529-5.604l1.816-1.412C38.732,19.814,38.801,19.696,38.817,19.563z M29.09,28.268
-					c0,0.131-0.055,0.256-0.147,0.352c-0.096,0.096-0.222,0.145-0.355,0.145H26.06c-0.134,0-0.26-0.049-0.355-0.145
-					c-0.093-0.096-0.145-0.221-0.145-0.352v-7.202c0-0.131,0.052-0.259,0.145-0.354c0.096-0.093,0.224-0.145,0.355-0.145h2.527
-					c0.134,0,0.263,0.052,0.355,0.145c0.093,0.096,0.147,0.224,0.147,0.354V28.268z"/>
-			</g>
-		</g>
-		<g>
-			<g>
-				<path d="M6.984,27.315c-3.243-1.933-5.43-5.473-5.43-9.523l0,0c0-2.067,0.576-4.002,1.563-5.658l0,0l-1.745-1.36
-					c-0.219-0.172-0.257-0.482-0.088-0.701l0,0l2.719-3.499c0.17-0.219,0.483-0.257,0.702-0.088l0,0L6.983,8.26
-					c1.195-0.711,2.539-1.203,3.97-1.425l0,0V5.366L9.097,5.35C8.824,5.348,8.603,5.126,8.603,4.851l0,0V2.5
-					c0-0.131,0.055-0.259,0.147-0.352l0,0c0.093-0.093,0.222-0.147,0.353-0.147l0,0h4.725c0.134,0,0.26,0.052,0.355,0.147l0,0
-					c0.093,0.093,0.145,0.218,0.145,0.352l0,0v7.154c0,0.146-0.063,0.281-0.172,0.377l0,0c-0.109,0.096-0.257,0.137-0.401,0.117l0,0
-					c-0.377-0.057-0.751-0.093-1.128-0.093l0,0c-4.255,0.009-7.714,3.47-7.722,7.733l0,0c0,1.791,0.614,3.432,1.638,4.747l0,0
-					l0.104,0.284c0.061,1.384,0.423,2.683,1.034,3.832l0,0c0.106,0.196,0.068,0.442-0.095,0.598l0,0
-					c-0.096,0.091-0.22,0.138-0.345,0.138l0,0C7.152,27.388,7.063,27.364,6.984,27.315L6.984,27.315z"/>
-			</g>
-		</g>
-		<g>
-			<g>
-				<path d="M14.307,32.272c-3.244-1.931-5.429-5.473-5.429-9.523l0,0c-0.003-2.068,0.573-4.004,1.561-5.66l0,0l-1.744-1.36
-					c-0.218-0.17-0.259-0.483-0.087-0.699l0,0l2.717-3.498c0.17-0.222,0.483-0.257,0.702-0.088l0,0l2.279,1.774
-					c1.195-0.712,2.536-1.205,3.967-1.426l0,0v-1.468l-1.852-0.017c-0.273-0.006-0.495-0.227-0.495-0.5l0,0V7.456
-					c0-0.131,0.052-0.259,0.146-0.354l0,0c0.093-0.093,0.224-0.145,0.354-0.145l0,0h4.725c0.134,0,0.26,0.052,0.353,0.147l0,0
-					c0.096,0.093,0.147,0.218,0.147,0.352l0,0v7.155c0,0.145-0.063,0.281-0.175,0.377l0,0c-0.109,0.096-0.254,0.14-0.399,0.117l0,0
-					c-0.376-0.058-0.751-0.093-1.127-0.093l0,0c-4.258,0.008-7.715,3.471-7.724,7.734l0,0c0,1.788,0.614,3.43,1.636,4.746l0,0
-					l0.106,0.284c0.061,1.382,0.421,2.682,1.035,3.831l0,0c0.106,0.196,0.065,0.442-0.096,0.598l0,0
-					c-0.096,0.092-0.22,0.139-0.344,0.139l0,0C14.475,32.345,14.386,32.321,14.307,32.272L14.307,32.272z"/>
-			</g>
-		</g>
-	</g>
-	<rect fill="none" width="40" height="40"/>
-</g>
-</svg>
--- a/clock/data/toolbar/qtg_test_newalarm.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
-	<rect fill="none" width="40" height="40"/>
-	<g>
-		<g>
-			<g>
-				<circle cx="24.229" cy="32.53" r="3.754"/>
-			</g>
-			<g>
-				<g>
-					<path d="M10.093,38.548l-4.134-4.136c-0.114-0.111-0.178-0.259-0.182-0.418l0,0l-0.163-5.287
-						c-1.332-1.163-3.921-3.79-4.246-7.453l0,0c-0.023-0.242-0.03-0.475-0.03-0.703l0,0c-0.004-2.462,1.111-4.797,3.207-6.883l0,0
-						c2.052-2.062,4.375-3.158,6.835-3.156l0,0c0.226,0,0.45,0.012,0.67,0.028l0,0c3.781,0.314,6.553,2.986,7.792,4.378l0,0
-						l5.193-0.188c0.172-0.006,0.344,0.061,0.465,0.182l0,0l4.13,4.193c0.239,0.243,0.235,0.634-0.004,0.874l0,0l-18.66,18.573
-						c-0.119,0.114-0.273,0.179-0.439,0.179l0,0C10.362,38.73,10.207,38.666,10.093,38.548L10.093,38.548z M24.618,15.781
-						l0.44-0.436L24.618,15.781L24.618,15.781z"/>
-				</g>
-			</g>
-		</g>
-		<g>
-			<g>
-				<path d="M30.54,17.302c-0.155-0.057-0.276-0.175-0.343-0.325l0,0l-1.854-4.194c-0.138-0.313,0-0.679,0.313-0.817l0,0l7.28-3.218
-					c0.313-0.138,0.676,0,0.814,0.312l0,0l1.856,4.195c0.067,0.15,0.07,0.318,0.01,0.474l0,0c-0.06,0.154-0.175,0.275-0.326,0.343
-					l0,0l-7.277,3.223c-0.08,0.034-0.165,0.053-0.249,0.053l0,0C30.689,17.346,30.613,17.331,30.54,17.302L30.54,17.302z
-					 M35.622,9.561l0.564-0.249L35.622,9.561L35.622,9.561z M26.555,11.586L22.313,9.84c-0.315-0.128-0.467-0.492-0.336-0.804l0,0
-					l3.026-7.383c0.131-0.315,0.491-0.468,0.808-0.336l0,0l4.24,1.742c0.316,0.131,0.465,0.491,0.337,0.808l0,0l-3.03,7.382
-					c-0.061,0.151-0.179,0.272-0.333,0.337l0,0c-0.075,0.031-0.155,0.047-0.235,0.047l0,0C26.711,11.633,26.63,11.617,26.555,11.586
-					L26.555,11.586z M25.341,2.46l0.235-0.571L25.341,2.46L25.341,2.46z"/>
-			</g>
-		</g>
-	</g>
-</g>
-</svg>
--- a/clock/data/toolbar/qtg_test_reset.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
-	<rect fill="none" width="40" height="40"/>
-	<g>
-		<path d="M23.19,4.596c0.446-0.448,0.882-0.886,0.882-0.886c0.204-0.206,0.204-0.539-0.002-0.741l-1.943-1.943
-			c-0.207-0.207-0.538-0.207-0.742,0l-4.912,4.917c-0.204,0.207-0.204,0.535,0,0.742l5.025,5.027c0.1,0.099,0.232,0.155,0.371,0.155
-			c0.142,0,0.271-0.057,0.371-0.153l1.945-1.937c0.1-0.1,0.153-0.23,0.153-0.372c0-0.138-0.054-0.274-0.153-0.371
-			c-0.001-0.001-0.217-0.215-0.502-0.501c4.621,1.053,8.869,5.089,8.838,9.701c0,0.142,0.054,0.271,0.153,0.374
-			c0.099,0.1,0.232,0.149,0.37,0.149h2.74c0.141,0,0.271-0.05,0.371-0.149c0.099-0.103,0.155-0.232,0.155-0.374
-			C36.285,11.217,30.01,5.507,23.19,4.596z M35.785,18.234V17.71V18.234z"/>
-		<path d="M17.388,11.723c-7.556,0-13.699,6.149-13.699,13.706c0,7.554,6.143,13.702,13.699,13.702
-			c7.56,0,13.702-6.148,13.706-13.702C31.09,17.872,24.947,11.723,17.388,11.723 M19.314,26.586c0,0.14-0.054,0.272-0.153,0.372
-			c-0.099,0.1-0.229,0.153-0.372,0.153h-2.889c-0.139,0-0.27-0.054-0.369-0.153s-0.156-0.232-0.156-0.372v-9.545
-			c0-0.139,0.057-0.272,0.156-0.371c0.097-0.097,0.233-0.154,0.369-0.154h2.889c0.14,0,0.275,0.058,0.372,0.154
-			c0.1,0.099,0.153,0.232,0.153,0.371V26.586z"/>
-	</g>
-</g>
-</svg>
--- a/clock/data/toolbar/qtg_test_split.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
-	<rect fill="none" width="40" height="40"/>
-	<g>
-		<g>
-			<path d="M35.913,13.063c0.021-0.176-0.027-0.346-0.133-0.48l-3.773-4.85c-0.22-0.281-0.629-0.336-0.912-0.115l-3.251,2.531
-				c-1.692-1.025-3.6-1.732-5.635-2.041V5.971h2.616c0.171,0,0.336-0.07,0.458-0.193c0.123-0.121,0.188-0.285,0.188-0.457v-3.26
-				c0-0.174-0.066-0.338-0.188-0.461S24.996,1.41,24.824,1.41h-9.788c-0.171,0-0.339,0.07-0.461,0.189
-				c-0.119,0.123-0.189,0.291-0.189,0.461v3.256c0,0.357,0.287,0.646,0.644,0.65l2.616,0.025v2.115
-				C15.64,8.408,13.76,9.1,12.089,10.096L8.902,7.617C8.619,7.396,8.21,7.451,7.99,7.732l-3.77,4.85
-				c-0.108,0.135-0.154,0.309-0.133,0.48s0.112,0.33,0.245,0.434l2.453,1.908c-1.378,2.299-2.184,4.984-2.184,7.855
-				c0,8.453,6.872,15.324,15.324,15.328c8.452-0.004,15.328-6.875,15.328-15.328c0-2.838-0.784-5.5-2.137-7.783l2.549-1.98
-				C35.802,13.389,35.889,13.234,35.913,13.063z M20.485,35.553c-2.71,0-5.198-0.945-7.163-2.512c-0.21-0.17-0.25-0.479-0.083-0.694
-				l6.369-8.337c0.094-0.123,0.24-0.199,0.396-0.199H31.47c0.138,0,0.265,0.057,0.359,0.153c0.096,0.098,0.145,0.224,0.143,0.361
-				C31.823,30.548,26.744,35.55,20.485,35.553z"/>
-		</g>
-	</g>
-</g>
-</svg>
--- a/clock/data/toolbar/qtg_test_start.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
-	<rect fill="none" width="40" height="40"/>
-	<g>
-		<g>
-			<path d="M7.621,37.57c-0.205-0.111-0.339-0.326-0.339-0.559l0,0V2.99c0-0.236,0.13-0.451,0.339-0.561l0,0
-				C7.83,2.322,8.083,2.34,8.275,2.473l0,0l24.176,16.98c0.168,0.117,0.267,0.313,0.267,0.516l0,0c0,0.205-0.099,0.396-0.267,0.518
-				l0,0L8.275,37.523C8.166,37.6,8.039,37.639,7.91,37.639l0,0C7.812,37.639,7.714,37.615,7.621,37.57L7.621,37.57z"/>
-		</g>
-	</g>
-</g>
-</svg>
--- a/clock/data/toolbar/qtg_test_stop.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
-	<rect fill="none" width="40" height="40"/>
-	<g>
-		<g>
-			<path d="M5.612,34.963c-0.153,0-0.296-0.06-0.406-0.169l0,0c-0.11-0.109-0.169-0.255-0.169-0.408l0,0V5.611
-				c0-0.148,0.062-0.299,0.169-0.404l0,0c0.105-0.111,0.256-0.17,0.406-0.17l0,0h28.774c0.154,0,0.297,0.059,0.406,0.17l0,0
-				c0.111,0.105,0.17,0.254,0.17,0.404l0,0v28.774c0,0.153-0.059,0.299-0.17,0.408l0,0c-0.109,0.105-0.252,0.169-0.406,0.169l0,0
-				H5.612L5.612,34.963z"/>
-		</g>
-	</g>
-</g>
-</svg>
--- a/clock/data/toolbar/qtg_test_stopwatch.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
-	<rect fill="none" width="40" height="40"/>
-	<g>
-		<path d="M35.914,13.063c0.021-0.176-0.028-0.346-0.133-0.48l-0.515,0.4l0.515-0.4l-3.773-4.85
-			c-0.221-0.281-0.631-0.336-0.914-0.115l-3.25,2.531c-1.693-1.025-3.6-1.732-5.635-2.041V5.971h2.615
-			c0.172,0,0.336-0.07,0.459-0.193c0.122-0.121,0.188-0.285,0.188-0.457v-3.26c0-0.174-0.065-0.338-0.188-0.461
-			C25.16,1.477,24.996,1.41,24.824,1.41h-9.788c-0.171,0-0.339,0.07-0.461,0.189c-0.119,0.123-0.189,0.291-0.189,0.461v3.256
-			c0,0.357,0.287,0.646,0.644,0.65l2.616,0.025v2.115C15.64,8.408,13.76,9.1,12.089,10.096L8.902,7.617
-			C8.619,7.396,8.21,7.451,7.99,7.732l-3.77,4.85c-0.108,0.135-0.154,0.309-0.133,0.48s0.112,0.33,0.245,0.434l2.453,1.908
-			c-1.378,2.299-2.184,4.984-2.184,7.855c0,8.453,6.872,15.324,15.324,15.328c8.452-0.004,15.328-6.875,15.328-15.328
-			c0-2.838-0.784-5.5-2.137-7.783l2.55-1.98C35.802,13.389,35.889,13.234,35.914,13.063z M22.404,25.135
-			c0,0.172-0.066,0.336-0.189,0.459c-0.121,0.121-0.285,0.188-0.461,0.188h-3.508c-0.174,0-0.339-0.063-0.461-0.188
-			c-0.123-0.123-0.188-0.287-0.188-0.459V15.15c0-0.172,0.07-0.34,0.188-0.457c0.123-0.123,0.29-0.189,0.461-0.189h3.508
-			c0.176,0,0.34,0.066,0.461,0.189c0.123,0.121,0.189,0.285,0.189,0.457V25.135z"/>
-	</g>
-</g>
-</svg>
--- a/clock/data/toolbar/qtg_test_timer.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
-	<rect fill="none" width="40" height="40"/>
-	<g>
-		<g>
-			<g>
-				<path d="M20.788,5.788c-1.923,0-3.759,0.349-5.473,0.957l9.151,9.954c0,0,3.764,4.007-0.358,7.782
-					c-4.117,3.799-7.919-0.183-7.919-0.183L6.633,13.913c-1.43,2.437-2.265,5.266-2.265,8.296c0,9.069,7.351,16.421,16.419,16.421
-					c9.068,0,16.42-7.352,16.42-16.421C37.208,13.141,29.855,5.788,20.788,5.788z"/>
-			</g>
-		</g>
-		<g>
-			<path d="M3.648,6.713l14.069,15.29c0,0,2.113,2.213,4.4,0.103c2.291-2.098,0.201-4.324,0.201-4.324L8.251,2.483
-				c0,0-2.251-2.3-4.443-0.288C1.618,4.211,3.648,6.713,3.648,6.713z"/>
-		</g>
-	</g>
-</g>
-</svg>
--- a/clock/data/toolbar/qtg_test_worldclock.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
-	<rect fill="none" width="40" height="40"/>
-	<g>
-		<path d="M1.376,20C1.394,30.267,9.729,38.606,20,38.624C30.268,38.606,38.607,30.267,38.624,20
-			C38.607,9.732,30.268,1.393,20,1.375C9.729,1.393,1.394,9.732,1.376,20z M9.44,23.484l-0.925,1.23c0,0-0.085,2.324-0.091,2.422
-			c-0.076,0.226-0.693,0.149-0.932,0.149c-0.807,0.761,0.421,1.424,0.217,1.895c-0.198,0.457-0.454,0.971-0.774,1.431
-			c-2.255-2.882-4.663-8.227-3.11-14.513c0.196,0.094,0.443,0.331,0.75,0.755c0.337,0.468,0.314,1.104,0.631,1.394
-			c0.378,0.346,0.784,1.573,0.784,1.573l1.043,1.126l2.408,1.559V23.484z M32.341,29.007c-0.703,0.229-0.458-0.546-0.458-0.546
-			s0.629-1.39,0.643-1.501c0.033-0.263,0.863-0.524,0.863-0.524l0.553-0.878C34.762,25.392,33.805,28.527,32.341,29.007z
-			 M26.614,5.048c0.263,0.034,0.183,0.284,0.479,0.284c0.101,0,0.53-0.112,1.054-0.258c4.178,2.173,7.342,6.03,8.584,10.674
-			c-0.055-0.003-0.089-0.008-0.089-0.008s-0.099-0.065-0.245-0.16l-0.516-1.022l-0.817-0.066l-1.664-1.402
-			c0,0,0.441,1.13,1.173,1.664c0.475,0.033,0.798-0.032,0.822-0.008c0.52,1.373-0.594,3.06-1.887,3.372
-			c-0.163-0.704-0.306-0.979-0.512-1.58l-2.266-3.081L30.6,13.782l1.045,1.59c0,0,0.74,1.241,1.046,1.961
-			c0.589,0.522,0.703,0.739,0.763,1.273c0.207,0.066,0.37,0.077,1.023-0.162c0.988-0.364,0.424,1.162,0.262,1.588
-			c-0.592,1.444-0.724,1.331-1.656,2.279c-1.441,1.018-0.668,2.793-0.732,4.229c0,0-1.455,0.98-1.994,1.192
-			c-0.5,0.714-0.01,1.389-0.261,1.406c-0.766,0.251-1.925,1.437-2.124,1.601c-0.688,0.888-1.113,1.016-1.922,0.945
-			c-2.257-0.638-1.578-2.984-1.678-3.245c-0.277-0.898-1.153-1.029-0.012-2.746c0.479-0.564,0.045-1.822-0.828-3.043
-			c-0.4-0.563,0.281-1.868,0.229-1.877c-1.461-0.272-1.764-0.93-1.828-1.095c0,0-2.974,0.593-4.001,0.508
-			c-0.787-0.063-2.488-2.101-2.817-2.854c-0.327-0.755,0.619-3.3,0.654-3.496c0.033-0.198,2.244-1.732,2.244-1.732l1.505-1.465
-			l-0.901-0.444c0,0,0.186-1.837,1.014-1.372c0.087,0.049,0.554,0.145,1.082,0.099c0.559-0.351-0.612-0.813-0.485-1.288
-			c0.03-0.112,0.463-0.166,0.027-0.56c-0.696-0.631-0.195-1.089,0.239-1.198c0.48,0.176,0.785,0.608,0.785,1.198
-			c0,0.592,1.559-0.27,1.654-0.37c-0.695-0.501-1.045-1.294-0.784-1.327c0.267-0.036,1.421-0.335,1.716-0.633
-			C24.157,4.449,26.348,5.017,26.614,5.048z M17.624,4.73c0.215-0.104,0.614,0.104,0.889,0.063c0.277-0.041,0.521,0.063,0.521,0.063
-			s-0.491,0.23-0.705,0.271C18.115,5.169,17.809,4.959,17.624,4.73z M15.487,3.866c1.532-0.454,3.157-0.699,4.835-0.699
-			c1.305,0,2.576,0.148,3.796,0.426c-1.636,0.353-3.429-0.069-3.429-0.069c-0.164,0.262-0.905,0.125-1.1,0.125
-			c-0.199,0-1.213,0.838-2.168,0.757c-0.459,0.295-0.865,0.624-1.359,0.46c-0.492-0.164-1.435,0.653-1.795,0.688
-			c-0.489,0.155-0.724,0.119-0.792-0.025C14.599,4.841,15.058,4.28,15.487,3.866z M12.276,5.191l-0.951,1.12
-			c0,0-0.196,0.587-0.306,0.74c-0.108,0.152-0.653,0.742-0.653,0.742L9.909,7.597l-0.066-0.24c0,0-0.502,0.153-0.502,0.458
-			S7.403,9.388,6.819,9.851C8.281,7.936,10.142,6.342,12.276,5.191z"/>
-		<path d="M24.55,6.61c0.171,0.151,0.739,0.464,0.825-0.047c0.085-0.514-0.452-1.293-0.452-1.293s-0.54,0.131-0.403,0.48
-			C24.656,6.099,24.381,6.459,24.55,6.61z"/>
-		<path d="M24.55,6.61c0.171,0.151,0.739,0.464,0.825-0.047c0.085-0.514-0.452-1.293-0.452-1.293s-0.54,0.131-0.403,0.48
-			C24.656,6.099,24.381,6.459,24.55,6.61z"/>
-		<path d="M24.55,6.61c0.171,0.151,0.739,0.464,0.825-0.047c0.085-0.514-0.452-1.293-0.452-1.293s-0.54,0.131-0.403,0.48
-			C24.656,6.099,24.381,6.459,24.55,6.61z"/>
-		<path d="M28.767,9.863c0,0,0.515-0.094,1.015,0.1c1.418,0.286,0.977-0.235,0.304-0.6c-0.239-0.128-0.583-0.316-0.401-0.558
-			c-0.157-0.255-0.5-0.075-0.742,0.191c-0.243,0.266-0.771-0.121-0.932,0.37C27.849,9.856,28.653,10.085,28.767,9.863z"/>
-		<path d="M28.767,9.863c0,0,0.515-0.094,1.015,0.1c1.418,0.286,0.977-0.235,0.304-0.6c-0.239-0.128-0.583-0.316-0.401-0.558
-			c-0.157-0.255-0.5-0.075-0.742,0.191c-0.243,0.266-0.771-0.121-0.932,0.37C27.849,9.856,28.653,10.085,28.767,9.863z"/>
-		<path d="M28.767,9.863c0,0,0.515-0.094,1.015,0.1c1.418,0.286,0.977-0.235,0.304-0.6c-0.239-0.128-0.583-0.316-0.401-0.558
-			c-0.157-0.255-0.5-0.075-0.742,0.191c-0.243,0.266-0.771-0.121-0.932,0.37C27.849,9.856,28.653,10.085,28.767,9.863z"/>
-		<path d="M22.225,9.034c-0.348,0.296-1.314,1.204-1.314,1.204l-1.345,0.479l1.214,0.19l1.244-0.369l1.951,0.129l0.318,0.919
-			c0,0,2.137,1.058,2.342,0.844c0.316-0.326,0.486-0.795,0.962-0.469c0.478,0.328,1.253,0.329,1.812,0.329
-			c0.232,0.067,1.053,0.611,1.03-0.739c-0.362-0.304-2.352-0.177-2.915-1.48l-0.285,0.041c0,0,0.189,0.92-0.041,0.902
-			c-0.537-0.039-1.096-1.001-1.096-1.001l-0.104-0.408l-1.401-0.793c0,0-0.007,0.234,1.085,1.191c0,0-0.369,0.631-0.858,0.664
-			c0.124-0.164,0.216-0.655,0.216-0.655l-1.345-1.077C23.694,8.936,22.52,8.784,22.225,9.034z"/>
-		<path d="M22.225,9.034c-0.348,0.296-1.314,1.204-1.314,1.204l-1.345,0.479l1.214,0.19l1.244-0.369l1.951,0.129l0.318,0.919
-			c0,0,2.137,1.058,2.342,0.844c0.316-0.326,0.486-0.795,0.962-0.469c0.478,0.328,1.253,0.329,1.812,0.329
-			c0.232,0.067,1.053,0.611,1.03-0.739c-0.362-0.304-2.352-0.177-2.915-1.48l-0.285,0.041c0,0,0.189,0.92-0.041,0.902
-			c-0.537-0.039-1.096-1.001-1.096-1.001l-0.104-0.408l-1.401-0.793c0,0-0.007,0.234,1.085,1.191c0,0-0.369,0.631-0.858,0.664
-			c0.124-0.164,0.216-0.655,0.216-0.655l-1.345-1.077C23.694,8.936,22.52,8.784,22.225,9.034z"/>
-		<path d="M22.225,9.034c-0.348,0.296-1.314,1.204-1.314,1.204l-1.345,0.479l1.214,0.19l1.244-0.369l1.951,0.129l0.318,0.919
-			c0,0,2.137,1.058,2.342,0.844c0.316-0.326,0.486-0.795,0.962-0.469c0.478,0.328,1.253,0.329,1.812,0.329
-			c0.232,0.067,1.053,0.611,1.03-0.739c-0.362-0.304-2.352-0.177-2.915-1.48l-0.285,0.041c0,0,0.189,0.92-0.041,0.902
-			c-0.537-0.039-1.096-1.001-1.096-1.001l-0.104-0.408l-1.401-0.793c0,0-0.007,0.234,1.085,1.191c0,0-0.369,0.631-0.858,0.664
-			c0.124-0.164,0.216-0.655,0.216-0.655l-1.345-1.077C23.694,8.936,22.52,8.784,22.225,9.034z"/>
-		<path d="M32.08,10.315c0.381,0.356,0.218,0.622,0.471,0.847c0.252,0.224,0.842,0.25,0.463-0.261
-			c-0.459-0.617-0.939-1.096-1.045-1.248c-0.203-0.284,0.115-0.88-0.42-0.626C31.234,9.586,31.534,9.806,32.08,10.315z"/>
-		<path d="M32.08,10.315c0.381,0.356,0.218,0.622,0.471,0.847c0.252,0.224,0.842,0.25,0.463-0.261
-			c-0.459-0.617-0.939-1.096-1.045-1.248c-0.203-0.284,0.115-0.88-0.42-0.626C31.234,9.586,31.534,9.806,32.08,10.315z"/>
-		<path d="M32.08,10.315c0.381,0.356,0.218,0.622,0.471,0.847c0.252,0.224,0.842,0.25,0.463-0.261
-			c-0.459-0.617-0.939-1.096-1.045-1.248c-0.203-0.284,0.115-0.88-0.42-0.626C31.234,9.586,31.534,9.806,32.08,10.315z"/>
-	</g>
-</g>
-</svg>
Binary file clock/data/translations/clock.qm has changed
--- a/clock/data/translations/clock.ts	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,959 +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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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>
-<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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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="yes" id="txt_clock_list_ln_minutes">
-    <comment>Alarm snooze time details in the list box (5mins, 10mins, 15mins, 30mins)</comment>        
-    <source>%Ln minutes</source>
-    <translation>
-        <numerusform variants="no">(s)%Ln minutes</numerusform>
-        <numerusform variants="no">(p)%Ln minutes</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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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>
-<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>
-<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/data/worldclock/qgn_clock_time_zone.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,228 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg baseProfile="tiny" height="320px" version="1.1" viewBox="0 0 640 320" width="640px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
-<defs id="symbolDefs">
-<symbol id="pin" overflow="visible">
-	<polygon points="0,0 0.947,-6.288 3.851,-11.624 0.583,-13.402 6.224,-17.481 7.354,-23.541 15.773,-18.959 11.299,-14.72 10.937,-7.769 7.669,-9.546 4.766,-4.209 "/>
-</symbol>
-</defs>
-
-<g id="worldmap">
-<rect fill="#E8F5F8" height="320" width="640"/>
-<g>
-<path d="M225.453,37.671c0.315,0,1.583-0.28,2.057-0.438c0.474-0.158,1.022-0.588,1.022-0.588   s-1.184-0.552-1.737-0.552c-0.552,0-2.368-0.868-2.605-0.475c-0.237,0.395-1.184,0.79-1.184,0.79s1.105,0.631,1.342,0.631   S225.453,37.671,225.453,37.671z" fill="#B9C5D1"/>
-<path d="M485.456,141.13C485.456,141.99,484.461,142.28,485.456,141.13" fill="#B9C5D1"/>
-<path d="M487.706,148.706c0.112-0.56,0.255-0.866-0.474-1.479C487.022,147.859,487.18,148.353,487.706,148.706" fill="#B9C5D1"/>
-<path d="M487.054,146.339c0.732-1.096-0.944-0.704-0.918-0.525C486.264,146.672,487.264,146.511,487.054,146.339" fill="#B9C5D1"/>
-<path d="M494.574,159.773c-0.021-0.042,0.021-1.404-1.125-2.07C493.473,158.692,494.125,158.889,494.574,159.773" fill="#B9C5D1"/>
-<path d="M496.586,162.082c-0.097-0.337,0.998,2.11,0.651,1.895C494.404,162.206,496.593,163.1,496.586,162.082" fill="#B9C5D1"/>
-<path d="M499.429,166.581c-0.237-0.19-1.825-2.19-1.835-2.19C498.662,164.391,498.974,165.985,499.429,166.581" fill="#B9C5D1"/>
-<path d="M513.343,153.974c-0.178,0-0.118,0.474-0.415-0.118s0.237-1.007,0.237-1.007s0.533,0.415,0.533,0.651   C513.698,153.737,513.343,153.974,513.343,153.974z" fill="#B9C5D1"/>
-<path d="M540.578,116.923c-0.02,0,1.351,0.112,1.48-0.06C541.547,117.544,541.056,117.676,540.578,116.923" fill="#B9C5D1"/>
-<path d="M543.835,116.271c-0.217-0.079-0.434-0.157-0.651-0.236c-0.079,0.099-0.158,0.197-0.237,0.296   C543.249,116.427,543.545,116.407,543.835,116.271" fill="#B9C5D1"/>
-<path d="M211.263,72.977c-0.148-0.06-1.006-0.267-1.362-0.385c-0.355-0.118-1.036-0.533-1.273-0.533   c-0.236,0-0.77-0.029-1.006-0.088c-0.237-0.06-1.273-0.207-1.273-0.207s-0.208,0.118,0.118,0.266s1.214,0.296,1.244,0.414   c0.029,0.119-0.267,0.297,0.177,0.444c0.444,0.148,0.977,0.355,1.362,0.385c0.385,0.029,0.622,0.029,1.007,0.029   c0.385,0,0.651-0.147,0.799-0.177C211.204,73.095,211.263,72.977,211.263,72.977z" fill="#B9C5D1"/>
-<path d="M178.867,61.386c0.112-0.118,0.678-0.395,1.356-0.474c0.678-0.078,1.13-0.197,0.904-0.434   c-0.226-0.237-0.904-0.553-1.243-0.395c-0.339,0.157-1.355,0.315-1.355,0.631C178.528,61.031,178.867,61.386,178.867,61.386z" fill="#B9C5D1"/>
-<path d="M161.706,23.072c-0.316,0.118-0.355,0.197-0.592,0.236c-0.237,0.04-1.421-0.158-1.421-0.039   c0,0.118-0.552,0.236-0.671,0.236c-0.118,0-0.631-0.236-0.474-0.276c0.158-0.039,0.829-0.117,0.671-0.117   c-0.158,0-0.513-0.158-0.513-0.316s0.552-0.435,0.552-0.435s1.026,0,1.263,0s0.75-0.079,0.868,0.119   C161.508,22.678,161.706,23.072,161.706,23.072z" fill="#B9C5D1"/>
-<path d="M377.016,93.277c-0.072-0.043-0.296-0.346-0.356-0.357c0.002,0-0.563,0.766-0.098,0.699   C376.821,93.582,377.07,93.61,377.016,93.277" fill="#B9C5D1"/>
-<path d="M375.625,93.011c0.274-0.09,0.169-0.474-0.034-0.521C375.208,92.399,375.181,93.037,375.625,93.011" fill="#B9C5D1"/>
-<path d="M382.078,97.154c-0.323,0.217-0.753,0.303-1.047,0.507c-0.162,0.112,0.252,0.433,0.196,0.603   c-0.08,0.242-0.648,0.153-0.843,0.435c-0.269,0.388-1.096,0.347-1.505,0.249c-0.337-0.08-0.835-0.318-0.598-0.75   c0.232-0.425,0.698-0.235,1.042-0.499c0.307-0.236,0.744-0.027,1.091-0.018C380.897,97.695,381.583,97.279,382.078,97.154" fill="#B9C5D1"/>
-<path d="M367.424,97.924c-0.381,0.381-1.738,0.393-2.26,0.508c-0.332,0.073-0.674-0.315-0.948-0.468   c-0.456-0.253-1.082,0.109-1.558-0.129c-0.352-0.176-0.329-0.417,0.089-0.474c0.717-0.098,1.144,0.044,1.833,0.106   C365.522,97.554,366.481,97.774,367.424,97.924" fill="#B9C5D1"/>
-<path d="M370.947,95.793c-0.126,0.377-0.589,0.665-0.829,0.977C369.731,96.153,370.477,95.824,370.947,95.793" fill="#B9C5D1"/>
-<path d="M365.915,89.578c-0.164,0.246-0.823,0.352-0.807-0.026C365.121,89.229,365.969,89.221,365.915,89.578" fill="#B9C5D1"/>
-<path d="M366.24,94.491c-0.061,0.018-1.095-0.089-1.007,0.089c0.085,0.171,0.493,0.04,0.642,0.228   C366.045,95.022,366.246,94.659,366.24,94.491" fill="#B9C5D1"/>
-<path d="M364.642,95.083c0.107-0.087,0.22-0.354,0.17-0.491c-0.011-0.031-0.687,0.494-0.763,0.55   C364.245,95.252,364.467,95.221,364.642,95.083" fill="#B9C5D1"/>
-<path d="M368.608,97.48c0.171-0.173,0.337-0.772,0.72-0.641c0.164,0.057-0.482,0.755-0.75,0.758   C368.588,97.559,368.599,97.52,368.608,97.48" fill="#B9C5D1"/>
-<path d="M364.76,91.502c-0.06-0.094-0.736-0.629-0.737-0.606C363.997,91.257,364.418,91.66,364.76,91.502" fill="#B9C5D1"/>
-<path d="M0,27.472c0,0,0.818,1.145,3.435,0.49s4.579-1.799,9.485-0.49c0,0,4.906,1.309,5.724-0.164   c0.818-1.472,6.869-2.78,6.706-1.799s-1.799,1.472-0.164,1.963c1.635,0.49,5.724,0,5.56,1.472   c-0.163,1.473-7.522,0.818-8.013,2.453c-0.491,1.636-7.85,1.472-9.813,0.654c-1.962-0.818-4.252,1.145-5.724,1.145   c-1.472,0-7.032-1.472-7.196-0.817V27.472z" fill="#B9C5D1"/>
-<path d="M0.823,33.425v1.21c0,0,2.813-0.425,3.696-0.262c0.883,0.164,1.047-0.163,0.916-0.49   s-1.145-0.393-1.505-0.688C3.571,32.901,1.15,33.294,0.823,33.425z" fill="#B9C5D1"/>
-<path d="M0,38.004c0,0,8.145,1.93,8.995,2.715c0.851,0.785-0.065,0.785,0,1.177   c0.065,0.394,0.981,0.197,0.981,0.394s-0.098,0.72,0.327,0.393s0.458,0.131,0.752,0c0.294-0.132-1.21-1.079-0.719-1.309   c0.49-0.229,2.322,0.196,2.813,0.327c0.491,0.131,2.617,0.621,3.467,0.687c0.851,0.065,2.453,0.262,1.962,0.491   c-0.49,0.229-2.061,1.046-3.238,0.589c0,0,0.589,0.851-0.229,0.719c-0.818-0.131-1.799-0.72-1.832-0.359   c-0.033,0.359,1.014,1.93,0.36,2.093c-0.654,0.164-2.225,0.426-2.781,0.197c-0.556-0.229-1.374-0.916-1.962-0.884   c-0.589,0.033-0.588,0.458-1.603-0.981c0,0-0.458-0.752-2.093-0.196c-1.636,0.557-2.257,0.785-2.617-0.13   c-0.36-0.916,0.065-0.785,0.392-0.949c0.327-0.163,0.393-0.654,0.066-0.523s-0.72,0.426-0.851,0.262   c-0.131-0.164-0.196-0.556-0.458-0.262s-1.178,0.065-1.178,0.49c0,0.426,0.687,0.852,0.426,1.243   C0.72,44.578,0.196,44.905,0,44.905V38.004z" fill="#B9C5D1"/>
-<path d="M15.15,48.046c0,0-0.164-1.243,1.995-0.851c0,0,1.145-0.327,1.668,0.229s1.635-0.359,2.191,0.491   s0.556,0.687,0.556,0.687s-2.028-0.098-2.42,0C19.141,48.602,16.491,47.653,15.15,48.046z" fill="#B9C5D1"/>
-<path d="M22.738,53.377c0,0,3.042-0.589,3.435-0.196S28.888,56.517,22.738,53.377z" fill="#B9C5D1"/>
-<path d="M6.221,67.833c0,0-4.351-0.393-1.374,1.047L6.221,67.833z" fill="#B9C5D1"/>
-<path d="M7.169,68.095c0,0-1.112,0.653-0.622,1.046c0.491,0.394,1.832-0.556,1.766-0.687   C8.249,68.323,8.15,67.931,7.169,68.095z" fill="#B9C5D1"/>
-<path d="M9.818,67.702c0,0,2.715,1.243,3.565,0.457c0.851-0.784,0.098-0.425,1.014-0.163   c0.916,0.262,3.009-0.981-2.943-0.785C11.454,67.211,9.394,66.492,9.818,67.702z" fill="#B9C5D1"/>
-<path d="M20.056,66.23c0,0-4.023,0.163-3.369,0.916C17.341,67.898,19.5,67.473,20.056,66.23z" fill="#B9C5D1"/>
-<path d="M20.678,66.066c0,0,1.439-1.341,1.963-1.014c0.523,0.327-1.341,1.668-1.668,1.439   C20.645,66.263,20.678,66.066,20.678,66.066z" fill="#B9C5D1"/>
-<path d="M23.622,65.674c0,0,0.556-1.439,2.028-1.569C27.122,63.973,28.004,65.543,23.622,65.674z" fill="#B9C5D1"/>
-<path d="M0,299.032c0,0,47.962,0,66.248-4.493c18.286-4.492,74.042,1.498,73.443-1.198   c-0.6-2.695,29.376-3.595,42.566-4.193c13.19-0.599,32.076-25.161,32.076-14.977s-2.398,16.475-2.098,17.973   c0.299,1.497,35.072,9.585,45.264,6.889c10.192-2.695,39.869-16.175,61.152-15.276c21.284,0.898,60.553-1.797,67.448-0.599   s20.684-8.088,33.874-5.691s24.88,7.788,31.175,6.59c6.295-1.198,12.891-2.097,14.989-4.493c2.098-2.396,31.475-1.498,44.964-1.498   s37.771-3.894,55.756-0.897c17.986,2.994,60.553,6.589,56.656,10.783c-3.896,4.193-19.785,6.589-12.59,9.585   c7.194,2.995,27.878,1.797,29.077,2.097V320H0V299.032z" fill="#B9C5D1"/>
-<path d="M146.684,28.423c0,0-2.016,0.891-2.719,0.797s-5.157,0.516-2.156,1.313c0,0,0.328,0.375-0.516,0.281   c-0.844-0.094-5.673,0.188-1.688,1.594c3.985,1.406,2.625,0.142,5.017,1.688c2.392,1.547,3.798-0.375,4.36-0.891   s0.656-3.47-0.375-4.079C147.575,28.517,146.872,28.142,146.684,28.423z" fill="#B9C5D1"/>
-<path d="M142.783,17.813c0,0,3.863-0.306,2.847,0.61C144.613,19.338,142.072,19.644,142.783,17.813z" fill="#B9C5D1"/>
-<path d="M166.266,47.191c0,0,0.915,0.102,1.118-0.915s1.728-3.05,3.354-1.932c1.626,1.119,8.843,2.237,7.217,2.745   c-1.626,0.508-5.286,1.017-8.234,1.017S165.757,48.005,166.266,47.191z" fill="#B9C5D1"/>
-<path d="M172.161,50.038c0,0-1.423-2.339,2.948-1.322C175.109,48.716,174.397,50.139,172.161,50.038z" fill="#B9C5D1"/>
-<path d="M183.648,40.991c0,0-0.204-1.729,3.151-1.525l0.204,1.22C187.003,40.686,185.173,41.295,183.648,40.991z" fill="#B9C5D1"/>
-<path d="M135.16,24.93c0,0-1.423-2.644,3.66-0.204c0,0,9.148-1.829,9.25,0.306s-7.404-0.568-6.607,1.423   C141.665,26.963,136.583,25.946,135.16,24.93z" fill="#B9C5D1"/>
-<path d="M117.574,21.677c0,0,7.116-2.644,8.539-1.22c1.423,1.423-3.146,5.168-8.892,1.313" fill="#B9C5D1"/>
-<path d="M134.245,26.657c0,0,5.489,0.306,2.745,0.61S133.737,28.792,134.245,26.657z" fill="#B9C5D1"/>
-<path d="M149.086,23.913c0,0,12.91-0.102,12.199,1.017c-0.712,1.118,8.132,1.728,10.877,1.22   c2.744-0.508,7.929-0.915,7.624,0.203c-0.305,1.118-13.825,2.033-16.976,1.729c-3.151-0.306-6.709-0.509-6.607-1.322   s-5.794-1.321-6.709-2.033C148.578,24.015,148.171,24.116,149.086,23.913z" fill="#B9C5D1"/>
-<path d="M170.484,121.421c0,0,4.432-3.952,8.827-1.33c0,0,3.103,0.037,3.546,0.924   c0.443,0.887,2.29,1.81,2.955,1.957c0.665,0.148,2.474,0.85,2.807,1.256s-0.369,0.85-1.292,0.85s-4.247,0.517-4.395,0   c-0.148-0.518,0.775-0.369,0.665-0.887c-0.11-0.517-0.332-0.887-0.997-1.107c-0.665-0.222-1.81-0.813-3.509-0.998   c-1.699-0.184-4.284,0.443-5.318,0.037s-0.739-0.887-1.256-0.775c-0.517,0.111-2.104,0.738-2.253,0.332   C170.115,121.272,170.484,121.421,170.484,121.421z" fill="#B9C5D1"/>
-<path d="M190.392,125.653c0,0,1.034-0.688,2.622-0.207c1.588,0.48,2.433-0.191,3.029,0.037s2.283,0.051,1.78,0.524   c-0.503,0.474-0.856,0.621-0.487,0.769c0.37,0.147,1.884-0.775,1.81,0.332c-0.073,1.108-0.184,1.319-0.738,0.997   s-1.446-0.541-2.034-0.233s-1.253-0.542-1.696,0.049s-1.071,2.622-1.478,0.296c0,0-5.096,0.221-4.727-0.332   c0.369-0.555,2.917-0.961,3.989-0.407C192.46,127.478,189.949,126.782,190.392,125.653z" fill="#B9C5D1"/>
-<path d="M181.786,127.552c0,0,4.765,0.259,3.73,0.775C184.482,128.845,180.42,129.14,181.786,127.552z" fill="#B9C5D1"/>
-<path d="M201.316,127.961c0,0,2.501-1.193,3.138,0.029C205.091,129.214,200.126,128.998,201.316,127.961z" fill="#B9C5D1"/>
-<path d="M180.014,111.966c0,0,5.008,0.671,3.796,1.998c0,0-0.251,0.439-0.583-0.188S179.09,112.113,180.014,111.966   z" fill="#B9C5D1"/>
-<path d="M181.797,115.641c0,0-0.769,1.89,0.257,1.637C183.079,117.025,183.174,116.286,181.797,115.641z" fill="#B9C5D1"/>
-<path d="M186.218,116.693c0,0,1.145,0.369,0.591,0.591C186.255,117.506,186.145,117.358,186.218,116.693z" fill="#B9C5D1"/>
-<path d="M184.741,120.017c0,0,2.186,0.348,1.684,1.078C185.923,121.827,184.334,120.645,184.741,120.017z" fill="#B9C5D1"/>
-<path d="M190.65,120.497c0,0,1.107-0.406,1.145,0.369C191.795,120.866,190.835,121.532,190.65,120.497z" fill="#B9C5D1"/>
-<path d="M189.8,123.078c0,0,1.146-1.103,1.257-0.66C191.167,122.861,191.387,123.664,189.8,123.078z" fill="#B9C5D1"/>
-<path d="M183.67,119.205c0,0,1.553,0.784,1.423-0.31C185.093,118.896,183.744,118.467,183.67,119.205z" fill="#B9C5D1"/>
-<path d="M188.767,119.943c0,0,0.032,0.678,0.293,0.856C189.32,120.978,190.17,119.5,188.767,119.943z" fill="#B9C5D1"/>
-<path d="M192.494,121.51c0,0,0.962,0.978,1.184,0.739C193.9,122.012,193.709,120.859,192.494,121.51z" fill="#B9C5D1"/>
-<path d="M214.815,136.514c0,0-0.602,1.307,0.47,0.789C216.356,136.785,215.084,136.869,214.815,136.514z" fill="#B9C5D1"/>
-<path d="M211.444,131.984c0,0-0.997-1.034,0.702-0.739C212.146,131.245,212.33,132.021,211.444,131.984z" fill="#B9C5D1"/>
-<path d="M211.796,133.406c0,0-0.573-0.609,0.202-0.757C211.998,132.649,212.775,133.24,211.796,133.406z" fill="#B9C5D1"/>
-<path d="M211.791,134.057c0,0,0.142,1.485,0.571,1.474S214.098,134.14,211.791,134.057z" fill="#B9C5D1"/>
-<g>
-<path d="M40.308,56.611c0,0-4.857,3.909-9.003,5.094s-6.752,4.62,1.659,1.304    c8.41-3.317,10.661-3.317,10.898-4.502s6.042-5.212,7.226-4.383s6.634-2.132,9.121-1.185c2.488,0.947,4.502,1.185,7.108,1.303    c2.606,0.119,11.846,3.554,14.333,6.278c0,0-1.185-0.474-0.119-2.369c1.066-1.895,2.725-0.592,2.132,0.119    c-0.592,0.71-2.487,1.065-1.066,1.658c1.421,0.592,5.804,2.843,6.042,4.501c0.237,1.659,4.027,4.146,4.856,4.976    s1.777,1.066,1.777,1.066s-3.554-0.119-2.843,0.592c0.71,0.711,7.463,3.08,8.884,3.08s0.474,0,0.474,0s-0.829,6.516-2.014,9.121    c-1.185,2.606,2.606,10.188,5.331,13.387c2.724,3.198,5.804,3.554,7.344,6.159c1.54,2.606,5.804,6.989,5.094,7.463    c-0.711,0.474,6.278,6.16,6.989,8.529c0.711,2.369,2.014,1.303,2.014,0.237c0-1.066-4.501-8.056-6.989-9.951    s-3.554-3.909-2.725-4.501c0.83-0.593,4.265,2.605,4.265,3.672s2.488,1.896,3.672,3.554s2.014,2.014,4.383,4.502    c2.369,2.487,4.738,4.501,4.265,6.396s1.066,2.843,2.606,4.027s2.369,1.304,3.672,2.014c0,0,9.003,5.213,11.017,3.909    c2.014-1.303,8.055,3.08,9.477,3.436c1.422,0.355,3.791,0.355,5.449,2.014s5.567,4.383,6.516,6.397    c0.947,2.014,5.804,4.146,5.923,2.724c0.118-1.421,2.132-3.908,2.843-2.369c0.711,1.54,3.672,2.488,2.843,5.805    c-0.829,3.317-1.895,7.463-2.961,7.7c-1.066,0.236-8.411,7.107,3.672,24.521c0,0,10.306,6.278,11.728,11.609    s-1.54,14.097-2.251,17.888c-0.71,3.79-4.146,13.741-3.554,17.058c0.593,3.317-1.303,6.516-1.658,7.227    c0,0,1.54-1.659,2.014-1.066c0.474,0.592-1.066,4.62-2.725,7.345c-1.658,2.724-1.54,15.044,12.794,15.518    c0,0,4.501-0.118,4.62-0.829c0,0-6.515,0.947-7.226-6.516c0,0,6.871-5.686,6.16-6.87c-0.711-1.185-3.08,0.118-3.317-1.54    s4.62-2.962,4.857-6.16c0.237-3.198-0.355-3.554-0.355-3.554s6.634,1.304,5.331-3.198c0,0,13.031,3.554,9.358-5.805    c0,0,2.606-0.829,5.212-2.961c2.606-2.133,9.714-7.463,9.24-13.149c0,0,1.185-4.265,6.752-5.449c0,0,4.264-0.592,4.62-1.303    s4.265-3.08,4.383-5.805c0.118-2.725,0.355-9.714,2.25-12.438s6.989-6.988,5.923-11.017c-1.066-4.027-2.487-2.487-3.909-3.08    c-1.421-0.592-6.87-3.435-8.647-3.554c-1.777-0.118-9.595-4.027-11.372-3.554c-1.777,0.475,1.777-5.804-4.146-5.804    c0,0-4.383-6.516-9.951-6.871c-5.567-0.355-7.818-6.16-8.292-7.581c-0.474-1.422-6.989,0.355-7.818,0.71    c-0.829,0.355-2.843,0.355-4.265-0.71c-1.421-1.066-3.316-3.198-4.027-2.606c-0.711,0.593-2.606-1.54-4.738,0.118    c-2.132,1.659-5.923,0.829-5.449,2.488c0.474,1.658-1.066,4.027-1.658,3.909c-0.593-0.119-1.896-1.896-2.843-1.896    s-6.871,1.776-7.818-0.118c-0.948-1.896-2.014-3.791-1.066-10.543c0,0-9.358,0.947-9.24-0.948    c0.118-1.896,2.843-5.449,2.724-8.766c-0.118-3.317-5.449,0.829-6.515,2.961c0,0-5.212,5.094-8.766,0.83    c-3.554-4.265-10.188-30.207,21.796-18.48c0,0,5.923,5.924,3.317,7.227c0,0-1.54,1.421,0.829,0.947c0,0,1.895,1.304,0.237-7.699    c0,0-2.369-3.317,0.711-5.213s12.438-3.909,8.411-8.884c0,0,2.014-5.805,7.818-6.634c5.805-0.829,1.896-1.304,1.54-4.265    c0,0,9.122-4.976,9.003-3.554c0,0-3.435,4.856,1.777,2.369c5.212-2.487,7.107-2.606,8.766-3.673c0,0-0.592-2.605-4.146-0.118    c0,0-23.455-8.884,7.344-9.121c0,0,9.832-0.947-5.094-9.121c0,0-6.634-6.278-6.752-8.411c0,0-6.989,8.647-8.647,3.08    s-15.518-7.937-15.874-6.041s4.383,6.989,2.725,10.068c-1.659,3.08-3.554,12.557-6.397,9.596    c-2.843-2.962-1.54-6.989-14.097-8.767c-12.557-1.776-14.097-6.159-9.24-8.884s11.553-6.588,13.29-8.077    c0,0-0.95-0.524-0.59-0.918c0.36-0.393,3.899,0.754,4.718,0.622c0.819-0.13,4.652-0.948,2.981-2.914s1.409-1.048,1.311-1.604    c-0.099-0.558-2.981-0.655-2.031-1.475s4.783,0.754,4.881-0.131s-2.719-0.394-2.064-0.819s3.21,0.426,3.473,0.196    c0.262-0.229-1.54-0.688-0.688-0.786c0.852-0.098,1.965-0.164,2.555,0.524s5.013,1.441,3.571,1.77    c-1.441,0.327-1.867,0.917-1.081,0.851c0.787-0.064,2.981-0.982,2.556-0.393s-0.328,1.311,1.278,0.786    c1.605-0.523,3.604,1.18,3.407,1.9c-0.196,0.721-3.702,2.097-3.734,2.392c-0.033,0.295,1.9,0.327,1.343,0.622    c-0.557,0.295-4.718,0.885-5.897,0.328c-1.179-0.558-2.555,1.343-1.54,1.867s8.027-0.95,10.025,1.311c0,0,1.048-0.229,1.441,0.032    c0.393,0.263-0.95,0.426-0.557,0.787c0.393,0.359,3.276,0.982,3.604,0.688c0,0,7.043,2.392,6.847,1.572    c-0.196-0.818-4.882-2.719-5.832-3.047c0,0,1.704-0.098,2.195,0.263c0.491,0.36,6.454,2.162,6.355,1.769    c-0.098-0.393-2.654-0.459-1.966-1.016s1.868-0.327,1.9-0.688s-2.654-1.081-2.228-1.311c0.426-0.229-0.229-1.213-0.59-1.016    c-0.36,0.196-4.849-2.031-3.374-2.687c1.474-0.655,3.768,0.819,4.226,0.491c0.458-0.327,2.162-1.18,1.671-0.688    c-0.492,0.491-0.099,2.687,0,2.326c0.098-0.36,2.457,1.048,1.965,0.098c-0.491-0.95,0.721-2.391,2.687-2.521    s-0.721-1.18-1.311-0.885c-0.589,0.295-0.852-0.196-0.917-0.688c-0.065-0.492-2.162-0.394-2.654-0.688    c-0.491-0.295-6.257-1.049-5.995-1.638c0.262-0.59,2.654-0.786,2.522-1.18c-0.131-0.393-3.538-0.164-2.981-0.557    c0.557-0.393,2.162,0.458,2.195-0.263s-10.124-3.439-11.696-3.112c0,0-12.351-0.556-12.351-1.277c0-0.721-0.033-1.016-1.212-1.835    c-1.18-0.819-6.618-0.753-7.044-0.458c-0.426,0.294,0.066,1.245,0.098,1.998c0.033,0.753,1.999,0.885,0.852,1.408    c-1.147,0.525-4.849-0.621-3.244-2.194c1.605-1.573,2.359-1.441,1.704-1.835c-0.655-0.394-9.239-0.786-7.831,4.488    c0,0,3.866-0.196,3.669,0.36c-0.196,0.558-2.883-0.36-2.817,0.263c0.065,0.622,11.925,1.311,11.663,1.9    c-0.262,0.589-4.521-0.099-4.783,0.327s-1.605,6.323-4.75,2.72c-3.145-3.604-8.125-6.127-9.992-6.487c0,0,8.583-3.112,6.749-3.604    c-1.834-0.491-9.435-1.016-9.599-0.557c-0.164,0.458,0.753,3.078,0.229,3.865c-0.524,0.787-3.735,2.293-1.082,3.964    c0,0-5.929,0.557-6.323,1.016c-0.393,0.459,1.769,0.557,1.212,1.475c-0.557,0.917-10.418-0.263-8.125-0.557    c2.293-0.295,5.962-2.064,4.586-2.688c-1.361-0.615-10.293-7.102-13.464-4.634c-0.034,0.025-0.066,0.053-0.099,0.081    c0,0-26.799-4.063-28.699-3.112c-1.9,0.949,0.229,1.441,0.459,1.475c0,0-4.292,5.798,5.11,4.389c0,0,3.997-2.588,4.652-2.489    c0,0,0.229,4.161,2.162,4.128c0,0-0.229,2.129,6.847,2.293c0,0,0.852,1.803,4.652,1.245c0,0,6.684,1.213-5.438,0.983    c0,0-14.579-4.292-15.988-3.539c-1.409,0.754-2.228,1.18-2.031,0.328c0.196-0.852-1.212,0.491-2.687,0.065    c-1.475-0.426-14.48-1.999-20.017,0.95c0,0-14.939-1.409-16.02-1.835c-1.082-0.426-8.715-0.36-12.023-1.966    c-3.309-1.604-5.537-0.688-6.225-0.557c-0.688,0.131-4.456,0.688-5.701,0.95c-1.245,0.262-4.259,0.295-5.373,1.016    c-1.114,0.721-0.59,2.162-2.522,2.261c-1.934,0.098-5.635,0.786-0.558,2.85c0,0,8.944,3.375,1.573,2.49    c0,0-8.583-0.622-8.256,0.426s2.097,0.491,2.392,1.277c0.295,0.786-3.473,1.999,9.599,0.819c0,0,1.867,0.852,0.623,1.376    c-1.245,0.524-3.702-0.328-5.832,0.229c-2.129,0.557-5.832,3.637-2.326,4.619c0,0,0.125,1.294,0.655,1.9    c0.229,0.262,2.949,1.638,3.506,1.474c0.557-0.163,2.391-0.818,2.162,0.688c-0.229,1.507,3.538,1.966,5.078,0.852    C39.494,55.59,40.368,54.489,40.308,56.611z" fill="#B9C5D1"/>
-<path d="M159.149,15.171c0,0,11.081-1.017,15.248-0.509c4.168,0.509,27.04-3.66,34.563-0.915    c0,0-4.676,1.524-10.166,2.236c-5.489,0.712-9.25,5.998-13.723,5.896c-4.473-0.102-3.151,2.949-5.693,2.949    c-2.541,0-18.5,1.117-17.078-0.61c1.423-1.729,2.948-0.407,2.948-1.017c0-0.61-3.151-1.83,3.151-0.61c0,0,1.729-1.423,0.712-1.22    s-4.676-0.61,1.017-1.22l1.016-0.508c0,0-1.423-0.712-3.558-1.119c-2.135-0.406,1.22-1.524,5.998-0.203    c0,0,10.978-1.017,11.385-1.524c0.406-0.509-8.539-0.406-16.976-0.102S157.93,16.085,159.149,15.171z" fill="#B9C5D1"/>
-<path d="M150.204,17.61c0,0,2.745-2.236,5.998-1.424c3.253,0.813,10.775,1.932,9.962,2.948    c-0.813,1.017-2.338,3.558-7.827,2.236C152.847,20.05,147.561,19.947,150.204,17.61z" fill="#B9C5D1"/>
-<path d="M133.025,19.847c0,0,9.657-0.102,10.877,0.406c1.22,0.509,2.948,2.542-2.033,2.033    C136.888,21.778,132.923,22.49,133.025,19.847z" fill="#B9C5D1"/>
-<path d="M102.021,24.93c0,0,14.028-3.66,13.926-2.644s-1.321,2.136-0.102,1.83c1.22-0.305,5.083,1.525,7.624,1.829    c2.542,0.306,1.728,0.204,1.728,0.204l-1.22-1.83c0,0,15.147,0.712,8.335,2.948C125.503,29.504,110.865,28.895,102.021,24.93z" fill="#B9C5D1"/>
-<path d="M146.443,20.66c0,0,6.099-0.407,5.692,0.508c-0.406,0.915-3.253,2.135-4.473,1.118    C146.443,21.271,146.443,20.66,146.443,20.66z" fill="#B9C5D1"/>
-<path d="M198.656,19.697c0,0-9.128,3.923,10.009,6.966c19.137,3.043,14.493,7.848,14.573,9.449    c0.08,1.601,7.687,22.019,13.933,18.176c6.246-3.844,3.924-9.368,10.57-10.489c6.646-1.121,36.913-11.771,21.779-12.892    c0,0-2.242-3.284,8.968-1.682c11.21,1.601,9.449-14.733,3.363-12.571c-6.085,2.161-7.607,1.44-9.048,1.361    c-1.441-0.081,6.406-2.322-0.08-4.164s-36.753,0.16-44.2,0.881C221.076,15.453,200.898,14.813,198.656,19.697z" fill="#B9C5D1"/>
-</g>
-<path d="M283.082,44.222c0,0-1.632-1.605-3.125-1.38c-1.492,0.225,0.777,1.083,0.92,1.41   c0.144,0.327-2.003,0.92-1.656,1.206c0.348,0.286,2.78,0.47,2.351,0.776s-1.717,0.94-1.083,1.104   c0.634,0.163,8.473-0.249,10.093-0.513c1.62-0.265,6.853-0.775,5.892-1.88c-0.96-1.104-6.807-2.125-8.524-1.88   S283.222,43.599,283.082,44.222z" fill="#B9C5D1"/>
-<path d="M562.112,186.847c-0.557-0.102,7.599,8.084,8.974,4.932c1.375-3.153,1.375-3.315,1.132-5.417   c-0.242-2.102,1.698-8.327,2.264-6.549c0.566,1.779,9.782,17.867,15.038,22.799s-0.937,31.177-12.693,26.437   s-8.57-9.943-11.965-9.459c-3.396,0.485-1.05,4.123-7.114-1.698c-6.063-5.82-26.518,8.732-31.126,4.205   c-4.608-4.527,0.565-5.256-1.94-11.076c-2.506-5.821,4.042-18.191,15.846-21.505c11.804-3.315,11.076-4.365,11.804-6.387   s2.263,0.08,2.344-1.132c0.081-1.213-4.689,0.242-3.557-1.132c1.132-1.375,9.459,0.646,11.885-0.809   C565.427,178.601,563.891,187.17,562.112,186.847z" fill="#B9C5D1"/>
-<path d="M583.698,231.635c0,0-2.991,1.375-5.417,0.647C575.856,231.554,586.447,244.732,583.698,231.635z" fill="#B9C5D1"/>
-<path d="M535.96,115.62c0,0-3.599,4.934-1.497,5.499C536.565,121.686,538.347,116.023,535.96,115.62z" fill="#B9C5D1"/>
-<path d="M534.787,127.264c0.221,1.992,0.342,3.314-1.27,4.493c-1.222,0.894,1.599,2.272,1.891,2.827   c0.734,1.396,3.084,2.912,5.07,3.038c2.175,0.138-0.885-2.224-1.333-2.537c-1.58-1.107-2.955-1.292-1.991-3.327   c0.563-1.188,1.33-2.084,0.847-3.46C537.514,126.917,535.828,125.442,534.787,127.264" fill="#B9C5D1"/>
-<path d="M528.562,147.637c0,0-0.404,3.558-3.072,4.204c-2.668,0.646-3.557,3.962-6.953,3.072   c-3.396-0.889,0.081,4.204-1.293,3.477c-1.374-0.728-2.736-2.489-3.309-1.042c-0.572,1.446,0.316,8.479,5.087,8.722   c4.771,0.243,8.247,3.315,8.408,0.971c0.162-2.345,1.391-5.994,3.202-7.444c1.811-1.449-0.049-3.308-0.21-5.814   C530.259,151.274,535.029,147.879,528.562,147.637z" fill="#B9C5D1"/>
-<path d="M552.088,162.431c0,0,6.306-3.477,8.569,3.638c0,0,0.485,0.728,1.455-0.404s-0.323-5.013,11.237,0   c11.561,5.013,6.306,4.285,7.6,4.527c1.294,0.243,2.83,0.89,2.587,1.778c-0.242,0.89-1.131-0.081-0.97,1.213   s0.154,1.227,1.451,2.473s4.866,2.005,4.618,2.96c-0.249,0.954-5.453,0.593-5.746-0.178c-0.293-0.77-0.647-1.94-2.183-2.91   c-1.536-0.97-2.344-2.021-3.719-1.051c-1.375,0.97-4.285,3.8-5.578,2.668s-2.991-2.91-3.234-2.507   c-0.242,0.404-5.255,3.801-2.102-2.829s-1.867-3.028-3.884-3.374c-2.018-0.345-3.796,0.787-5.089-0.669   c-1.294-1.455-0.162-1.455-0.324-2.587C556.615,164.047,551.118,164.29,552.088,162.431z" fill="#B9C5D1"/>
-<path d="M214.875,251.454c0,0-2.512-0.439-2.605,1.263s1.612,1.856,1.923,1.082   C214.502,253.023,216.022,251.746,214.875,251.454z" fill="#B9C5D1"/>
-<path d="M216.69,252.401c0,0-2.653,1.707-0.482,1.707s4.651-0.775,3.566-1.24S216.69,252.401,216.69,252.401z" fill="#B9C5D1"/>
-<path d="M253.833,255.952c0,0,4.605,3.951,4.5,2.604C258.228,257.21,256.881,255.16,253.833,255.952z" fill="#B9C5D1"/>
-<path d="M306.912,62.212c0,0-1.774,0.913-1.623,1.039c0.152,0.127,0.913,0.229,0.608,0.355   c-0.304,0.127-0.051,0.405-0.634,0.583s-0.608-0.381-1.395-0.278c-0.786,0.101-1.651,0.575-1.13,0.592   c0.521,0.016,1.054,0.017,0.725,0.346c-0.33,0.33-0.735,0.076-0.71,0.38c0.025,0.305,0.05,0.711,0.634,0.634   c0.583-0.075,1.414-0.561,1.404-0.255s-0.035,0.18-0.314,0.483c-0.278,0.305-0.974,1.3-1.146,1.411   c-0.172,0.11-0.78-0.498-0.882,0.034s0.558,1.42,1.318,1.395c0.76-0.025,2.966-1.166,3.879-1.142   c0.913,0.025,1.521,0.33,1.876-0.126c0.355-0.457,0.913-0.38,0.608-1.242s-0.659-1.547-0.38-1.876   c0.279-0.33,1.825-0.457,1.623-0.736c-0.203-0.278-0.836-0.837-1.293-1.318c0,0-0.203-0.025-0.761,0.152s-0.406,0.405-0.812-0.051   c-0.405-0.456-0.496-0.75-0.717-0.654C307.571,62.034,306.912,62.212,306.912,62.212z" fill="#B9C5D1"/>
-<path d="M309.844,56.414c0,0-1.056,0.753-1.715,1.184s-0.959,1.833-0.771,1.854c0.188,0.022,1.43-1.474,1.988-1.956   C309.903,57.015,310.267,55.991,309.844,56.414z" fill="#B9C5D1"/>
-<path d="M308.463,50.455c0,0,0.184-0.372-0.316-0.354c-0.5,0.019-0.753-0.413-0.323-0.489   c0.431-0.075,1.953-0.152,1.623,0c-0.33,0.152-0.418,0.621-0.59,0.806C308.687,50.601,308.746,50.666,308.463,50.455z" fill="#B9C5D1"/>
-<path d="M308.305,50.93c0,0,1.301,0.419,0.829,0.552S308.152,51.132,308.305,50.93z" fill="#B9C5D1"/>
-<path d="M309.489,59.334c0,0-1.69,0.85-1.259,0.824s0.507-0.354,1.014-0.126c0.507,0.228,2.039,0.069,1.666,0.288   c-0.373,0.218-1.26,0.776-0.652,0.903c0.608,0.126,2.028-0.102,2.307,0.354s-1.191,1.344-0.837,1.496   c0.355,0.151,2.282,0.431,2.814,0c0,0-0.158-0.073-0.041,0.521c0.117,0.594,1.229,0.094,1.066,0.749   c-0.163,0.656-0.163,1.366-0.67,1.315c-0.507-0.051-1.978-0.152-2.104,0.279c-0.126,0.431-0.938,0.836-0.532,0.861   s0.735-0.634,1.141-0.178c0.406,0.457,0.837,0.532,0.355,0.913c-0.481,0.38-2.738,0.608-2.408,0.862   c0.33,0.254,1.014-0.406,1.318-0.051c0.304,0.354,0.649,0.504,1.085,0.416c0.436-0.087,1.577,0.269,1.272,0.547   c-0.304,0.279-1.8,0.305-2.155,0.635c-0.355,0.329-2.003,1.141-2.003,1.394c0,0.254,0.482,0.634,1.8-0.203   c0,0,1.521,0.685,2.104-0.785c0,0,1.054,0.438,1.744,0.308s2.788,0.215,4.224-0.236c1.436-0.452,2.931-0.554,2.678-1.01   s-1.474,0.2-1.257-0.293s4.147-1.532,0.826-2.698c0,0-1.352,0.266-1.576,0.094c-0.224-0.17,0.69,0.162,0.474-0.473   c-0.216-0.636-2.042-2.512-3.334-2.664c0,0-0.397-1.684-0.731-1.716c-0.333-0.033-2.134-0.261-2.919-0.616   c0,0,1.044,0.022,1.144-0.331c0.099-0.354-0.18-0.683,0.2-0.76c0.38-0.075,1.737-1.824,1.3-2.002   c-0.438-0.178-3.708,0.734-3.759,0.051c-0.051-0.686,0.025-0.938,0.406-0.938s1.623-0.558,1.268-0.634s-2.814,0.456-3.169,0   c-0.355-0.457-1.09,0.229-1.065,0.558s0.507,0.735,0.203,0.735c-0.305,0-0.355-0.253-0.583-0.051   c-0.229,0.203-0.102,0.761-0.305,0.786c-0.203,0.024-1.851-0.278-1.572,0.051s1.503,0.046,1.55,0.429   c0.047,0.382-0.333,0.696-0.562,0.763C309.726,59.768,309.607,59.548,309.489,59.334z" fill="#B9C5D1"/>
-<path d="M315.528,56.098c-0.103-0.005-1.166-0.173-0.632-0.591c0.534-0.419,0.939-0.495,1.167-0.495   s0.938-0.304,0.583,0C316.292,55.316,315.905,56.12,315.528,56.098z" fill="#B9C5D1"/>
-<path d="M318.447,53.998c0,0,0.253-0.38,0-0.482c-0.253-0.102-0.634-0.38,0.229-0.785   c0.861-0.406,0.811-0.33,0.633-0.152C319.132,52.755,318.701,54.581,318.447,53.998z" fill="#B9C5D1"/>
-<path d="M344.56,18.501c0,0-5.292-0.083-4.673,0.653c0.619,0.737,2.009,0.234,1.932,1.046   c-0.077,0.811,1.468,0.733,1.931,1.004c0.464,0.271,3.083-0.082,3.705-0.408c0.621-0.325,3.468-0.287,2.933,0.177   c-0.536,0.463-4.667,0.733-4.281,1.081s4.942-0.193,4.209,0.192c-0.734,0.387-4.595-0.076-4.441,0.503   c0.154,0.578,3.321,1.969,4.093,1.776c0.772-0.193,1.39-0.734,2.201-1.43c0.811-0.694,1.236-1.66,1.429-1.429   c0.193,0.232,1.313,0.811,1.352-0.154s3.9-1.313,2.355-1.583s-2.279,0.772-2.819,0.116c-0.541-0.656,0.309-1.313-0.386-1.043   c-0.695,0.271-1.352,0.85-1.583,0.348s-0.811-0.579-1.776-0.889c-0.966-0.309-1.192,1.01-1.291,1.162   c-0.099,0.151-0.64,0.729-0.872,0.229c-0.231-0.502-1.197-1.235-1.738-1.159c-0.541,0.078-0.579,1.12-1.39,0.85   C344.638,19.273,344.792,18.732,344.56,18.501z" fill="#B9C5D1"/>
-<path d="M353.441,18.037c1.494-0.548,7.125-0.038,7.269,0.238c0.704,0.309,2.674-0.432,3.621-0.306   c1.157,0.153,3.625-0.269,4.494,0.647c-0.566-0.597-5.609,1.28-6.695,1.196c-1.497-0.113-4.083-0.776-3.496-1.004   C357.99,19.059,353.1,18.893,353.441,18.037" fill="#B9C5D1"/>
-<path d="M357.777,21.91c0,0,6.902,0.027,6.516,0.298s-1.39,0.927-2.819,0.772S356.783,22.578,357.777,21.91z" fill="#B9C5D1"/>
-<path d="M337.475,84.103c-0.037,0.054,0.058,0.652-0.333,0.652c-0.392,0-1.146,0.276-1.131,0.639   c0.015,0.363,1.016,1.842,1.248,1.436c0.232-0.405,0.435-0.957,0.362-1.392C337.547,85.002,337.678,83.813,337.475,84.103z" fill="#B9C5D1"/>
-<path d="M336.938,87.322c0,0-0.319,0.624-0.783,0.537c-0.464-0.087-0.609-0.56-0.74-0.377   c-0.131,0.183-0.363,0.362-0.029,0.725c0.334,0.362,0.435,0.465,0.363,0.885c-0.073,0.421-0.348,0.406-0.16,0.421   s0.333-0.203,0.261,0.188c-0.073,0.392-0.368,1.014-0.329,1.159c0.039,0.146,0.271,0.872,1.315,0.437c0,0-0.232-0.464,0.014-0.464   c0.247,0,0.827,0.305,0.958,0.116s0.653-1.509,0.392-1.741c-0.262-0.232-0.413-0.224-0.41-0.301   c0.003-0.076,0.496-0.047,0.424-0.352s-0.218-0.449-0.377-0.74c-0.159-0.29,0.045-0.636-0.224-0.644   C337.344,87.163,337.054,87.148,336.938,87.322z" fill="#B9C5D1"/>
-<path d="M343.625,92.806c0,0,0.203-0.435,0.565-0.319c0.363,0.116,1.712,0.682,2.466,0.291   c0.754-0.393,1.64-0.001,1.813-0.378c0,0-0.508,0.754-0.696,1.189c-0.189,0.436,0.45,1.131,0.246,1.204   c-0.203,0.072,0.058-0.072-0.29,0.203c-0.348,0.275-0.986,0.275-1.276-0.102s-1.233-0.624-1.45-0.639   c-0.218-0.014-1.625-0.087-1.929-0.58S342.566,92.53,343.625,92.806z" fill="#B9C5D1"/>
-<path d="M346.257,96.346c0,0-0.368-0.142-0.296-0.021c0.072,0.122-0.016,0.383,0.057,0.455   c0.073,0.073,0.79,0.197,0.772,0.019C346.79,96.799,346.337,96.345,346.257,96.346z" fill="#B9C5D1"/>
-<path d="M419.699,32.486c0,0,3.745,1.296,3.411,2.227c-0.334,0.93,0.376,1.955-1.438,1.088   c-1.814-0.868-3.604-0.924-4.576-0.947s-0.71-0.71-1.42-1.025c-0.71-0.315-4.576,0-3.866-0.867c0.71-0.868,2.13-0.474,2.367-1.421   c0.237-0.946,4.369-1.075,3.959-1.8c-0.409-0.724-1.302-0.592-1.302-0.592s2.387-0.578,3.967-1.42   c1.581-0.843,3.158-0.843,4.657-1.474c1.5-0.631,2.604-1.578,3.393-1.578s8.521,0.395,9.072-0.236   c0.552-0.631,5.91-0.678,5.2-0.145c-0.71,0.532-0.957,0.999-2.25,1.124c-1.293,0.125-3.345-0.033-4.528,0.125   c-1.183,0.158-7.257,0.553-7.889,1.184c-0.631,0.631-1.856,1.33-5.464,2.006c0,0,0.729,0.902,0.059,1.539   C422.381,30.909,419.62,32.25,419.699,32.486z" fill="#B9C5D1"/>
-<path d="M455.91,18.451c0,0-2.388-0.117-0.997,0.293c1.39,0.41,4.545,1.515,3.757,0.726   C457.881,18.682,455.91,18.451,455.91,18.451z" fill="#B9C5D1"/>
-<path d="M481.895,16.223c0,0-2.662-0.249-1.584,0c1.079,0.25,2.35,1.24,2.464,0.47   C482.888,15.921,481.895,16.223,481.895,16.223z" fill="#B9C5D1"/>
-<path d="M461.541,16.574c0,0-1.53,0.608-0.347,0.608s2.407,0.628,1.637-0.08   C462.062,16.394,461.541,16.574,461.541,16.574z" fill="#B9C5D1"/>
-<path d="M407.479,36.725c0,0-2.69,2.152-0.954,2.152c1.735,0,4.396-0.834,3.5-1.206   C409.127,37.299,407.479,36.725,407.479,36.725z" fill="#B9C5D1"/>
-<path d="M402.58,16.788c0,0-2.236-0.239-1.749,0.314c0.486,0.554,1.828,0.396,2.143,0.316   c0.316-0.078,1.42-0.552,1.42-0.552L402.58,16.788z" fill="#B9C5D1"/>
-<path d="M408.163,16.75c0,0-2.428,0.985-3.453,0.906c0,0,0.71,0.158,1.894,0.158c1.183,0,6.447,0.27,5.314-0.536   s-2.001-0.568-2.001-0.568L408.163,16.75z" fill="#B9C5D1"/>
-<path d="M409.63,18.334c0,0,1.768-0.549,2.053,0.176S410.29,18.38,409.63,18.334z" fill="#B9C5D1"/>
-<path d="M413.325,17.923c0,0,2.697-0.05,2.287,0.117C415.202,18.209,414.524,19.137,413.325,17.923z" fill="#B9C5D1"/>
-<path d="M417.806,16.315c0,0,8.44-0.079,7.415,0.315S419.147,18.604,417.806,16.315z" fill="#B9C5D1"/>
-<path d="M427.926,17.09c0,0-2.358,0.39-0.913,0.497c1.446,0.108,4.763,0.521,3.826-0.084   C429.901,16.899,427.926,17.09,427.926,17.09z" fill="#B9C5D1"/>
-<path d="M431.929,15.25c0,0-1.367,0.917-0.21,0.667c1.156-0.25,2.484,0.105,1.583-0.425   C432.399,14.962,431.929,15.25,431.929,15.25z" fill="#B9C5D1"/>
-<path d="M420.418,15.56c0,0-1.382,0.895-0.222,0.664c1.16-0.231,2.483,0.146,1.59-0.398   C420.894,15.28,420.418,15.56,420.418,15.56z" fill="#B9C5D1"/>
-<path d="M420.267,17.733c0,0-1.382,0.895-0.221,0.664c1.16-0.231,2.482,0.146,1.59-0.398   C420.742,17.454,420.267,17.733,420.267,17.733z" fill="#B9C5D1"/>
-<path d="M433.294,16.788c0,0-2.358,0.39-0.913,0.497s4.763,0.521,3.826-0.084S433.294,16.788,433.294,16.788z" fill="#B9C5D1"/>
-<path d="M221.743,69.603c-0.206,0.06-7.688,5.594-6.471,6.178c1.216,0.584,7.203-0.925,7.543-0.194   c0.341,0.729,3.456,3.114,4.088,1.752c0.633-1.363,1.217-2.775-1.266-3.894C223.156,72.324,223.25,69.168,221.743,69.603z" fill="#B9C5D1"/>
-<path d="M325.676,89.565c0,0-0.941,0.499-0.596,0.634s2.571,0.212,2.036-0.115   C326.581,89.756,326.271,89.258,325.676,89.565z" fill="#B9C5D1"/>
-<path d="M327.539,89.22c0,0-0.134,0.346,0.077,0.326c0.211-0.02,0.922,0.596,0.769,0.192   C328.23,89.335,328.134,88.989,327.539,89.22z" fill="#B9C5D1"/>
-<path d="M323.486,90.91c0,0-0.903,0.537-0.422,0.519c0.48-0.02,0.912-0.114,0.754-0.331   S323.486,90.91,323.486,90.91z" fill="#B9C5D1"/>
-<path d="M489.604,16.648c-0.203,0-6.757,0.541-6.217,1.825c0.54,1.283,4.865,0.743,6.014,1.148   c1.149,0.405,2.433,0.135,4.257,0.676c1.825,0.54,6.149,1.148,4.933,0.338c-1.216-0.812,1.216-0.946-0.135-1.824   c-1.352-0.879-3.243,0.067-3.919-0.271c-0.676-0.338-1.487-0.608-1.082-0.878c0.405-0.271-0.675-1.353-1.689-1.353   S489.604,16.648,489.604,16.648z" fill="#B9C5D1"/>
-<path d="M498.117,21.717c0,0,2.028-1.718,3.075-2.211c1.047-0.492,7.601,1.062,6.655,1.399   C506.901,21.244,499.671,21.784,498.117,21.717z" fill="#B9C5D1"/>
-<path d="M509.229,21.734c0,0,3.35,0.794,3.35-0.018S511.487,21.077,509.229,21.734z" fill="#B9C5D1"/>
-<path d="M408.68,181.614c-0.117,0.105-2.102,3.679-3.469,4.835c-1.366,1.157-5.781,1.104-5.834,3.102   s0.052,1.734-0.053,1.997s1.261,3.521,0.158,4.73s-1.663,8.288,0.746,8.927s4.615,0.533,4.773-0.097   c0.158-0.631,2.891-12.51,3.732-14.244C409.573,189.131,410.677,179.828,408.68,181.614z" fill="#B9C5D1"/>
-<path d="M627.16,221.591c0,0,3.086,2.333,3.131,4.94c0.045,2.608-2.435,3.271-0.417,3.967   c2.018,0.695,1.276,1.84,1.717,2.591c0.44,0.75,1.067,1.027,3.154-1.965c2.087-2.992,2.026-2.179,2.681-2.996   s-1.637-0.205-2.75-0.553c-1.113-0.348-2.048-3.78-2.157-3.549c-0.109,0.23,0.167,1.693-0.626,1.044   C631.1,224.421,627.725,219.564,627.16,221.591z" fill="#B9C5D1"/>
-<path d="M624.446,236.413c0,0-3.967,3.062-5.01,3.062c-1.044,0-2.505,0.696-2.854,1.531   c-0.348,0.835,0.835,1.044,1.392,1.601s-0.453,1.275,0.583,1.385c1.036,0.108,0.786-1.044,1.146-1.146   c0.359-0.101,2.934,1.082,3.352,0.108c0.417-0.975,1.252-0.069,1.322-1.322c0.07-1.252-0.264-2.796,1.434-2.929   s3.816-0.272,2.781-0.6s-1.21-0.944-0.381-1.526c0.829-0.581,2.341-2.167,2.072-2.453c-0.269-0.285,0.636-2.165-0.408-1.608   s-1.531,2.088-1.879,1.323c-0.348-0.767-0.093-2.152-0.603-1.459c-0.51,0.692-0.928-0.073-1.136,1.598   C626.047,235.647,624.934,233.212,624.446,236.413z" fill="#B9C5D1"/>
-<path d="M542.483,157.373c-2.118,0.075-4.623-0.033-6.634,0.704c-1.806,0.662-5.554,7.969-3.087,8.207   c0.076,0.794-0.468,1.789-0.46,2.639c0.014,1.456,1.336,1.671,1.484,0.134c0.068-0.711-0.332-3.477,0.792-3.608   c2.536-0.298,1.273,2.582,2.108,3.646c0.295,0.376,0.856-0.96,1.108-0.498c0.1,0.182,0.199,2.167,0.65,1.93   c0.811-0.426,1.685-2.938,0.384-3.293c-0.949-0.259-0.797-1.592-1.279-2.371c-0.735-1.187-1.31-1.891,0.325-2.398   c0.149-0.046,2.302-0.527,2.112-0.737c-1.546-1.709-3.855,1.603-4.7,1.285c-1.947-0.731-0.827-3.532,1.083-3.4   c2.066,0.142,4.176,0.136,6.186-0.476C544.584,158.519,544.312,156.458,542.483,157.373" fill="#B9C5D1"/>
-<path d="M499.98,164.428c1.479,0.433,4.59,5.186,6.909,6.77c2.318,1.583,1.592-3.113,2.428-4.262   c0.835-1.148-2.25-2.604-3.02-3.492s-1.421-1.599-1.421-1.599s0.29,0.203,0.375-0.137c0.085-0.34,1.275-1.36-0.138-2.585   c-1.413-1.226-5.744-3.314-6.928-4.144s-1.945-0.667-3.476-2.367c-1.53-1.701-1.379-1.539-1.615-1.189   c-0.236,0.349-3.139-1.06-3.139-1.06c-0.759,0.641-0.006,1.823,2.19,3.492c2.197,1.668,0.864,1.816,2.224,2.327   s1.275,1.445,2.691,3.946C497.061,160.129,499.609,164.319,499.98,164.428z" fill="#B9C5D1"/>
-<path d="M508.141,172.079c0,0,0.936-2.21,6.036,0.085s2.38,0.595,2.89,0.17c0.51-0.426,5.917-0.18,6.401,0.165   c0.485,0.345-3.251,0.222-2.191,1.006s2.591,1.294,3.611,1.124c1.02-0.17,2.541,0.653,1.185,1.008   c-1.355,0.353-2.244-0.654-3.967-0.533c-1.724,0.12-9.034-2.005-10.479-1.835c-1.445,0.171-3.138,1.043-2.635,0.255   C509.494,172.735,508.821,172.164,508.141,172.079z" fill="#B9C5D1"/>
-<path d="M543.759,143.347c-0.376,0.641-1.673,3.166-2.733,2.336c-1.807-1.416-2.704,2.176-3.59,1.948   c1.421,0.368,2.659-1.326,3.362,0.776c0.123,0.366,2.337,2.625,2.563,2.311c0.271-0.468,0.283-0.938,0.036-1.408   c-0.306-1.038,1.007-1.313,1.502-1.96C545.921,146.014,544.979,144.16,543.759,143.347" fill="#B9C5D1"/>
-<path d="M442.712,248.165c0,0,3.158-1.325,3.312-0.968c0.153,0.356-0.662,1.681-1.63,1.656   C443.425,248.827,442.33,249.184,442.712,248.165z" fill="#B9C5D1"/>
-<path d="M179.63,283.455c-0.841,0.92-4.947,1.626-5.647,0.925c0.225,0.225,2.55,0.652,2.51,0.825   c-0.722,3.13,3.017,0.216,3.864,2.081C180.12,286.764,179.902,282.912,179.63,283.455" fill="#B9C5D1"/>
-<path d="M163.896,281.166c0,0-4.677,1.529-4.413,0.835C159.748,281.309,163.024,280.132,163.896,281.166z" fill="#B9C5D1"/>
-<path d="M170.883,282.468c0,0-3.175,0.029-2.878,0.261c0.297,0.23,1.685,0.792,2.411,0.23   S171.581,282.604,170.883,282.468z" fill="#B9C5D1"/>
-<path d="M183.544,285.767c0,0-1.333,1.623-0.573,1.678C183.731,287.499,184.771,287.158,183.544,285.767z" fill="#B9C5D1"/>
-<path d="M44,124.439c0,0-1.168,1.859,0.197,1.813C45.563,126.208,46.853,125.448,44,124.439z" fill="#B9C5D1"/>
-<path d="M37.408,120.943c0,0-0.438,0.696,0.074,0.68C37.994,121.605,38.477,121.321,37.408,120.943z" fill="#B9C5D1"/>
-<path d="M40.019,121.635c0,0-0.809,0.146-0.451,0.513C39.925,122.513,40.461,122.678,40.019,121.635z" fill="#B9C5D1"/>
-<path d="M41.955,122.462c0,0-0.809,0.147-0.452,0.513C41.861,123.341,42.396,123.506,41.955,122.462z" fill="#B9C5D1"/>
-<path d="M43.655,123.471c0,0-0.764-0.537-0.808-0.026C42.805,123.953,43.078,124.475,43.655,123.471z" fill="#B9C5D1"/>
-<ellipse cx="638.435" cy="68.771" fill="#B9C5D1" rx="1.08" ry="0.743"/>
-<ellipse cx="627.481" cy="66.565" fill="#B9C5D1" rx="1.08" ry="0.285"/>
-<ellipse cx="615.925" cy="63.265" fill="#B9C5D1" rx="0.794" ry="1.587" transform="matrix(0.6867 -0.727 0.727 0.6867 146.9921 467.5763)"/>
-<ellipse cx="638.183" cy="34.335" fill="#B9C5D1" rx="1.107" ry="0.506"/>
-<path d="M533.261,140.148c0,0-5.089,6.24-4.85,6.32c0.239,0.079,1.51-1.152,2.544-2.027   c1.033-0.874,0.875-1.471,1.511-2.027S534.056,140.268,533.261,140.148z" fill="#B9C5D1"/>
-<path d="M534.691,136.015c-1.008,0.518-0.068,1.657,0.604,2.266C535.499,138.465,537.489,136.868,534.691,136.015" fill="#B9C5D1"/>
-<path d="M539.335,139.828c-0.471-0.134-2.081-0.21-2.338-0.435c0.663,0.58-0.132,1.441-0.013,2.074   C537.034,141.734,539.696,140.985,539.335,139.828" fill="#B9C5D1"/>
-<path d="M539.979,141.183c-0.463,0.345-2.755,3.437-0.954,3.18C540.542,144.146,540.049,142.456,539.979,141.183" fill="#B9C5D1"/>
-<path d="M548.882,157.122c0.435-0.405,0.634-0.902,0.596-1.491c-1.292-1.292-2.562,2.299-2.281,3.063   c1.3,3.531-0.355,1.231,2.102,3.959c-0.595-1.007-1.078-2.065-1.448-3.175c0.513,0.369,1.085,0.58,1.716,0.635   C548.321,159.776,548.844,157.934,548.882,157.122" fill="#B9C5D1"/>
-<path d="M547.173,166.265c0,0,5.074-2.764,6.253,1.381c0,0-1.165-0.109-1.483-0.507s-0.875-0.437-0.994-0.437   c-0.099,0-0.736,0.188-1.025,0.011c-0.062-0.038-0.107-0.094-0.127-0.17c-0.12-0.438-0.955-0.159-1.471-0.12   C547.81,166.463,547.253,166.94,547.173,166.265z" fill="#B9C5D1"/>
-<path d="M545.67,163.621c0,0-2.992-0.285-3.185-0.285c-0.192,0-1.032,0.318-0.9,0.403   c0.131,0.085,3.048-0.122,3.077,0.263c0.03,0.386,0.467,1.474,0.637,1.281C545.469,165.091,546.367,163.832,545.67,163.621z" fill="#B9C5D1"/>
-<path d="M544.419,165.956c0.753-0.488,2.258,0.287,1.613,1.175C546.032,167.131,543.666,166.444,544.419,165.956" fill="#B9C5D1"/>
-<path d="M527.981,175.112c0,0-1.419-0.259-1.437,0.849S528.12,175.875,527.981,175.112z" fill="#B9C5D1"/>
-<path d="M542.993,175.026c0,0-7.15-0.606-8.345,0.173s-1.939,0.069-1.731,0.225   C533.124,175.58,540.17,177.779,542.993,175.026z" fill="#B9C5D1"/>
-<path d="M532.656,175.303c0,0-2.735-1.039-2.666-0.45c0.069,0.589,0.658,0.831,0.381,0.849   c-0.277,0.018-1.177-0.45-1.541-0.138c-0.364,0.312,0.364,1.315,2.631,0.605C531.542,176.144,532.519,175.647,532.656,175.303z" fill="#B9C5D1"/>
-<path d="M531.912,177c0,0,2.026,0.19,2.719,0.571c0.692,0.381,0.987,0.225,0.952,0.468   c-0.035,0.242,0.052,0.813-0.416,0.779c-0.468-0.035-0.832,0.173-1.299-0.329S531.392,177.242,531.912,177z" fill="#B9C5D1"/>
-<path d="M560.59,170.072c-1.482,0.688-2.289,1.434-1.489,3.311C560.167,173.194,562.286,170.947,560.59,170.072" fill="#B9C5D1"/>
-<path d="M542.663,176.775c-0.346,0.032-4.545,1.926-3.492,2.769c0.728,0.584,6.514-4.378,7.408-4.19   C545.249,175.074,543.051,175.196,542.663,176.775" fill="#B9C5D1"/>
-<path d="M546.006,174.23c0,0-2.07-0.947-1.896,0.05C544.284,175.278,545.606,174.331,546.006,174.23z" fill="#B9C5D1"/>
-<path d="M555.36,173.134c-1.334,0.501-1.923,1.981-1.896,1.971C554.434,174.781,555.066,174.125,555.36,173.134" fill="#B9C5D1"/>
-<path d="M587.609,164.333c0,0,1.308,0.854,2.715,2.062c1.408,1.206,2.412,3.434,2.337,2.396   C592.587,167.752,589.52,164.132,587.609,164.333z" fill="#B9C5D1"/>
-<path d="M589.899,167.883c0,0,1.029,0.874,0.526,1.126c-0.503,0.251-0.302-0.252-0.905,0.453   c-0.604,0.703-2.212-0.102-2.514,0.302c-0.302,0.401,0.252,1.256-0.804,0.955c-1.056-0.302-2.132-0.422-1.77-0.034   c0.362,0.386,1.82,1.039,2.977,0.737c1.157-0.302,4.503-1.192,3.596-3.56C591.004,167.862,590.127,167.209,589.899,167.883z" fill="#B9C5D1"/>
-<path d="M595.524,169.303c1.438,0.612-0.739,3.812,2.411,3.747C598.664,173.035,596.066,169.534,595.524,169.303" fill="#B9C5D1"/>
-<path d="M598.729,173.442c0.979,0.238,0.958,3.76,2.738,2.875C601.836,176.135,599.28,173.576,598.729,173.442" fill="#B9C5D1"/>
-<path d="M601.452,174.334c-0.66,0.032-1.303-2.185-2.257-1.296C599.71,173.776,600.462,174.208,601.452,174.334" fill="#B9C5D1"/>
-<path d="M603.887,176.293c-0.66,0.033-1.304-2.185-2.257-1.295C602.145,175.736,602.897,176.167,603.887,176.293" fill="#B9C5D1"/>
-<path d="M607.598,178c-0.053-0.709-2.071-0.864-1.726-2.023C606.088,175.254,607.602,178.063,607.598,178" fill="#B9C5D1"/>
-<path d="M591.596,179.956c0,0,1.946-0.037,2.198,0.667c0.251,0.704,0.704,0.955-0.051,0.904   C592.989,181.478,591.963,181.15,591.596,179.956z" fill="#B9C5D1"/>
-<path d="M604.955,176.953c0.582,0.571,2.048,0.282,0.949,1.59C606.228,178.157,603.138,177.99,604.955,176.953" fill="#B9C5D1"/>
-<path d="M604.653,179.869c0,0,2.313,1.156,2.163,1.257C606.665,181.226,604.804,181.579,604.653,179.869z" fill="#B9C5D1"/>
-<path d="M606.739,179.456c0.876,0.363,1.68,0.275,2.435,0.996C608.438,180.526,607.096,180.233,606.739,179.456" fill="#B9C5D1"/>
-<path d="M611.341,195.104c0,0,7.85,5.715,7.592,5.682c0,0-0.704-0.252-1.659-0.252s-4.726-2.514-5.078-3.369   c-0.352-0.854-1.504-2.126-1.179-2.194C611.341,194.902,611.341,195.104,611.341,195.104z" fill="#B9C5D1"/>
-<path d="M635.539,190.929c-0.598,0.265-1.313,0.52-1.896,1.005c-0.04,0.033,2.678,0.427,3.395,0.048   C636.639,191.513,636.14,191.162,635.539,190.929" fill="#B9C5D1"/>
-<path d="M637.612,189.17c-0.319,0.149-0.977,1.395-0.807,1.457c1.216,0.451,3.805-1.523,2.118-1.282" fill="#B9C5D1"/>
-<path d="M543.139,138.115c-2.629-0.137,0.107,4.079-0.368,4.511C543.517,141.948,543.864,138.804,543.139,138.115" fill="#B9C5D1"/>
-<path d="M539.69,139.177c0.106,0.084,1.45,0.902,1.362,0.474c-0.045-0.22-1.178-1.885-1.296-1.482   C539.677,138.502,539.655,138.839,539.69,139.177" fill="#B9C5D1"/>
-<path d="M541.303,140.738c-0.433,0.689-0.736,1.672-0.502,2.485C540.73,142.979,542.9,141.402,541.303,140.738" fill="#B9C5D1"/>
-<ellipse cx="604.785" cy="28.993" fill="#B9C5D1" rx="2.378" ry="0.349"/>
-<path d="M571.591,86.934c0,0-0.791,0.445-1.632,2.721c-0.841,2.276-0.989,3.117-3.018,4.256   c-2.028,1.138-3.909,2.275-4.651,3.265s-4.206-0.247-7.026,1.583c-2.819,1.831-4.7,2.227-3.859,3.019   c0.841,0.791-0.543,1.88,1.089,2.325s2.721,0,2.77-1.781c0.05-1.781,2.522-3.417,3.018-3.391s1.683-0.814,2.277,0.273   c0.594,1.089,0.594,2.969,1.781,1.633c1.188-1.336,4.305-1.435,5.542-2.771S575.796,89.11,571.591,86.934z" fill="#B9C5D1"/>
-<path d="M551.306,110.039c-1.328,1.327-3.251,2.57-4.405,4.001C547.612,113.159,551.71,112.257,551.306,110.039" fill="#B9C5D1"/>
-<path d="M556.919,102.304c0,0-0.959-1.794,0.474-2.249s1.334-1.297,1.829-0.752   c0.495,0.544,0.792,1.286,0.248,1.435C558.925,100.886,557.393,102.54,556.919,102.304z" fill="#B9C5D1"/>
-<path d="M570.404,85.102c0,0,0.136,0.577,0.488,0.512c0.352-0.066,0.896,0.428,0.352,0.479   c-0.544,0.049-1.434,0.147-1.434,0.147s-0.446-0.643,0.197-1.483c0.644-0.842,0.049-1.484,0.544-1.386s0.94,1.484,1.286,0.445   c0.347-1.039-0.314-3.701,0.239-4.003c0.553-0.302,1.295,0.886,2.334,1.281c1.04,0.396,2.871,0.842,3.563,0.99   c0.692,0.148,0.742,0.939,1.039,1.286c0.296,0.347,1.237,0.396-0.099,0.544s-1.386-0.494-2.127,0.396   c-0.742,0.891-0.643,1.337-1.435,1.287s-1.386,0.049-2.276-0.445c-0.89-0.495-1.435-0.692-1.682-0.495   C571.146,84.854,570.404,85.102,570.404,85.102z" fill="#B9C5D1"/>
-<path d="M595.701,72.059c0,0-1.365,2.097-0.888,1.657C595.29,73.277,596.211,72.572,595.701,72.059z" fill="#B9C5D1"/>
-<path d="M593.037,74.663c0,0-2.961,2.193-2.605,2.309C590.788,77.087,593.06,75.554,593.037,74.663z" fill="#B9C5D1"/>
-<path d="M588.66,77.878c0,0-2.602,1.605-2.018,1.521S588.808,78.818,588.66,77.878z" fill="#B9C5D1"/>
-<path d="M584.999,79.857c0,0-4.444,1.257-3.212,1.494C583.02,81.589,584.999,80.698,584.999,79.857z" fill="#B9C5D1"/>
-<path d="M617.398,187.968c0.694,0.176,0.118,2.072,1.476,1.683C619.172,189.564,617.706,188.045,617.398,187.968" fill="#B9C5D1"/>
-<path d="M619.904,191.878c-0.336-0.097-0.277-1.329-0.916-1.044C619.122,191.296,619.427,191.644,619.904,191.878" fill="#B9C5D1"/>
-<path d="M620.794,193.287c-0.336-0.098-0.276-1.328-0.915-1.044C620.011,192.705,620.316,193.054,620.794,193.287" fill="#B9C5D1"/>
-<path d="M622.372,194.79c0.091-0.342-0.886-0.808-0.521-1.319C622.084,193.144,622.363,194.822,622.372,194.79" fill="#B9C5D1"/>
-<path d="M621.22,193.805c0.01,0.402,1.097,0.428,0.204,0.967C620.272,195.465,621.183,192.322,621.22,193.805" fill="#B9C5D1"/>
-<path d="M617.609,197.111c0,0,0.968,0.983,0.874,1.008S617.39,198,617.609,197.111z" fill="#B9C5D1"/>
-<path d="M621.982,194.973c0,0,0.833,0.45,0.887,0.712c0.054,0.263,0.121,0.264,0.121,0.264l-0.067-0.001   C622.923,195.947,622.011,195.55,621.982,194.973z" fill="#B9C5D1"/>
-<path d="M618.634,186.807c0.26-0.268,0.556-0.49,0.887-0.668c0.188-0.067,1.071,2.393,0.59,2.474   C619.648,188.688,619.103,187.024,618.634,186.807" fill="#B9C5D1"/>
-<g>
-<g>
-<path d="M455.928,29.903c-0.301-0.114-0.611-0.17-0.848-0.136C454.579,29.839,455.185,29.826,455.928,29.903z      M639.881,44.734v-7.261c0,0-7.258-1.119-9.57-1.211c-2.313-0.091-7.697-1.563-6.976-0.601c0.721,0.962,2.71,1.58,0.874,1.812     c-1.836,0.232-5.243-0.567-4.382-0.769c0.862-0.201,1.343-1.765,0.02-1.283c-1.323,0.48-2.165,1.322-4.931,1.082     c-2.767-0.241-17.631-2.895-20.963-2.049c-3.332,0.846-3.606-2.189-5.033-3.077c-1.426-0.888,0.739-2.692,3.505-2.692     s6.561-1.063,4.182-1.313c-2.378-0.251-14.29-0.829-17.17-1.184c-2.881-0.355-7.818-1.953-8.901-0.991     c-1.082,0.962-10.631-0.014-8.743,0.715c1.888,0.728,9.938,3.267,14.091,1.696c4.153-1.569,9.806,0.836,9.084,1.918     c-0.721,1.083-3.127,1.685-5.773,1.685s-7.149-0.662-7.86-0.308c-0.711,0.355-1.991-0.455-3.079,0.888     c-1.088,1.344-11.07-0.821-11.792,0.381c-0.721,1.203-6.667,3.428-5.378,1.474s3.935-1.354,2.492-2.556     c-1.443-1.203-8.419-3.969-10.944-2.766c-2.526,1.202-2.405,2.886-3.849,2.525c-1.443-0.361-4.068-2.169-5.653-1.684     c-1.585,0.484-19.844,0.962-18.281,0.36s9.123-1.209,8.229-3.19s-8.192-2.693-11.398-2.338c-3.206,0.356-1.643-1.688-2.604-1.688     s-7.134,1.897-9.622,2.044c0,0-14.072-0.36-14.672,0.722c-0.602,1.083-5.893,1.443-7.817,1.443c-1.925,0-6.179,0.721-5.773,1.083     c0.405,0.361,3.055,0.874,1.708,1.278c-1.347,0.405-8.563,0.646-8.563,0.646s-0.31,1.906,2.732,2.817s1.72,0.258,1.539,1.065     c-0.182,0.808,2.021,1.548,0.799,1.538c-1.222-0.009-4.709-3.016-6.152-3.016s-0.81-1.168-1.367-1.245s-0.678,0.403-1.64,0.403     s-2.11-0.372-2.919-0.848c-0.328-0.192-0.897-0.287-1.404-0.34c0.766,0.292,1.471,0.983,0.753,1.672     c-1,0.959-1.481-0.845-2.804-1.206c-1.323-0.36,0,1.563-1.203,1.804c-1.203,0.241-1.589,5.854-0.671,5.646     c0.917-0.207,5.033-0.66,4.115-0.267c-0.918,0.394-4.024,1.534-3.493,1.806c0.53,0.271,1.973,0.512,0.65,1.113     c-1.323,0.602-4.856,2.535-6.216,2.29s-1.273-0.71-1.273-0.71s4.406,0.591,4.204-4.824c-0.202-5.415,0.769-6.336-0.563-6.497     c-1.332-0.161-3.367-2.045-5.171-0.843c-1.804,1.203-4.811,2.405-4.931,3.729c-0.12,1.322,0.841,2.164,1.563,2.886     c0.722,0.722,2.559,0.695,1.938,1.79c-0.621,1.095-0.494,2.179-2.298,0.856c-1.805-1.323-9.027-2.539-10.824-2.525     c-1.798,0.012-3.97-3.368-3.97-1.564s2.764,1.725,2.468,2.582c-0.296,0.858,0.28,1.288-1.214,0.977s-7.868-1.393-10.634-0.552     c-2.766,0.842-6.896,0.924-8.98,2.206c-2.085,1.282-3.889,2.365-4.25,1.282s1.924-2.646,0.481-3.007     c-1.443-0.361-3.35-0.953-4.141,0.666c-0.79,1.619,0.653,1.739-0.67,2.341c-1.323,0.602-7.064,2.179-7.381,2.953     c-0.316,0.774,3.652,2.459-5.248-0.066c0,0,2.525,1.563,1.563,2.405c-0.962,0.842-3.582,1.42-4.437-0.433     s-3.042-3.355-3.813-4.589s15.207,2.604,14.194-1.059c0,0-8.74-3.789-16.242-4.447c-7.502-0.658-2.792-1.627-5.508-1.623     c-2.716,0.003-2.716,0.363-4.521,0.363c-1.804,0-0.685-1.234-1.906-0.857c-1.221,0.377-0.981-0.104-3.506,0.737     s-0.36,1.203-4.33,1.323c-3.969,0.12-10.704,1.684-12.027,2.165c-1.323,0.48-2.085,1.138-0.962,0.962     c1.123-0.176,4.674-0.671,4.441-0.035c0,0-0.46,0.603-2.288,1.573s-3.817,1.126-4.279,2.733     c-0.461,1.607-0.119,1.088-2.118,1.977c-1.999,0.888-6.283,2.431-7.14,2.888c-0.857,0.456-2.627,0.742-3.542,2.741     c-0.914,2,0.571,2.284,0.743,3.827c0.171,1.542,4.859,2.949,8.456-0.067c0,0,5.439,4.899,4.661,5.082     c-0.779,0.184-2.835,0.869-2.778,1.154s-1.056,0.66-0.157,0.873c0.899,0.213,1.431,0.891,0.908,0.809s-0.694,0.774,0.848-0.025     c1.542-0.8,0.85-0.646,0.79-1.277c-0.059-0.631,0.752,0.25,0.752,0.25s2.17,0.571,2.228,0.113     c0.057-0.457,1.028-0.742,2.056-0.971c1.028-0.229,1.448-4.159,2.838-4.879c1.39-0.719,3.898-0.952,3.672-1.835     s-2.054-0.997-2.682-1.111s-0.813-0.248-0.778-0.724c0.036-0.476,1.578-4.304,4.148-4.589c2.57-0.286,3.827-1.257,3.656-2.057     c-0.171-0.799,0.179-1.761,1.518-2.108c1.338-0.348,5.623,0.167,5.451,0.853c-0.172,0.685-8.625,4.854-8.168,5.198     c0.457,0.342,1.485,1.484,0.743,2.228c-0.743,0.742-0.971,1.428,1.942,1.599c2.914,0.172,10.682-0.8,11.367-0.399     c0.686,0.399,3.027,0.399,2.513,0.686c-0.514,0.285-2.399-0.286-3.77,0.8c-1.371,1.085-7.083,0.228-8.283,0.742     c-1.2,0.514-2.742,0.343-2.399,0.628c0.342,0.286-1.04,0.281-0.571,0.857c0.469,0.574,2.056-0.972,3.655,0.057     c1.6,1.028-0.057,2.57-0.971,2.399s-3.027-1.143-3.427,0.057c-0.4,1.2-1.038,2.609-2.347,3.361     c-1.309,0.752-2.052,1.037-3.137,0.009c0,0-6.219,2.021-7.286,1.77c-1.067-0.252-0.753-1.431-1.36-1.172     c-0.607,0.26-4.557,1.377-4.655,0.982s-1.189-0.737-1.492-1.237c-0.304-0.499-0.442-0.814-0.245-1.288     c0.198-0.474,1.444,1.517,1.729,0.832c0.286-0.687-0.392-0.684-0.624-0.97c-0.233-0.287-0.918-1.087-0.233-1.145     c0.686-0.058,1.574-0.087,1.102-0.414c-0.473-0.328-0.93-0.557-0.873-1.413c0.057-0.857-2.426-0.76-3.469,0.248     s-0.247,1.514-0.474,2.289s0.23-0.024,0.059,1.118c-0.172,1.143,0.895,1.866,0.533,2.019c0,0-1.447,0.323-3.161,0.666     s-2.913-0.114-3.313,0.686s-1.235,3.317-5.416,4.028c0,0,0.381,0.554-0.586,1.318c-0.967,0.766-4.28,1.622-4.623,1.508     s-0.645-1.115-0.743-0.172c-0.097,0.945,0.514,1.429-0.228,1.429c-0.743,0-0.8-0.343-3.085-0.229c0,0-4.627,0.399-1.485,1.656     s5.346,2.44,5.329,3.905c-0.017,1.464,0.514,4.705-1.636,4.342c-2.151-0.364-4.436,0.207-5.349-0.25     c-0.914-0.457-1.428-0.285-2.685-0.285c-1.256,0-2-0.344-2.627-0.058s-1.831,0.296-1.772,0.69c0.059,0.396,1.438,0.663,0.691,1.5     c-0.747,0.837,0.224,2.494-0.29,3.637c-0.514,1.142-1.078,2.869-0.539,3.091s0.939,0.907,0.653,1.764     c-0.286,0.857,0.571,0.971,2.114,0.914s1.885,0.686,2.17,0.972c0.286,0.285,1.483,0.88,2.227,0.04s2.686-0.384,3.828-0.384     s1.823-1.163,2.882-1.353c1.06-0.189,2.68-1.733,2.526-2.446c-0.153-0.713,0.46-3.826,2.246-3.97     c1.442-0.115,2.766-1.526,3.41-3.622c0.551-1.792,4.244,0.195,5.215,0.024c0.971-0.172,2.627-2.971,5.083-2.514     c2.457,0.457,2.693,2.152,2.775,2.762c0.082,0.608,3.566,2.95,4.879,2.95c1.314,0,2.681,1.328,3.054,1.863     c0.373,0.536,1.327,0.237,1.421,0.986c0.095,0.749,1.006,0.671,0.572,1.382c-0.434,0.709-0.935,1.652-0.535,1.709     c0.4,0.058,0.969-0.368,1.403-1.019c0.434-0.651,0.881-0.353,0.824-0.694c-0.057-0.344-0.914-0.686-0.856-1.314     c0.057-0.628,0.938-1.286,1.354-1.129c0.416,0.158,2.165,1.085,2.033,0.336c-0.132-0.749-1.854-1.4-2.764-1.874     c-0.91-0.475-1.708-0.26-1.48-0.967s-0.41-0.337-1.776-0.494c-1.366-0.156-2.28-1.07-2.28-1.755c0-0.686-1.657-1.372-2.627-2.685     c-0.971-1.314,0.487-0.788,0.171-0.946c-0.315-0.157,0.8-1.625,1.6-1.396c0.8,0.229,0.298,2.079,1.006,1.812     c0.708-0.269,1.065-1.599,1.046-0.908s-0.322,1.067,0.355,0.711c0,0,0.392-0.643,0.335-0.071     c-0.058,0.57,1.142,2.709,2.685,3.011c1.542,0.302,5.084,0.93,5.426,2.415c0,0,0.54,2.443,0.171,2.628     c-0.368,0.185,0.914,0.228,0.628,0.8c-0.286,0.571,1.491,1.871,1.491,1.871s-1.182,1.322,0.178,1.953     c0,0-0.069-1.083,0.502-0.912c0.571,0.172,2.399-0.113,2.628-0.056c0.229,0.056,0.856,0.285,0.856,0.285     s-3.586,0.513-3.335,0.742c0.25,0.229,0.993,0.571,0.993,1.143s-0.561,0.118,0.605,0.573s1.451,1.141,1.623,0.854     c0.171-0.285,0.492-1.445,0.332-1.979s0.183-1.219,0.925-1.048c0.743,0.172,1.287,0.844,1.443,0.279     c0.157-0.564-3.919-1.702-3.138-2.19c0.781-0.487,1.184,0.198,1.125-0.059c-0.058-0.258-2.057-2.6-1.257-2.485     c0.799,0.114,0.856,0.971,1.428,1.085s-0.342-0.285,0.628-1.085c0.971-0.8,3.028-0.686,4.056-0.343     c1.028,0.343,4.456-0.629,5.141-0.172c0.686,0.458,0.514,0.687,0.057,0.687s-4.744,0.104-5.256,0.537     c-0.513,0.434-0.227,2.204,0.058,1.861c0.286-0.343,1.085-1.428,1.371-0.914c0.286,0.515-0.311,0.486-0.127,1.243     s-0.178,0.828-0.178,0.828s-1.776,0.237-1.302,0.415c0.474,0.177,1.835,0.084,1.835,0.427s-0.77,0.579-0.77,0.579     s1.284,1.077,2.484,1.135c0,0-0.949,0.534-0.589,0.581c0.36,0.047,2.047-0.193,2.546,0.355s2.614,1.059,2.842-0.71     c0,0,2.284,0.573,2.798,1.087c0.514,0.515,2.056,0.515,2.856-0.228c0.8-0.743,1.883-0.253,2.398-0.327     c0.515-0.073,1.365-0.892,1.6-0.416s-0.193,0.253-0.571,1.371c-0.378,1.117,0.799,2.113,0.342,2.685s-2.056,5.712-3.484,5.77     c-1.428,0.057-3.458-0.588-3.985-0.294s-2.881-0.593-4.018,0.079c-1.136,0.671-6.505-1.385-7.648-0.528     c0,0-1.511-1.042-3.897-0.892c0,0-5.871-2.192-5.699-0.079c0.171,2.113,0.8,1.714,0,2.57s-2.285,0.971-3.941-0.114     c-1.657-1.085-2.342-0.571-3.199-1.314c-0.856-0.742-2.342-2.398-6.226-2.228c0,0-4.85-1.918-4.024-2.387     c0.825-0.469,3.167-4.011,1.682-4.811c-1.485-0.799-2.685-0.514-4.513-0.399c-1.828,0.114-14.912,2.482-17.194,2.97     c-2.252,0.48-5.712,1.2-6.626,0.344c-0.914-0.857-2.113-1.714-2.513-0.458c-0.4,1.257-0.803,2.481-3.628,4.012     c-2.826,1.529-2.712,2.786-2.655,3.814s0.971,1.828,0.514,2.285s-2.523,2.581-3.433,2.719c-0.897,0.135-2.752-1.873-3.181,2.829     c-0.005,0.062-0.011,0.125-0.016,0.188c0,0-3.652,1.461-3.823,3.117c-0.172,1.656-0.515,1.371-1.2,3.256     c-0.686,1.885-0.4,3.085-0.171,5.369c0.229,2.285,0.754,7.611-0.489,8.499c-1.243,0.889-0.425,6.581,3.231,9.209     c0,0,0.628-0.286,0.971,1.199s4.341,4.398,5.369,5.198c1.028,0.8,4.913,3.941,7.711,2.971c0,0,5.998,0.057,8.797,0.285     s6.854-4.341,11.367-2.513c0,0,0.914-0.344,1.599,1.77c0.686,2.114,3.951,1.705,5.003,1.768c0,0,5.279,1.945,1.28,8.63     c0,0,3.199,6.739,7.712,11.252c0,0,1.771,4.913,1.371,7.255s-1.771,2.398-2.742,3.998c-0.971,1.6-2.285,6.854-1.828,7.94     c0.457,1.085,5.483,6.797,5.369,7.882c-0.114,1.086-0.285,7.998,2.742,9.939c0,0,2.799,2.8,3.142,5.599     c0,0,0.914,0.057,0.628,1.771c-0.285,1.714-0.799,4.513,1.6,4.97c2.399,0.457,3.085-0.686,4.741-0.857     c1.657-0.171,4.742-0.171,5.427-1.085c0,0,0.628-0.457,1.828,0.114s6.169-3.998,7.483-5.255c1.313-1.257,0.914-3.143,1.771-3.37     c0.856-0.229,2.105-3.052,3.17-5.518c0.257-0.595,2.313-1.565,3.513-2.365c1.199-0.8,2.935-3.571,0.04-7.755     c0,0,3.73-4.298,6.358-5.841c2.627-1.542,2.97,0.173,3.198-2.112s1.542-5.827,0.971-6.798c-0.571-0.972-0.057-1.371-0.457-2.342     c-0.4-0.972-1.085-0.229-1.428-1.371c-0.342-1.143,0.139-3.511-0.473-4.44c-0.612-0.929-2.326-0.814-1.698-1.9     c0.629-1.085,2.457-1.542,3.085-5.313c0,0,2.399-4.227,3.542-5.197c1.143-0.972,9.368-7.141,10.567-9.254     c1.2-2.113,7.24-12.603,5.463-12.426c-1.777,0.178-8.547,4.029-12.203,2.201c-3.656-1.828-1.771-2.171-2.229-3.256     c-0.457-1.085-4.33-5.362-5.106-5.337c-0.776,0.024-1.576,0.596-1.919-2.032s-3.22-3.979-3.409-4.36     c-0.189-0.381,0.839-2.322-0.589-4.322c-1.428-1.999-2.17-0.285-2.57-3.027c-0.4-2.741-2.057-4.684-3.028-6.055     c-0.971-1.371-3.147-5.569-2.516-6.126c0.631-0.558,2.573,3.384,3.316,3.556c0,0,0.4-2.628,1.028-2.685s-0.229,1.37-0.057,2.171     c0.171,0.8,1.199,0.342,1.713,1.599s2.742,3.771,3.999,5.427s1.771,5.198,2.57,6.397c0.8,1.199,2.114,1.543,3.313,4.284     c0,0,2.571,1.542,2.514,3.313c-0.057,1.771,0.286,6.512,2.228,6.797c1.942,0.286,2.113-1.656,4.513-1.485     c2.399,0.172,4.456-1.313,7.826-2.741s3.142-3.599,4.513-3.599s2.914,1.027,3.084-0.229c0.171-1.257,1.713-0.743,2.228-1.885     c0.514-1.144,1.828-0.571,2.171-1.144c0.342-0.57,0.25-2.949,1.039-2.988c0.789-0.038,4.845-3.401-0.296-5.918     c0,0-1.828,0.682-2.342-0.689c-0.514-1.37-0.057-3.256-0.914-3.313c-0.857-0.057-2.627,3.085-4.627,3.199     s-2.228,1.656-3.313,0.457c-1.085-1.2-0.172-1.844-0.291-2.613c-0.119-0.77-1.766-0.585-2.108-1.499s-1.485-1.6-2.285-2.399     c-0.8-0.8-2.517-3.246-1.173-3.736s3.424-0.067,3.612,1.006c0.188,1.074,2.016,2.273,3.043,2.788     c1.028,0.514,4.728,3.788,6.962,1.237c0,0,1.663,0.075,2.006,1.332s5.945,1.588,6.343,1.509c0,0,1.769,1.291,2.054,0.434     c0.285-0.856,6.257-0.876,7.241-0.552c0.984,0.323,1.295,0.469,1.54,1.539c0.244,1.069-0.156,1.526,1.501,1.755     c1.656,0.229,2.799,1.656,3.77,1.656c0,0-1.371,0.171-1.428,0.571c-0.057,0.4,4.284,4.227,4.97,4.227s1.134-0.634,1.134-0.634     l-0.355,1.894c0,0,1.247,3.411,1.776,5.445c0.529,2.035,1.453,2.224,1.615,3.006c0.162,0.782,2.374,5.011,2.57,5.826     s2.285,6.397,3.713,5.027c1.428-1.371,1.498-1.505,1.634-1.667c0.137-0.161,1.895,0.474,2.013,0.829     c0.119,0.355-0.277,0.323-0.563,1.123c0,0,0.229,4.398,1.942,3.941c1.714-0.457,2.742-5.426-1.313-6.454     c0,0-1.614,0.559-1.664-0.149c-0.049-0.708,1.244,0.06,1.421-0.71c0.178-0.77-0.328-3.368,0.129-3.597     c0.457-0.229,0.172-4.284,0.628-5.598c0.457-1.314,3.839-0.442,3.861-1.992c0.023-1.55,0.308-2.007,1.964-2.692     c1.657-0.685,3.085-3.256,3.713-3.198c0.628,0.058,1.942-3.37,3.142-2.913c1.2,0.457,6.341-0.399,7.769,0.229     c1.428,0.628,1.885,2.57,3.027,2.855c1.143,0.286-0.399,1.771,0.286,2s1.999-2.399,1.656,0.343     c-0.343,2.741-1.771,3.771-0.114,3.884c1.656,0.114,4.512-0.628,5.026,0.4c0.514,1.027,1.372,4.684,1.828,6.968     c0.457,2.285,0.058,2.628-0.114,4.113c-0.171,1.485-0.515,2.685,0.057,3.37c0.571,0.686,3.599,2.171,3.542,3.142     c-0.057,0.971,0.457,3.027,0.914,4.056c0.457,1.028,5.338,5.039,5.712,4.056s-2.399-7.883-4.912-9.939     c-2.513-2.057-2.627-3.084-2.627-4.684s-0.457-6.283,1.028-6.512c1.485-0.229,7.483,3.198,7.483,5.598s0.4,2.171,0,2.971     c0,0,1.085,1.085,1.828-0.457c0.743-1.542,8.335-3.636,7.167-6.959s-7.167-8.692-7.109-10.806     c0.058-2.114,3.713-5.084,5.141-5.027c1.428,0.058,2.239-0.642,2.205,0.622s1.184,2.189,1.184,2.189s-3.96,0.788-3.217,1.759     s3.028,3.484,4.285-1.143c0,0-1.143-1.542-0.743-2.399c0.4-0.856,7.597-2.284,10.053-3.484     c2.456-1.199,11.238-10.753,10.76-12.488c0,0-3.92,1.038-2.605-0.591c1.315-1.631,0.473-4.878-1.09-7.523     c-1.563-2.646,6.013-3.849,4.57-4.812c-1.443-0.962-12.026-0.962-8.659-2.887c3.367-1.924,8.659-5.171,7.938-2.886     s-4.45,3.007-1.083,2.767c3.368-0.241,6.984-2.013,6.258-0.285s-2.141,1.921-0.652,2.486c1.49,0.564,3.198-1.185,3.02,1.184     c-0.178,2.367-1.219,2.753-1.29,3.951c-0.072,1.197,0.993,1.316,3.244,0.665c2.25-0.651,4.092-2.71,0.965-7.4     c0,0-1.804-0.601,1.083-2.767c2.887-2.164,3.009-5.763,5.354-4.926c2.344,0.838,14.974-5.238,15.394-12.784     c0,0-0.061-3.097,1.623-2.495c1.684,0.602,1.082,3.969,0.962,6.014c-0.121,2.045-0.601,4.45,0.481,3.367     c1.083-1.082,3.729,2.045,2.526-0.36s-2.646-5.292-0.962-5.292c1.684,0,3.022,2.268,2.593,1.134     c-0.429-1.134-1.284-8.559-2.901-9.056s-2.699-0.857-5.706-0.256c-3.007,0.601-9.224-0.036-7.438-1.4     c1.786-1.366,8.105-8.405,20.22-7.893s15.558,1.513,15.039,0.592c-0.52-0.92,0.432-4.229,2.783-4.439     c2.351-0.21,4.795-0.946,5.21,0.475c0.415,1.42,4.115-0.323,6.28-1.767s1.555,0.64-0.004,1.944     c-1.559,1.303-8.553,4.734-11.25,6.747s-1.657,6.865-1.362,8.878c0.295,2.012-2.149,2.701-2.043,3.57     c0.106,0.87,7.804-3.94,11.171-8.511c3.367-4.571,2.045-3.849,1.563-5.533c-0.481-1.684,1.443-3.487,2.887-3.487     c1.443,0,11.305,0,15.635-2.165c4.33-2.165,11.964-0.598,11.995-2.163s-3.216-2.527-2.976-3.61L639.881,44.734z M379.794,85.262     c-2.278,0-4.422,1.206-4.422,1.206c-11.257-1.206-1.675-8.979,2.479-9.448s1.407,2.345,2.278,3.887s3.819-1.81,3.819-1.81     c0.201-1.005-1.273-0.134-1.541-1.34s2.479-1.475,4.154-1.341s0.268,1.407-0.469,2.145s-1.139,0.268,0.536,1.541     s6.902,3.283,6.902,5.763S382.072,85.262,379.794,85.262z M414.103,87.004c-1.675,0-0.603,0.603,0.603,1.943     s1.407,1.943,1.273,4.623s-2.211,2.011-5.696,1.273s-3.686-3.283-3.083-5.695s1.005-0.737,2.01-1.407s-3.752-2.479-4.355-5.026     s-0.134-0.804-1.139-1.943s1.273,0,4.221-3.015s4.825-1.475,4.825-1.475c3.686,2.747-1.742,3.082-1.876,3.753     s-1.005-0.47-2.077,1.005s2.68,1.005,2.948,2.01s1.675,0.536,1.407,1.273s0.536,1.876,1.273,0.871s1.407,0.402,2.949,1.341     S415.778,87.004,414.103,87.004z M458.606,83.766c-0.503,1.006-1.676,0.753-3.017,0.67     C455.589,84.436,459.109,82.76,458.606,83.766z M465.563,78.066c0,0-1.005,0.335-1.173-0.503     C464.389,77.563,465.814,76.223,465.563,78.066z M514.005,63.483c-1.09,0.587-0.838,0.922-1.425,1.341s-0.419,0.167-1.844,0.922     s-1.928,2.012-3.604,2.012s-2.85,0.42-2.934,0.084c0,0,6.956-2.18,7.543-3.521s3.436-5.027,3.52-3.938     S515.095,62.896,514.005,63.483z" fill="#B9C5D1"/>
-</g>
-</g>
-<path d="M365.873,94.03c-0.359,0.168-1.146-0.172-0.847-0.595C365.282,93.074,366.198,93.659,365.873,94.03" fill="#B9C5D1"/>
-<path d="M612.933,181.818c0.582,0.571,2.048,0.282,0.949,1.59C614.206,183.022,611.115,182.855,612.933,181.818" fill="#B9C5D1"/>
-<path d="M490.528,155.252c-0.021-0.042,0.021-1.404-1.125-2.07C489.427,154.171,490.079,154.367,490.528,155.252" fill="#B9C5D1"/>
-</g>
-</g>
-<!-- Kabul, Afghanistan -->
-<circle id="1760-1-0" cx="443.0" cy="98.7" r="2" fill="red"/>
-<!-- New Delhi, India -->
-<circle id="1624-45-0" cx="458.5" cy="116.2" r="2" fill="red"/>
-<!-- Mumbai, India -->
-<circle id="1624-45-1" cx="450.0" cy="127.8" r="2" fill="red"/>
-<!-- Chennai, India -->
-<circle id="1624-45-2" cx="462.2" cy="139.2" r="2" fill="red"/>
-<!-- Kolkata, India -->
-<circle id="1624-45-3" cx="470.5" cy="121.5" r="2" fill="red"/>
-<!-- London, UK -->
-<circle id="2592-33-0" cx="364.5" cy="52.9" r="2" fill="red"/>
-<!-- Paris, France -->
-<circle id="2696-34-0" cx="324.1" cy="73.2" r="2" fill="red"/>
-<!-- Helsinki, Finland -->
-<circle id="2632-104-0" cx="319.9" cy="68.3" r="2" fill="red"/>
-<!-- Berlin, Germany -->
-<circle id="2528-36-0" cx="343.9" cy="66.7" r="2" fill="red"/>
-</svg>
--- a/clock/data/worldclock/qgn_indi_dst_add.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg width="13" height="13" viewBox="0 0 13 13">
-<path d="M9.127,7.21c0,1.071-0.872,1.942-1.942,1.942c-1.071,0-1.942-0.871-1.942-1.942c0-1.071,0.871-1.942,1.942-1.942 C8.255,5.268,9.127,6.139,9.127,7.21z M7.185,4.268c-1.623,0-2.942,1.32-2.942,2.942s1.32,2.942,2.942,2.942 s2.942-1.32,2.942-2.942S8.807,4.268,7.185,4.268z"/>
-<path d="M6.685,1.986V3.05c0,0-0.003,0.499,0.5,0.499s0.5-0.499,0.5-0.499V1.986c0,0-0.019-0.5-0.5-0.5 S6.685,1.986,6.685,1.986z"/>
-<path d="M6.685,11.393v1.063c0,0-0.003,0.499,0.5,0.499s0.5-0.499,0.5-0.499v-1.063c0,0-0.019-0.5-0.5-0.5 S6.685,11.393,6.685,11.393z"/>
-<path d="M12.419,6.721h-1.063c0,0-0.499-0.003-0.499,0.5s0.499,0.5,0.499,0.5h1.063c0,0,0.5-0.019,0.5-0.5 S12.419,6.721,12.419,6.721z"/>
-<path d="M3.013,6.721H1.949c0,0-0.499-0.003-0.499,0.5s0.499,0.5,0.499,0.5h1.063c0,0,0.5-0.019,0.5-0.5 S3.013,6.721,3.013,6.721z"/>
-<path d="M10.532,3.166L9.78,3.917c0,0-0.355,0.351,0,0.707c0.356,0.355,0.707,0.001,0.707,0.001l0.752-0.752 c0,0,0.34-0.367,0-0.708S10.532,3.166,10.532,3.166z"/>
-<path d="M3.881,9.817l-0.752,0.752c0,0-0.355,0.351,0.001,0.707c0.355,0.355,0.706,0,0.706,0l0.752-0.752 c0,0,0.341-0.367,0-0.707C4.248,9.477,3.881,9.817,3.881,9.817z"/>
-<path d="M11.24,10.568l-0.752-0.752c0,0-0.351-0.355-0.707,0c-0.355,0.356-0.001,0.707-0.001,0.707l0.752,0.752 c0,0,0.367,0.34,0.708,0S11.24,10.568,11.24,10.568z"/>
-<path d="M4.588,3.917L3.836,3.165c0,0-0.351-0.355-0.707,0.001c-0.355,0.355,0,0.706,0,0.706l0.752,0.752 c0,0,0.367,0.341,0.707,0C4.929,4.284,4.588,3.917,4.588,3.917z"/>
-</svg>
\ No newline at end of file
--- a/clock/data/worldclock/qgn_indi_find.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="26px" version="1.1" viewBox="0 0 24 26" width="24px" x="0px" y="0px">
-<path d="M16.877,3.904c-6.466-0.738-10.905,6.168-8.039,11.672l-7.117,7.115l0.319,0.644c0.778,1.565,1.923,2.136,2.345,2.345  L5.029,26l7.076-7.076c0.902,0.494,1.901,0.814,2.955,0.935C19.787,20.397,24,16.703,24,11.864C24,7.343,20.447,4.31,16.877,3.904z"/>
-<path d="M9.088,16.741c0.434,0.213,0.821,0.491,1.111,0.782c0.145,0.145,0.286,0.313,0.419,0.5l-6.436,6.369  c-0.172-0.124-0.327-0.256-0.461-0.391c-0.289-0.29-0.568-0.679-0.783-1.111L9.088,16.741z" fill="#EB8C32"/>
-<path d="M22.403,9.043c-1.208-2.742-4.095-4.503-7.229-4.146c-5.106,0.58-7.72,6.121-5.358,10.389L22.403,9.043z" fill="#E1E1E1"/>
-<path d="M22.251,8.742l-1.795,0.896c0.256,0.514,0.434,1.073,0.502,1.675c0.314,2.757-1.664,5.246-4.421,5.56  c-2.153,0.245-4.14-0.914-5.056-2.748l-1.795,0.897c1.285,2.566,4.062,4.188,7.078,3.843c3.858-0.438,6.629-3.922,6.189-7.78  C22.858,10.243,22.61,9.458,22.251,8.742" fill="#B4B4B4"/>
-<path d="M15.286,5.899c-4.132,0.471-6.717,5.06-4.588,8.905l10.776-5.368C20.494,7.219,18.094,5.579,15.286,5.899z" fill="#968C82"/>
-<path d="M12.221,16.597c1.259,1.001,2.832,1.452,4.429,1.27c1.598-0.182,3.029-0.975,4.031-2.232  c1.002-1.259,1.453-2.834,1.271-4.434c-0.081-0.711-0.289-1.385-0.6-2.007l-1.795,0.897c0.207,0.415,0.354,0.861,0.407,1.336  c0.018,0.154,0.026,0.31,0.026,0.463c0,0.906-0.304,1.779-0.876,2.499c-0.669,0.84-1.624,1.369-2.691,1.491  c-1.067,0.121-2.118-0.18-2.958-0.849c-0.467-0.37-0.825-0.835-1.084-1.353l-1.795,0.898C10.974,15.352,11.522,16.042,12.221,16.597  z" fill="#5F5A50"/>
-<path d="M10.979,18.627L4.825,24.78C4.514,24.625,4.243,24.435,4,24.235l6.433-6.434  C10.633,18.045,10.824,18.316,10.979,18.627z" fill="#B44B00"/>
-<path d="M20.619,9.983c-0.827-2.032-2.932-3.352-5.22-3.091c-2.755,0.314-4.735,2.803-4.422,5.558  c0.079,0.689,0.293,1.33,0.614,1.898L20.619,9.983z" fill="#FFFFFF"/>
-<path d="M20.456,9.639l-8.975,4.486c0.916,1.834,2.902,2.993,5.056,2.748c2.757-0.313,4.735-2.803,4.421-5.56  C20.89,10.712,20.712,10.152,20.456,9.639" fill="#EBEBEB"/>
-<rect fill="none" height="26" width="24"/>
-</svg>
--- a/clock/data/worldclock/qgn_test_city_default.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="42" height="36" viewBox="0 0 42 36">
-<rect fill="none" height="36" width="42"/>
-<linearGradient id="SVGID_1" gradientUnits="userSpaceOnUse" x1="21.12" y1="18.23" x2="28.7" y2="33.17">
-<stop stop-color="#AABBD7" offset="0"/>
-<stop stop-color="#92A5CC" offset="0.26"/>
-<stop stop-color="#6C83BB" offset="0.71"/>
-<stop stop-color="#637DB5" offset="0.76"/>
-<stop stop-color="#4C6EA4" offset="0.83"/>
-<stop stop-color="#265689" offset="0.91"/>
-<stop stop-color="#003D6D" offset="0.99"/>
-</linearGradient>
-<polygon fill="url(#SVGID_1)" points="6.983,6.5 5.511,7.279 5.511,29.5 35.709,29.5 36.489,28.028 36.489,6.5 "/>
-<linearGradient id="SVGID_2" gradientUnits="userSpaceOnUse" x1="20.2" y1="-0.08" x2="21.06" y2="32.84">
-<stop stop-color="#FFFFFF" offset="0.15"/>
-<stop stop-color="#A2C2DD" offset="1"/>
-</linearGradient>
-<rect fill="url(#SVGID_2)" height="21.66" width="29.64" x="5.86" y="7.489"/>
-<linearGradient id="SVGID_3" gradientUnits="userSpaceOnUse" x1="35.32" y1="1.53" x2="36.25" y2="32.21">
-<stop stop-color="#FFFFFF" offset="0"/>
-<stop stop-color="#496DA2" offset="0.71"/>
-<stop stop-color="#235487" offset="0.99"/>
-</linearGradient>
-<polygon fill="url(#SVGID_3)" points="36.139,6.851 36.139,27.94 35.5,29.149 35.5,7.489 "/>
-<linearGradient id="SVGID_4" gradientUnits="userSpaceOnUse" x1="20.88" y1="3.11" x2="21.56" y2="25.88">
-<stop stop-color="#FFFFFF" offset="0"/>
-<stop stop-color="#496DA2" offset="0.71"/>
-<stop stop-color="#235487" offset="0.99"/>
-</linearGradient>
-<polygon fill="url(#SVGID_4)" points="35.5,7.489 36.139,6.851 7.069,6.851 5.86,7.489 "/>
-<linearGradient id="SVGID_5" gradientUnits="userSpaceOnUse" x1="20.31" y1="4.4" x2="20.5" y2="15.99">
-<stop stop-color="#FFFFFF" offset="0"/>
-<stop stop-color="#A2C2DD" offset="0.35"/>
-<stop stop-color="#6C83BB" offset="0.7"/>
-<stop stop-color="#003D6D" offset="1"/>
-</linearGradient>
-<rect fill="url(#SVGID_5)" height="19.096" width="26.695" x="7.19" y="8.725"/>
-<linearGradient id="SVGID_6" gradientUnits="userSpaceOnUse" x1="20.3" y1="12.61" x2="20.58" y2="25.51">
-<stop stop-color="#D6E6EC" offset="0"/>
-<stop stop-color="#298595" offset="1"/>
-</linearGradient>
-<path d="M33.885,27.821V19.12l-2.148-0.299c-0.068-1.166-0.291-4.934-0.293-4.934 c-0.004-0.084-1.654-0.09-1.689-0.009l-0.258,4.632l-1.301-0.181c-0.055-1.231-0.299-6.597-0.301-6.597 c-0.002-0.084-1.654-0.09-1.689-0.009l-0.271,6.29l-4.15-2.027l-2.74,1l0.005,1.643l-1.615-0.354l-0.528,0.118l-0.167-2.383 c1.619-0.07,2.872-0.532,2.872-1.093c0-0.578-1.329-1.052-3.024-1.099l-0.212-3.023l-0.107-0.002l-0.206,3.025 c-1.705,0.043-3.052,0.518-3.052,1.099c0,0.565,1.269,1.03,2.902,1.095l-0.177,2.643l-0.507,0.111v-1.726l-3.929-0.766 l-4.111,0.847l0.005,10.699" fill="url(#SVGID_6)"/>
-</svg>
\ No newline at end of file
--- a/clock/data/worldclock/qtg_test_homecity.svg	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948)  -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
-	 width="40px" height="40px" viewBox="0 0 40 40" enable-background="new 0 0 40 40" xml:space="preserve">
-<g>
-	<rect fill="none" width="40" height="40"/>
-	<g>
-		<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="22.2627" y1="1.3389" x2="19.0624" y2="39.7377">
-			<stop  offset="0" style="stop-color:#FFFFFF"/>
-			<stop  offset="1" style="stop-color:#4F4F4F"/>
-		</linearGradient>
-		<path fill="url(#SVGID_1_)" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" d="M34.326,38.682V17.68
-			L20.402,2.889L5.727,17.68v21.002H34.326z"/>
-		<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="20.916" y1="0.4121" x2="19.7791" y2="21.6352">
-			<stop  offset="0" style="stop-color:#D07100"/>
-			<stop  offset="1" style="stop-color:#A23600"/>
-		</linearGradient>
-		<polygon fill="url(#SVGID_2_)" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" points="20.256,1.318 
-			38.556,17.469 35.365,21.055 20.33,7.807 4.844,20.959 1.443,17.572 		"/>
-		<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="20.9043" y1="21.8818" x2="19.9962" y2="38.8339">
-			<stop  offset="0" style="stop-color:#17BFFF"/>
-			<stop  offset="1" style="stop-color:#05002E"/>
-		</linearGradient>
-		<rect x="15.327" y="22.881" fill="url(#SVGID_3_)" width="10.2" height="15.801"/>
-		<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="23.999" y1="30.1406" x2="23.7214" y2="33.4714">
-			<stop  offset="0" style="stop-color:#C6FF45"/>
-			<stop  offset="1" style="stop-color:#4B8B00"/>
-		</linearGradient>
-		<ellipse fill="url(#SVGID_4_)" cx="23.854" cy="31.881" rx="1.5" ry="1.602"/>
-	</g>
-</g>
-</svg>
--- a/clock/ftudatetimewizard/ftudatetimewizard.pro	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +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 <hbwidget.h>
-#include <hbview.h>
-#include <hbdialog.h>
-#include <qdatetime.h>
-#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);
-
-private:
-	void createMainLayout();
-	void setItemDisplayed();
-	void populateDateTimeGroup();
-	void populatePlaceGroup();
-	void wizardEditedDate(const QDate &date);
-	
-	HbDataForm* mDateTimePlaceForm;
-	HbDataFormModel* mDateTimePlaceModel;
-	
-	HbDataFormModelItem *mDateItem;
-	HbDataFormModelItem *mTimeItem;
-	HbDataFormModelItem *mAutoTimeUpdateItem;
-	HbDataFormModelItem *mPlaceGroup;
-	HbDataFormModelItem *mCountryItem;
-	HbDataFormModelItem *mCityItem;
-	
-	HbDateTimePicker* mDatePicker;
-	HbDateTimePicker* mTimePicker;
-	HbDialog* mDatetimepopup;
-	SettingsUtility *mSettingsUtility;
-	
-	TimezoneClient *mTimeZoneClient;
-	ClockCitySelectionList* mCitySelectionList;
-	bool mTimeAutoUpdate;
-};
-
-#endif // FTUDATETIMEVIEW_H
-
-// End of file  --Don't remove this.
--- a/clock/ftudatetimewizard/inc/ftudatetimewizard.h	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,414 +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),
-mDatetimepopup(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 = new TimezoneClient();
-	mTimeAutoUpdate = mTimeZoneClient->timeUpdateOn();
-}
-
-/*!
-    Destructor.
- */
-FtuDateTimeView::~FtuDateTimeView()
-{
-	delete mDateTimePlaceForm;
-	delete mDateTimePlaceModel;
-	delete mSettingsUtility;
-}
-/*!
-    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 (mDatetimepopup) {
-		delete mDatetimepopup;
-		mDatetimepopup = NULL;
-	}
-	mDatetimepopup = new HbDialog();
-
-	mDatetimepopup->setDismissPolicy(HbDialog::NoDismiss);
-	mDatetimepopup->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"));
-	mDatePicker->setDisplayFormat(mSettingsUtility->dateFormatString());
-
-	// Sets the primary action and secondary action
-	HbAction *primaryAction = new HbAction(tr("OK"), mDatetimepopup);
-	HbAction *secondaryAction = new HbAction(tr("Cancel"), mDatetimepopup);
-
-	mDatetimepopup->setPrimaryAction(primaryAction);
-	mDatetimepopup->setSecondaryAction(secondaryAction);
-	mDatetimepopup->setContentWidget(mDatePicker);
-
-	connect(primaryAction, SIGNAL(triggered()), this, SLOT(updateDate()));
-	connect(secondaryAction, SIGNAL(triggered()), mDatetimepopup, SLOT(close()));
-	mDatetimepopup->exec();
-}
-
-/*!
-    Populates the Time Picker.
- */
-void FtuDateTimeView::populateTimePicker()
-{   
-	if (mDatetimepopup) {
-		delete mDatetimepopup;
-		mDatetimepopup = NULL;
-	}
-	mDatetimepopup = new HbDialog();
-	mDatetimepopup->setDismissPolicy(HbDialog::NoDismiss);
-	mDatetimepopup->setTimeout(HbDialog::NoDismiss);
-
-	if(mTimePicker) {
-		mTimePicker = NULL;
-	}
-	mTimePicker = new HbDateTimePicker(QTime().currentTime(),
-	                                   this);
-	mTimePicker->setDisplayFormat(mSettingsUtility->timeFormatString());
-
-	// Sets the primary action and secondary action
-	HbAction *primaryAction = new HbAction(tr("OK"), mDatetimepopup);
-	HbAction *secondaryAction = new HbAction(tr("Cancel"), mDatetimepopup);
-
-	mDatetimepopup->setPrimaryAction(primaryAction);
-	mDatetimepopup->setSecondaryAction(secondaryAction);
-
-	mDatetimepopup->setContentWidget(mTimePicker);
-
-	connect(primaryAction, SIGNAL(triggered()), this, SLOT(updateTime()));
-	connect(secondaryAction, SIGNAL(triggered()), mDatetimepopup, SLOT(close()));
-
-	mDatetimepopup->exec();
-}
-
-/*!
-    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();
-}
-
-/*!
-    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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ b/clock/inc/clockcommon.h	Mon Jun 28 15:22:02 2010 +0530
@@ -25,10 +25,7 @@
 const QString CITY_INFO_DB ("cityInfo.dat");
 const QString CLOCK_DEBUG_FILE("debug.txt");
 const QString PATH_TEXT("C:/");
-
-const long int KCRUidNitz =  { 0x101F8876 };
-
-const long int KPreviousAlarmTime = 0x00000002;
+const int KMaximumCityListCount(50);
 
 // Common definitions for docml.
 #define CLOCK_MAIN_VIEW_DOCML						":/xml/clockmainview.docml"
@@ -38,9 +35,14 @@
 #define CLOCK_WIDGET								"clockWidget"
 #define CLOCK_ALARMLIST								"alarmListView"
 #define CLOCK_NOALARMLABEL							"noAlarmLabel"
-#define WORLD_CLOCK_VIEW_DOCML						":/xml/worldclockview.docml"
-#define WORLD_CLOCK_VIEW							"worldClockView"
-#define CLOCK_VIEWS_STYLE_PATH						":/style"
+#define CLOCK_WORLD_VIEW_DOCML						":/xml/clockworldview.docml"
+#define CLOCK_WORLD_VIEW							"worldClockView"
+#define CLOCK_WORLD_CITYLIST						"worldClockCityListView"
+#define CLOCK_WORLD_HOMECITY						"homeCityWidget"
+#define CLOCK_WORLD_VIEW_PORTRAIT_NOHOMECITY_SECTION	"portrait-nohomecity"
+#define CLOCK_WORLD_VIEW_PORTRAIT_HOMECITY_SECTION		"portrait-homecity"
+#define CLOCK_WORLD_VIEW_LANDSCAPE_NOHOMECITY_SECTION	"landscape-nohomecity"
+#define CLOCK_WORLD_VIEW_LANDSCAPE_HOMECITY_SECTION		"landscape-homecity"
 
 #endif		// CLOCKCOMMON_H
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clock/inc/clockprivatecrkeys.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/clock/rom/clock.iby	Mon Jun 28 15:22:02 2010 +0530
@@ -41,22 +41,28 @@
 
 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
-file=ABI_DIR\BUILD_DIR\clockstopwatchengine.dll							SHARED_LIB_DIR\clockstopwatchengine.dll
 file=ABI_DIR\BUILD_DIR\clocksettingsutility.dll							SHARED_LIB_DIR\clocksettingsutility.dll
 file=ABI_DIR\BUILD_DIR\clocksettingsview.dll							SHARED_LIB_DIR\clocksettingsview.dll
-file=ABI_DIR\BUILD_DIR\clockwidgetproto.dll								SHARED_LIB_DIR\clockwidgetproto.dll
 file=ABI_DIR\BUILD_DIR\clockcityselectionlist.dll						SHARED_LIB_DIR\clockcityselectionlist.dll
 file=ABI_DIR\BUILD_DIR\clockalarmeditor.dll								SHARED_LIB_DIR\clockalarmeditor.dll
 file=ABI_DIR\BUILD_DIR\clockappcontroller.dll							SHARED_LIB_DIR\clockappcontroller.dll
 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\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	Mon May 03 12:30:32 2010 +0300
+++ b/clock/rom/clockengines.iby	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/notes/data/notes.qrc	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,836 +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>%1</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_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_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>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/data/xml/notescollectionsview.docml	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+    <object name="allNotesAction" type="HbAction">
+        <icon iconName="qtg_mono_notes_all" name="icon"/>
+    </object>
+    <object name="collectionsViewAction" type="HbAction">
+        <icon iconName="qtg_mono_notes_collections" name="icon"/>
+    </object>
+    <object name="newNoteAction" type="HbAction">
+        <icon iconName="qtg_mono_create_event" name="icon"/>
+    </object>
+    <widget name="notesCollectionView" type="HbView">
+        <widget name="notesCollectionWidget" role="HbView:widget" type="HbWidget">
+            <widget name="subtitleGroupBox" type="HbGroupBox">
+                <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_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="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"/>
+            </layout>
+        </widget>
+        <widget name="viewToolbar" role="HbView:toolBar" type="HbToolBar">
+            <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"/>
+        <string locid="txt_notes_title_notes" name="title" value="Notes"/>
+    </widget>
+    <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>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/data/xml/notesfavoriteview.docml	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+    <object name="allNotesAction" type="HbAction">
+        <icon iconName="qtg_mono_notes_all" name="icon"/>
+    </object>
+    <object name="displayCollectionsAction" type="HbAction">
+        <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">
+        <string locid="txt_common_opt_delete" name="text" value="Delete"/>
+    </object>
+    <widget name="notesFavoriteView" type="HbView">
+        <widget name="notesFavoriteViewWidget" role="HbView:widget" type="HbWidget">
+            <widget name="subtitleGroupBox" type="HbGroupBox">
+                <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="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="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="HbWidget:addAction"/>
+            <ref object="displayCollectionsAction" 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="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="app_list_template5"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/data/xml/notesmainview.docml	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+    <object name="allNotesAction" type="HbAction">
+        <icon iconName="qtg_mono_notes_all" name="icon"/>
+    </object>
+    <object name="collectionsViewAction" type="HbAction">
+        <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">
+        <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">
+                <real name="z" value="1"/>
+                <bool name="collapsable" value="FALSE"/>
+                <string name="heading" value=" "/>
+            </widget>
+            <widget name="listView" type="HbListView">
+                <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="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="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-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>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/data/xml/notesnoteview.docml	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+    <object name="allNotesAction" type="HbAction">
+        <icon iconName="qtg_mono_notes_all" name="icon"/>
+    </object>
+    <object name="displayCollectionsAction" type="HbAction">
+        <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">
+        <string locid="txt_common_opt_delete" name="text" value="Delete"/>
+    </object>
+    <widget name="notesNoteView" type="HbView">
+        <widget name="notesNoteViewWidget" role="HbView:widget" type="HbWidget">
+            <widget name="subtitleGroupBox" type="HbGroupBox">
+                <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="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="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="HbWidget:addAction"/>
+            <ref object="displayCollectionsAction" 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="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="app_list_template5"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/data/xml/notestodoview.docml	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+    <object name="allNotesAction" type="HbAction">
+        <icon iconName="qtg_mono_notes_all" name="icon"/>
+    </object>
+    <object name="displayCollectionsAction" type="HbAction">
+        <icon iconName="qtg_mono_notes_collections" name="icon"/>
+    </object>
+    <object name="newTodoAction" type="HbAction">
+        <icon iconName="qtg_mono_create_event" name="icon"/>
+    </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">
+                <real name="z" value="1"/>
+                <bool name="collapsable" value="FALSE"/>
+                <string name="heading" value=" "/>
+            </widget>
+            <widget name="todoListView" type="HbListView">
+                <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="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="HbWidget:addAction"/>
+            <ref object="displayCollectionsAction" role="HbWidget:addAction"/>
+            <ref object="newTodoAction" 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="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="app_list_template5"/>
+    </metadata>
+</hbdocument>
--- a/notes/notes.pro	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notes.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +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)
-
--- a/notes/notesui/bwins/notesviewmanageru.def	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +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)
-	?setupView@NotesMainView@@QAEXAAVNotesAppControllerIf@@PAVNotesDocLoader@@@Z @ 6 NONAME ; void NotesMainView::setupView(class NotesAppControllerIf &, class NotesDocLoader *)
-	??0NotesTodoView@@QAE@PAVQGraphicsWidget@@@Z @ 7 NONAME ; NotesTodoView::NotesTodoView(class QGraphicsWidget *)
-	??0NotesMainView@@QAE@PAVQGraphicsWidget@@@Z @ 8 NONAME ; NotesMainView::NotesMainView(class QGraphicsWidget *)
-	??1NotesTodoView@@UAE@XZ @ 9 NONAME ; NotesTodoView::~NotesTodoView(void)
-	?setupView@NotesFavoriteView@@QAEXAAVNotesAppControllerIf@@PAVNotesDocLoader@@@Z @ 10 NONAME ; void NotesFavoriteView::setupView(class NotesAppControllerIf &, class NotesDocLoader *)
-	?setupView@NotesTodoView@@QAEXAAVNotesAppControllerIf@@PAVNotesDocLoader@@@Z @ 11 NONAME ; void NotesTodoView::setupView(class NotesAppControllerIf &, class NotesDocLoader *)
-	??0NotesCollectionView@@QAE@PAVQGraphicsWidget@@@Z @ 12 NONAME ; NotesCollectionView::NotesCollectionView(class QGraphicsWidget *)
-	??0NotesNoteView@@QAE@PAVQGraphicsWidget@@@Z @ 13 NONAME ; NotesNoteView::NotesNoteView(class QGraphicsWidget *)
-	??1NotesNoteView@@UAE@XZ @ 14 NONAME ; NotesNoteView::~NotesNoteView(void)
-	?setupView@NotesNoteView@@QAEXAAVNotesAppControllerIf@@PAVNotesDocLoader@@@Z @ 15 NONAME ; void NotesNoteView::setupView(class NotesAppControllerIf &, class NotesDocLoader *)
-
--- a/notes/notesui/eabi/notesappcontrolleru.def	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +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
-
--- a/notes/notesui/eabi/notesviewmanageru.def	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-EXPORTS
-	_ZN13NotesMainView9setupViewER20NotesAppControllerIfP14NotesDocLoader @ 1 NONAME
-	_ZN13NotesMainViewC1EP15QGraphicsWidget @ 2 NONAME
-	_ZN13NotesMainViewC2EP15QGraphicsWidget @ 3 NONAME
-	_ZN13NotesMainViewD0Ev @ 4 NONAME
-	_ZN13NotesMainViewD1Ev @ 5 NONAME
-	_ZN13NotesMainViewD2Ev @ 6 NONAME
-	_ZN13NotesTodoView9setupViewER20NotesAppControllerIfP14NotesDocLoader @ 7 NONAME
-	_ZN13NotesTodoViewC1EP15QGraphicsWidget @ 8 NONAME
-	_ZN13NotesTodoViewC2EP15QGraphicsWidget @ 9 NONAME
-	_ZN13NotesTodoViewD0Ev @ 10 NONAME
-	_ZN13NotesTodoViewD1Ev @ 11 NONAME
-	_ZN13NotesTodoViewD2Ev @ 12 NONAME
-	_ZN17NotesFavoriteView9setupViewER20NotesAppControllerIfP14NotesDocLoader @ 13 NONAME
-	_ZN17NotesFavoriteViewC1EP15QGraphicsWidget @ 14 NONAME
-	_ZN17NotesFavoriteViewC2EP15QGraphicsWidget @ 15 NONAME
-	_ZN17NotesFavoriteViewD0Ev @ 16 NONAME
-	_ZN17NotesFavoriteViewD1Ev @ 17 NONAME
-	_ZN17NotesFavoriteViewD2Ev @ 18 NONAME
-	_ZN19NotesCollectionView9setupViewER20NotesAppControllerIfP14NotesDocLoader @ 19 NONAME
-	_ZN19NotesCollectionViewC1EP15QGraphicsWidget @ 20 NONAME
-	_ZN19NotesCollectionViewC2EP15QGraphicsWidget @ 21 NONAME
-	_ZN19NotesCollectionViewD0Ev @ 22 NONAME
-	_ZN19NotesCollectionViewD1Ev @ 23 NONAME
-	_ZN19NotesCollectionViewD2Ev @ 24 NONAME
-	_ZThn16_N13NotesMainViewD0Ev @ 25 NONAME
-	_ZThn16_N13NotesMainViewD1Ev @ 26 NONAME
-	_ZThn16_N13NotesTodoViewD0Ev @ 27 NONAME
-	_ZThn16_N13NotesTodoViewD1Ev @ 28 NONAME
-	_ZThn16_N17NotesFavoriteViewD0Ev @ 29 NONAME
-	_ZThn16_N17NotesFavoriteViewD1Ev @ 30 NONAME
-	_ZThn16_N19NotesCollectionViewD0Ev @ 31 NONAME
-	_ZThn16_N19NotesCollectionViewD1Ev @ 32 NONAME
-	_ZThn8_N13NotesMainViewD0Ev @ 33 NONAME
-	_ZThn8_N13NotesMainViewD1Ev @ 34 NONAME
-	_ZThn8_N13NotesTodoViewD0Ev @ 35 NONAME
-	_ZThn8_N13NotesTodoViewD1Ev @ 36 NONAME
-	_ZThn8_N17NotesFavoriteViewD0Ev @ 37 NONAME
-	_ZThn8_N17NotesFavoriteViewD1Ev @ 38 NONAME
-	_ZThn8_N19NotesCollectionViewD0Ev @ 39 NONAME
-	_ZThn8_N19NotesCollectionViewD1Ev @ 40 NONAME
-	_ZN13NotesNoteView9setupViewER20NotesAppControllerIfP14NotesDocLoader @ 41 NONAME
-	_ZN13NotesNoteViewC1EP15QGraphicsWidget @ 42 NONAME
-	_ZN13NotesNoteViewC2EP15QGraphicsWidget @ 43 NONAME
-	_ZN13NotesNoteViewD0Ev @ 44 NONAME
-	_ZN13NotesNoteViewD1Ev @ 45 NONAME
-	_ZN13NotesNoteViewD2Ev @ 46 NONAME
-	_ZThn16_N13NotesNoteViewD0Ev @ 47 NONAME
-	_ZThn16_N13NotesNoteViewD1Ev @ 48 NONAME
-	_ZThn8_N13NotesNoteViewD0Ev @ 49 NONAME
-	_ZThn8_N13NotesNoteViewD1Ev @ 50 NONAME
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/notesui/notesappcontroller/bwins/notesappcontrolleru.def	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesappcontroller/src/notesappcontroller.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesappcontroller/src/notesappcontrollerifimpl.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -38,7 +38,7 @@
  */
 NotesAppControllerIfImpl::NotesAppControllerIfImpl(
 		NotesAppController *controller, QObject *parent)
-:QObject(parent),
+:QObject(controller),
  mAppController(controller)
 {
 	// Nothing yet.
--- a/notes/notesui/notesapplication/notesapplication.pro	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesapplication/notesapplication.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesapplication/src/main.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/noteseditor/data/noteseditor.qrc	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,836 +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>%1</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_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_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>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/notesui/noteseditor/data/xml/notesnoteeditor.docml	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <object name="makeFavoriteAction" type="HbAction">
+        <string locid="txt_notes_opt_mark_as_favorite" name="text" value="Mark as favourite"/>
+    </object>
+    <object name="makeAsTodoAction" type="HbAction">
+        <string locid="txt_notes_opt_make_it_as_todo_note" name="text" value="Make it as To-do note"/>
+    </object>
+    <object name="discardChangesAction" type="HbAction">
+        <string locid="txt_notes_opt_discard_changes" name="text" value="Discard changes"/>
+    </object>
+    <object name="newNoteAction" type="HbAction">
+	<string locid="txt_notes_opt_new_note" name="text" value="New note"/>
+    </object>	
+    <object name="deleteAction" type="HbAction">
+        <icon iconName="qtg_mono_delete" name="icon"/>
+    </object>
+    <object name="addToCalendarAction" type="HbAction">
+        <icon iconName="qtg_mono_add_to_calendar" name="icon"/>
+    </object>
+    <widget name="notesEditorView" type="HbView">
+        <widget name="noteEditorWidget" role="HbView:widget" type="HbWidget">
+            <widget name="notesEditorSubHeading" type="HbGroupBox">
+	        <string name="heading" value=" "/>
+    	        <bool name="collapsable" value="FALSE"/>
+            </widget>
+            <widget name="editorHeading" type="HbLabel">
+	        <enums name="alignment" value="AlignLeft|AlignLeading"/>
+                <sizehint height="var(hb-param-text-height-secondary)" type="PREFERRED" width="48un"/>
+                <string locid="txt_notes_subhead_new_note" name="plainText" value="New note"/>
+             </widget>
+	     <widget name="favoriteIcon" type="HbLabel">
+                 <enums name="alignment" value="AlignRight|AlignTrailing"/>
+                 <sizehint height="var(hb-param-graphic-size-secondary)" type="PREFERRED" width="4un"/>
+            </widget>            
+            <widget name="textEdit" type="HbTextEdit"/>
+            <layout type="anchor">
+                <anchoritem dst="notesEditorSubHeading" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="notesEditorSubHeading" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+                <anchoritem dst="notesEditorSubHeading" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="notesEditorSubHeading" dstEdge="BOTTOM" spacing="0un" src="textEdit" srcEdge="TOP"/>
+                <anchoritem dst="textEdit" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
+                <anchoritem dst="textEdit" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="textEdit" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+                <anchoritem dst="editorHeading" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
+                <anchoritem dst="editorHeading" dstEdge="TOP" spacing="0.5un" src="" srcEdge="TOP"/>
+                <anchoritem dst="editorHeading" dstEdge="BOTTOM" spacing="0un" src="textEdit" srcEdge="TOP"/>
+		<anchoritem dst="favoriteIcon" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="favoriteIcon" dstEdge="BOTTOM" spacing="0un" src="textEdit" srcEdge="TOP"/>
+                <anchoritem dst="favoriteIcon" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)" src="editorHeading" srcEdge="RIGHT"/>
+		<anchoritem dst="favoriteIcon" dstEdge="TOP" spacing="0.5un" src="" srcEdge="TOP"/>
+            </layout>
+        </widget>
+        <widget name="viewMenu" role="HbView:menu" type="HbMenu">
+            <ref object="makeFavoriteAction" role="HbMenu:addAction"/>
+            <ref object="makeAsTodoAction" role="HbMenu:addAction"/>
+        </widget>
+        <widget name="viewToolbar" role="HbView:toolBar" type="HbToolBar">
+            <enums name="orientation" value="Horizontal"/>
+            <ref object="addToCalendarAction" role="HbToolBar:addAction"/>
+            <ref object="deleteAction" role="HbToolBar:addAction"/>
+        </widget>
+        <string locid="txt_notes_title_notes" name="title" value="Notes"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/notesui/noteseditor/data/xml/todoeditor.docml	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="0.9">
+    <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="heading" value="New To-do"/>
+                <bool name="collapsable" value="FALSE"/>
+            </widget>
+            <widget name="todoEditorDataForm" type="HbDataForm">
+                <string name="description" value=""/>
+                <string name="heading" value=""/>
+            </widget>
+            <layout type="anchor">
+                <anchoritem dst="subHeading" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="subHeading" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+                <anchoritem dst="subHeading" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="todoEditorDataForm" dstEdge="TOP" spacing="0un" src="subHeading" srcEdge="BOTTOM"/>
+                <anchoritem dst="todoEditorDataForm" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+                <anchoritem dst="todoEditorDataForm" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+                <anchoritem dst="todoEditorDataForm" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+            </layout>
+        </widget>
+        <string locid="txt_notes_title_notes" name="title" value="Notes"/>
+    </widget>
+    <metadata activeUIState="Common ui state" display="NHD portriat" unit="un">
+        <uistate name="Common ui state" sections="#common"/>
+    </metadata>
+</hbdocument>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/notesui/noteseditor/eabi/noteseditoru.def	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/noteseditor/inc/noteseditor_p.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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/inc/notesnoteeditor.h	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/noteseditor/inc/notesnoteeditor.h	Mon Jun 28 15:22:02 2010 +0530
@@ -48,7 +48,6 @@
 private:
 	void execute(AgendaEntry entry);
 	QString getDescription();
-	bool showDeleteConfirmationQuery();
 
 private slots:
 	void markNoteAsTodo();
@@ -63,6 +62,7 @@
 	void handleEntrySaveFromCalendar();
 	void handleCalendarEditorClosed();
 	void handleNewNoteAction();
+	void selectedAction(HbAction *action);
 
 private:
 	HbView *mEditor;
@@ -77,6 +77,9 @@
 	QPointer<HbAction> mMarkFavouriteAction;
 	QPointer<HbAction> mDiscardChangesAction;
 	QPointer<HbAction> mNewNoteAction;
+	HbAction *mDeleteNoteAction;
+	HbAction *mCancelDeleteAction;
+	ulong mEntryId;
 
 	NotesEditorDocLoader *mDocLoader;
 	NotesEditorPrivate* mOwner;
--- a/notes/notesui/noteseditor/inc/notestodoeditor.h	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/noteseditor/inc/notestodoeditor.h	Mon Jun 28 15:22:02 2010 +0530
@@ -71,7 +71,6 @@
 	void addMenu();
 	bool validAlarmSet();
 	void addDiscardChangesAction();
-	bool showDeleteConfirmationQuery();
 
 private slots:
 	void saveTodo();
@@ -80,6 +79,7 @@
 	void handleRemoveDescriptionAction();
 	void handleDeleteAction();
 	void handleDiscardChangesAction();
+	void selectedAction(HbAction *action);
 
 private:
 	NotesEditorPrivate* mOwner;
@@ -99,7 +99,8 @@
 	HbAction *mDoneAction;
 	HbAction *mDiscardAction;
 	QPointer<HbAction> mDescriptionAction;
-
+	HbAction *mDeleteTodoAction;
+	HbAction *mCancelDeleteAction;
 	HbGroupBox *mSubHeading;
 
 	NotesEditorDocLoader *mDocLoader;
--- a/notes/notesui/noteseditor/inc/notestodoeditorcustomitem.h	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/noteseditor/inc/notestodoeditorcustomitem.h	Mon Jun 28 15:22:02 2010 +0530
@@ -45,9 +45,11 @@
 private slots:
 	void launchTimePicker();
 	void launchDatePicker();
+	void selectDueDate();
+	void selectedAction(HbAction *action);
+
+private:
 	void handleOkAction();
-	void handleCancelAction();
-	void selectDueDate();
 
 private:
 	QPointer<HbDialog> mTimePickerDialog;
@@ -55,6 +57,10 @@
 	QPointer<HbPushButton> mTimeWidget;
 	QPointer<HbPushButton> mDateWidget;
 	QPointer<HbPushButton> mDueDateItem;
+
+	HbAction *mOkAction;
+	HbAction *mCancelAction;
+
 	NotesEditorPrivate* mNotesTodoeditorPvt;
 	bool mDueDatePickerIsActive;
 
--- a/notes/notesui/noteseditor/noteseditor.pro	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/noteseditor/noteseditor.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/noteseditor/src/noteseditor.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/noteseditor/src/noteseditor_p.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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/notesnoteeditor.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/noteseditor/src/notesnoteeditor.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -230,7 +230,7 @@
 
 	// Set our view as the current view.
 	HbMainWindow *window = hbInstance->allMainWindows().first();
-	HbAction *action = new HbAction(Hb::BackAction);
+	HbAction *action = new HbAction(Hb::BackNaviAction);
 	mEditor->setNavigationAction(action);
 	connect(
 			action, SIGNAL(triggered()),
@@ -295,19 +295,33 @@
  */
 void NotesNoteEditor::deleteNote()
 {
-	if (showDeleteConfirmationQuery()) {
-		mOwner->deleteNote();
+	HbMessageBox *confirmationQuery = new HbMessageBox(
+			HbMessageBox::MessageTypeQuestion);
+	confirmationQuery->setDismissPolicy(HbDialog::NoDismiss);
+	confirmationQuery->setTimeout(HbDialog::NoTimeout);
+	confirmationQuery->setIconVisible(true);
 
-		HbMainWindow *window = hbInstance->allMainWindows().first();
-		bool status = false;
+	QString displayText;
+	displayText = displayText.append(hbTrId("txt_notes_info_delete_note"));
+
+	confirmationQuery->setText(displayText);
 
-		// Now close the editor.
-		window->removeView(mEditor);
+	// Remove the default actions.
+	QList<QAction *> defaultActions = confirmationQuery->actions();
+	for (int index=0;index<defaultActions.count();index++) {
+		confirmationQuery->removeAction(defaultActions[index]);
+	}
+	defaultActions.clear();
 
-		mOwner->editingCompleted(status);
+	// Add delete and cancel actions.
+	mDeleteNoteAction = new HbAction(
+			hbTrId("txt_notes_button_dialog_delete"));
+	mCancelDeleteAction = new HbAction(
+			hbTrId("txt_common_button_cancel"));
+	confirmationQuery->addAction(mDeleteNoteAction);
+	confirmationQuery->addAction(mCancelDeleteAction);
 
-	}
-
+	confirmationQuery->open(this, SLOT(selectedAction(HbAction*)));
 }
 
 /*!
@@ -526,32 +540,21 @@
 }
 
 /* !
-	Show the delete confirmation query.
+	Slot to handle the selected action from delete message box.
  */
-bool NotesNoteEditor::showDeleteConfirmationQuery()
+void NotesNoteEditor::selectedAction(HbAction *action)
 {
-	bool retValue(false);
-
-	HbMessageBox confirmationQuery(HbMessageBox::MessageTypeQuestion);
-	confirmationQuery.setDismissPolicy(HbDialog::NoDismiss);
-	confirmationQuery.setTimeout(HbDialog::NoTimeout);
-	confirmationQuery.setIconVisible(true);
+	if (action == mDeleteNoteAction) {
+		mOwner->deleteNote();
 
-	QString displayText;
-	displayText = displayText.append(hbTrId("txt_notes_info_delete_note"));
-
-	confirmationQuery.setText(displayText);
+		HbMainWindow *window = hbInstance->allMainWindows().first();
+		bool status = false;
 
-	confirmationQuery.setPrimaryAction(new HbAction(
-	    hbTrId("txt_notes_button_dialog_delete"), &confirmationQuery));
-	confirmationQuery.setSecondaryAction(new HbAction(
-	    hbTrId("txt_common_button_cancel"), &confirmationQuery));
-	HbAction *selected = confirmationQuery.exec();
-	if (selected == confirmationQuery.primaryAction()) {
-		retValue = true;
+		// Now close the editor.
+		window->removeView(mEditor);
+
+		mOwner->editingCompleted(status);
 	}
-
-	return retValue;
 }
 
 // End of file	--Don't remove this.
--- a/notes/notesui/noteseditor/src/notestodoeditor.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/noteseditor/src/notestodoeditor.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -32,10 +32,9 @@
 #include <HbAction>
 #include <HbComboBox>
 #include <HbExtendedLocale>
-#include <HbDateTimePicker>
 #include <HbLabel>
 #include <HbPushButton>
-#include <HbCheckbox>
+#include <HbCheckBox>
 #include <HbDialog>
 #include <HbGroupBox>
 #include <HbMessageBox>
@@ -296,7 +295,7 @@
 
 	// Store the current view and set our view as the current view.
 	HbMainWindow *window = hbInstance->allMainWindows().first();
-	HbAction *action = new HbAction(Hb::BackAction);
+	HbAction *action = new HbAction(Hb::BackNaviAction);
 	mEditor->setNavigationAction(action);
 	connect(
 			action, SIGNAL(triggered()),
@@ -636,14 +635,33 @@
  */
 void NotesTodoEditor::handleDeleteAction()
 {
-	if (showDeleteConfirmationQuery()) {
-	// Delete the to-do entry.
-	mOwner->deleteNote();
+	HbMessageBox *confirmationQuery = new HbMessageBox(
+			HbMessageBox::MessageTypeQuestion);
+	confirmationQuery->setDismissPolicy(HbDialog::NoDismiss);
+	confirmationQuery->setTimeout(HbDialog::NoTimeout);
+	confirmationQuery->setIconVisible(true);
+
+	QString displayText;
+	displayText = displayText.append(hbTrId("txt_notes_info_delete_todo_note"));
+
+	confirmationQuery->setText(displayText);
 
-	// Close the to-do editor.
-	close();
+	// Remove the default actions.
+	QList<QAction *> defaultActions = confirmationQuery->actions();
+	for (int index=0;index<defaultActions.count();index++) {
+		confirmationQuery->removeAction(defaultActions[index]);
 	}
+	defaultActions.clear();
 
+	// Add delete and cancel actions.
+	mDeleteTodoAction = new HbAction(
+			hbTrId("txt_notes_button_dialog_delete"));
+	mCancelDeleteAction = new HbAction(
+			hbTrId("txt_common_button_cancel"));
+	confirmationQuery->addAction(mDeleteTodoAction);
+	confirmationQuery->addAction((mCancelDeleteAction));
+
+	confirmationQuery->open(this, SLOT(selectedAction(HbAction*)));
 }
 
 /*!
@@ -653,35 +671,20 @@
 {
 	// Close the to-do editor
 	close();
-
 }
 
-/* !
-	Show the delete confirmation query.
+/*!
+	Slot to handle selected action in delete confirmation note.
  */
-bool NotesTodoEditor::showDeleteConfirmationQuery()
+void NotesTodoEditor::selectedAction(HbAction *action)
 {
-	bool retValue(false);
-
-	HbMessageBox confirmationQuery(HbMessageBox::MessageTypeQuestion);
-	confirmationQuery.setDismissPolicy(HbDialog::NoDismiss);
-	confirmationQuery.setTimeout(HbDialog::NoTimeout);
-	confirmationQuery.setIconVisible(true);
-
-	QString displayText;
-	displayText = displayText.append(hbTrId("txt_notes_info_delete_todo_note"));
+	if (action==mDeleteTodoAction) {
+		// Delete the to-do entry.
+		mOwner->deleteNote();
 
-	confirmationQuery.setText(displayText);
+		// Close the to-do editor.
+		close();
+	}
+}
 
-	confirmationQuery.setPrimaryAction(new HbAction(
-	    hbTrId("txt_notes_button_dialog_delete"), &confirmationQuery));
-	confirmationQuery.setSecondaryAction(new HbAction(
-	    hbTrId("txt_common_button_cancel"), &confirmationQuery));
-	HbAction *selected = confirmationQuery.exec();
-	if (selected == confirmationQuery.primaryAction()) {
-		retValue = true;
-	}
-
-	return retValue;
-}
 // End of file	--Don't remove this.
--- a/notes/notesui/noteseditor/src/notestodoeditorcustomitem.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/noteseditor/src/notestodoeditorcustomitem.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -181,13 +181,14 @@
 	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);
 	mTimePickerDialog->setHeadingWidget(timeLabel);
 	// Create the tumbler.
 	HbDateTimePicker *timePicker = new HbDateTimePicker(mTimePickerDialog);
-	
+
 	// Set the format for time picker.
 	timePicker->setDisplayFormat(mNotesTodoeditorPvt->timeFormatString());
 	// Set the time needs to be displayed in time picker.
@@ -197,21 +198,15 @@
 	// Set the tumbler as the content widget.
 	mTimePickerDialog->setContentWidget(timePicker);
 
-
-	HbAction *okAction = new HbAction(QString("Ok"), mTimePickerDialog);
-	mTimePickerDialog->setPrimaryAction(okAction);
-	connect(
-			okAction, SIGNAL(triggered()),
-			this, SLOT(handleOkAction()));
+	mOkAction = new HbAction(
+			hbTrId("txt_common_button_ok"), mTimePickerDialog);
+	mTimePickerDialog->addAction(mOkAction);
 
-	HbAction *cancelAction = new HbAction(QString("Cancel"), mTimePickerDialog);
-	mTimePickerDialog->setSecondaryAction(cancelAction);
+	mCancelAction = new HbAction(
+			hbTrId("txt_common_button_cancel"), mTimePickerDialog);
+	mTimePickerDialog->addAction(mCancelAction);
 
-	connect(
-			cancelAction, SIGNAL(triggered()),
-			this, SLOT(handleCancelAction()));
-
-	mTimePickerDialog->exec();
+	mTimePickerDialog->open(this, SLOT(selectedAction(HbAction *)));
 }
 
 /*!
@@ -227,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);
@@ -238,32 +234,91 @@
 	datePicker->setDateRange(QDate::fromString("01/01/1900",
 		mNotesTodoeditorPvt->dateFormatString()), QDate::fromString("31/12/2100",
 			mNotesTodoeditorPvt->dateFormatString()));
-	
+
 	// Set the date format in date picker.
 	datePicker->setDisplayFormat(mNotesTodoeditorPvt->dateFormatString());
 	// Set the date needs to be in focus in date picker.
 	datePicker->setDate(QDate::fromString(mDateWidget->text(),
 		mNotesTodoeditorPvt->dateFormatString()));
 
-	
+
 	// Set the tumbler as the content widget.
 	mDatePickerDialog->setContentWidget(datePicker);
 
+	mOkAction = new HbAction(
+			hbTrId("txt_common_button_ok"), mDatePickerDialog);
+	mDatePickerDialog->addAction(mOkAction);
 
-	HbAction *okAction = new HbAction(QString("Ok"), mDatePickerDialog);
-	mDatePickerDialog->setPrimaryAction(okAction);
-	connect(
-			okAction, SIGNAL(triggered()),
-			this, SLOT(handleOkAction()));
+	mCancelAction = new HbAction(
+			hbTrId("txt_common_button_cancel"), mDatePickerDialog);
+	mDatePickerDialog->addAction(mCancelAction);
+
+	mDatePickerDialog->open(this, SLOT(selectedAction(HbAction *)));
+}
+
+/*
+	Launches date picker for selecting the due date
+ */
+void NotesTodoEditorCustomItem::selectDueDate()
+{
+	if( mDueDateItem->isDown()) {
+		mDueDateItem->setDown(false);
+		return;
+	}
+
+	mDueDatePickerIsActive = true;
+
+	if (mDatePickerDialog) {
+		delete mDatePickerDialog;
+	}
 
-	HbAction *cancelAction = new HbAction(QString("Cancel"), mDatePickerDialog);
-	mDatePickerDialog->setSecondaryAction(cancelAction);
-	connect(
-			cancelAction, SIGNAL(triggered()),
-			this, SLOT(handleCancelAction()));
+	// Create the dialog.
+	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.
+	datePicker->setDateRange(QDate::fromString("01/01/1900",
+		mNotesTodoeditorPvt->dateFormatString()), QDate::fromString("31/12/2100",
+			mNotesTodoeditorPvt->dateFormatString()));
+
+	// Set the format of date picker.
+	datePicker->setDisplayFormat(mNotesTodoeditorPvt->dateFormatString());
+	// Set the date needs to be displayed in datepicker.
+	datePicker->setDate(QDate::fromString(mDueDateItem->text(),
+		mNotesTodoeditorPvt->dateFormatString()));
+
+	// Set the heading text
+	HbLabel *label = new HbLabel(hbTrId("txt_notes_formlabel_due_date"));
+	mDatePickerDialog->setHeadingWidget(label);
 
-	mDatePickerDialog->exec();
+	// Set the tumbler as the content widget.
+	mDatePickerDialog->setContentWidget(datePicker);
+
+	mOkAction = new HbAction(
+			hbTrId("txt_common_button_ok"), mDatePickerDialog);
+	mDatePickerDialog->addAction(mOkAction);
+
+	mCancelAction = new HbAction(
+			hbTrId("txt_common_button_cancel"), mDatePickerDialog);
+	mDatePickerDialog->addAction(mCancelAction);
+
+	mDatePickerDialog->open(this, SLOT(selectedAction(HbAction *)));
 }
+
+/*!
+	 Slot to handle the selected action.
+ */
+void NotesTodoEditorCustomItem::selectedAction(HbAction *action)
+{
+	if (action == mOkAction) {
+		handleOkAction();
+	}
+}
+
 /*!
 	 Handles the ok action of date/time picker dialog.
  */
@@ -339,77 +394,6 @@
 			alarmDateItem->setContentWidgetData("alarmDate",dueDateText);
 		}
 	}
-
-	handleCancelAction();
-}
-/*!
-	 Handles the ok action of date/time picker dialog.
- */
-void NotesTodoEditorCustomItem::handleCancelAction()
-{
-	// Close the dialog.
-	if (mDatePickerDialog) {
-		mDatePickerDialog->close();
-		mDatePickerDialog->deleteLater();
-	}else {
-		mTimePickerDialog->close();
-		mTimePickerDialog->deleteLater();
-	}
-}
-
-/*
-	Launches date picker for selecting the due date
- */
-void NotesTodoEditorCustomItem::selectDueDate()
-{
-	if( mDueDateItem->isDown()) {
-		mDueDateItem->setDown(false);
-		return;
-	}
-
-	mDueDatePickerIsActive = true;
-
-	if (mDatePickerDialog) {
-		delete mDatePickerDialog;
-	}
-
-	// Create the dialog.
-	mDatePickerDialog = new HbDialog;
-	mDatePickerDialog->setTimeout(HbDialog::NoTimeout);
-	mDatePickerDialog->setDismissPolicy(HbDialog::NoDismiss);
-
-	// Create date picker
-	HbDateTimePicker *datePicker = new HbDateTimePicker(mDatePickerDialog);
-	// Set the min/max date for the editor.
-	datePicker->setDateRange(QDate::fromString("01/01/1900",
-		mNotesTodoeditorPvt->dateFormatString()), QDate::fromString("31/12/2100",
-			mNotesTodoeditorPvt->dateFormatString()));
-	
-	// Set the format of date picker.
-	datePicker->setDisplayFormat(mNotesTodoeditorPvt->dateFormatString());
-	// Set the date needs to be displayed in datepicker.
-	datePicker->setDate(QDate::fromString(mDueDateItem->text(),
-		mNotesTodoeditorPvt->dateFormatString()));
-
-	// Set the heading text
-	HbLabel *label = new HbLabel(hbTrId("txt_notes_formlabel_due_date"));
-	mDatePickerDialog->setHeadingWidget(label);
-
-	// Add actions to date picker
-	HbAction *okAction = new HbAction(tr("Ok"));
-	mDatePickerDialog->setPrimaryAction(okAction);
-	connect(
-			okAction, SIGNAL(triggered()),
-			this, SLOT(handleOkAction()));
-
-	HbAction *cancelAction = new HbAction(tr("Cancel"));
-	mDatePickerDialog->setSecondaryAction(cancelAction);
-	connect(
-			cancelAction, SIGNAL(triggered()),
-			this, SLOT(handleCancelAction()));
-
-	mDatePickerDialog->setContentWidget(datePicker);
-	mDatePickerDialog->exec();
 }
 
 // End of file	--Don't delete.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/notesui/notesmodel/bwins/notesmodelu.def	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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
+
--- a/notes/notesui/notesmodel/inc/notesmodel.h	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesmodel/inc/notesmodel.h	Mon Jun 28 15:22:02 2010 +0530
@@ -55,6 +55,7 @@
 	void populateSourceModel(QList<ulong> ids);
 	void addEntryToModel(ulong id);
 	void removeEntryFromModel(ulong id);
+	void handleInstanceViewCreationCompleted(int status);
 
 private:
 	void modifyEntryInModel(ulong id, int row);
--- a/notes/notesui/notesmodel/src/notesmodel.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesmodel/src/notesmodel.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -68,8 +68,10 @@
 			mAgendaUtil, SIGNAL(entryUpdated(ulong)),
 			this, SLOT(updateSourceModel(ulong)));
 
-	// Populate the model in a different thread.
-	QTimer::singleShot(1, this, SLOT(populateSourceModel()));
+	// Connect for instance view creation completed signal
+	connect(
+			mAgendaUtil, SIGNAL(instanceViewCreationCompleted(int)),
+			this,SLOT(handleInstanceViewCreationCompleted(int)));
 }
 
 /*!
@@ -325,6 +327,15 @@
 }
 
 /*!
+	Populate the model after instance view creation.
+ */
+void NotesModel::handleInstanceViewCreationCompleted(int status)
+{
+	Q_UNUSED(status);
+	populateSourceModel();
+}
+
+/*!
 	Modifies the content of a given `row' with the data of the entry given by
 	`id'.
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/notes/notesui/notesmodelhandler/bwins/notesmodelhandleru.def	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesui.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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/inc/notesviewmanager.h	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesviewmanager/inc/notesviewmanager.h	Mon Jun 28 15:22:02 2010 +0530
@@ -27,6 +27,7 @@
 
 // Forward declarations
 class HbMainWindow;
+class HbAction;
 class NotesMainView;
 class NotesModel;
 class AgendaUtil;
@@ -54,11 +55,12 @@
 	void loadTodoView();
 	void loadFavoritesView();
 	void loadNoteView();
-	bool showDeleteConfirmationQuery(ulong entryId);
 
 private slots:
 	void loadOtherViews();
 	void deleteEntryFromView(ulong entryId);
+	void selectedAction(HbAction *action);
+	void handleInstanceViewCreationCompleted(int status);
 
 private:
 	NotesAppControllerIf &mAppControllerIf;
@@ -70,6 +72,10 @@
 	NotesFavoriteView *mFavoriteView;
 	NotesNoteView *mNoteView;
 
+	HbAction *mDeleteAction;
+	HbAction *mCancelAction;
+	ulong mEntryId;
+
 private:
 	Q_DISABLE_COPY(NotesViewManager)
 };
--- a/notes/notesui/notesviewmanager/src/notesviewmanager.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesviewmanager/src/notesviewmanager.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -24,6 +24,8 @@
 #include <HbListView>
 #include <HbMessageBox>
 #include <HbAction>
+#include <hbapplication> // hbapplication
+#include <hbactivitymanager> // hbactivitymanager
 
 // User includes
 #include "notesviewmanager.h"
@@ -59,8 +61,40 @@
 
 	mAgendaUtil = mAppControllerIf.agendaUtil();
 
-	// Load the main view at the start up.
-	loadNotesMainView();
+	// 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)));
 
 	// Delay loading of other views till main view is loaded.
 	connect(
@@ -90,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);
@@ -249,21 +315,12 @@
 }
 
 /*!
-	 Delete the entry.
- */
-void NotesViewManager::deleteEntryFromView(ulong entryId)
-{
-	if (showDeleteConfirmationQuery(entryId)) {
-		// Delete the given note.
-		mAgendaUtil->deleteEntry(entryId);
-	}
-}
-
-/*!
 	Loads other views from the docml file.
  */
 void NotesViewManager::loadOtherViews()
 {
+	mMainView->setupAfterViewReady();
+
 	// Load the collection view.
 	loadNotesCollectionView();
 	// Load the to-do view.
@@ -280,38 +337,77 @@
 			this, SLOT(loadOtherViews()));
 }
 
-/* !
-	Show the delete confirmation query.
+/*!
+	 Delete the entry.
  */
-bool NotesViewManager::showDeleteConfirmationQuery(ulong noteId)
+void NotesViewManager::deleteEntryFromView(ulong entryId)
 {
-	bool retValue(false);
-
-	HbMessageBox confirmationQuery(HbMessageBox::MessageTypeQuestion);
-	confirmationQuery.setDismissPolicy(HbDialog::NoDismiss);
-	confirmationQuery.setTimeout(HbDialog::NoTimeout);
-	confirmationQuery.setIconVisible(true);
+	mEntryId = entryId;
+	HbMessageBox *confirmationQuery = new HbMessageBox(
+			HbMessageBox::MessageTypeQuestion);
+	confirmationQuery->setDismissPolicy(HbDialog::NoDismiss);
+	confirmationQuery->setTimeout(HbDialog::NoTimeout);
+	confirmationQuery->setIconVisible(true);
 
 	QString displayText;
 	QString x;
-	AgendaEntry entry = mAgendaUtil->fetchById(noteId);
+	AgendaEntry entry = mAgendaUtil->fetchById(entryId);
 	if (AgendaEntry::TypeTodo == entry.type()) {
 		displayText += hbTrId("txt_notes_info_delete_todo_note");
 	} else {
 		displayText += hbTrId("txt_notes_info_delete_note");
 	}
 
-	confirmationQuery.setText(displayText);
+	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();
+
+	// Add delete and cancel actions
+	mDeleteAction = new HbAction(hbTrId("txt_notes_button_dialog_delete"));
+	mCancelAction = new HbAction(hbTrId("txt_common_button_cancel"));
+
+	confirmationQuery->addAction(mDeleteAction);
+	confirmationQuery->addAction(mCancelAction);
+
+	confirmationQuery->open(this, SLOT(selectedAction(HbAction*)));
+}
 
-	confirmationQuery.setPrimaryAction(new HbAction(
-	    hbTrId("txt_notes_button_dialog_delete"), &confirmationQuery));
-	confirmationQuery.setSecondaryAction(new HbAction(
-	    hbTrId("txt_common_button_cancel"), &confirmationQuery));
-	HbAction *selected = confirmationQuery.exec();
-	if (selected == confirmationQuery.primaryAction()) {
-		retValue = true;
+/*!
+	Slot to handle the delete action
+ */
+void NotesViewManager::selectedAction(HbAction *action)
+{
+	if (action == mDeleteAction) {
+		// Delete the given note.
+		mAgendaUtil->deleteEntry(mEntryId);
 	}
+}
 
-	return retValue;
+/*!
+	Slot to handle instance view creation complete.
+ */
+void NotesViewManager::handleInstanceViewCreationCompleted(int status)
+{
+	Q_UNUSED(status)
+
+	// Update the title for main view.
+	mMainView->updateTitle();
+
+	// Populate collections view.
+	mCollectionView->populateListView();
+
+	// 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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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/notescollectionview.h	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesviews/inc/notescollectionview.h	Mon Jun 28 15:22:02 2010 +0530
@@ -47,6 +47,7 @@
 public:
 	NOTESVIEWS_EXPORT void setupView(
 			NotesAppControllerIf &controllerIf, NotesDocLoader *docLoader);
+	NOTESVIEWS_EXPORT void populateListView();
 
 private slots:
 	void displayAllNotesView();
@@ -60,7 +61,7 @@
 	void handleActionStateChanged();
 
 private:
-	void populateListView();
+
 	int todosCount();
 	int recentNotesCount();
 
--- a/notes/notesui/notesviews/inc/notesfavoriteview.h	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesviews/inc/notesfavoriteview.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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);
@@ -67,7 +69,10 @@
 	void handleActionStateChanged();
 	void handleOrientationChanged(Qt::Orientation);
 	void openNote();
-
+	void selectedMenuAction(HbAction *action);
+	void handleMenuClosed();
+	void updateView(ulong id=0);
+	
 private:
 	HbListView *mListView;
 	HbAbstractViewItem *mSelectedItem;
@@ -79,7 +84,9 @@
 	HbAction *mRemoveFavoriteAction;
 	HbAction *mMarkTodoAction;
 	HbAction *mOpenAction;
-
+	
+	HbLabel *mEmptyListLabel;
+	
 	AgendaUtil *mAgendaUtil;
 
 	NotesAppControllerIf *mAppControllerIf;
@@ -87,6 +94,7 @@
 	NotesModel *mNotesModel;
 	NotesSortFilterProxyModel *mProxyModel;
 	NotesEditor *mNotesEditor;
+	bool mIsLongTop;
 };
 
 #endif // NOTESFAVORITEVIEW_H
--- a/notes/notesui/notesviews/inc/notesmainview.h	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesviews/inc/notesmainview.h	Mon Jun 28 15:22:02 2010 +0530
@@ -53,6 +53,10 @@
 public:
 	NOTESVIEWS_EXPORT void setupView(
 			NotesAppControllerIf &controllerIf, NotesDocLoader *docLoader);
+	NOTESVIEWS_EXPORT void setupAfterViewReady();
+	NOTESVIEWS_EXPORT void updateTitle();
+	NOTESVIEWS_EXPORT void captureScreenShot(bool captureScreenShot = false);
+
 signals:
 	void deleteEntry(ulong entryId);
 
@@ -74,7 +78,10 @@
 	void updateSubTitle(ulong id=0);
 	void markNoteAsTodo();
 	void openNote();
-
+	void selectedMenuAction(HbAction *action);
+	void handleMenuClosed();
+	void saveActivity();
+	
 private:
 	HbListView *mListView;
 	HbAbstractViewItem *mSelectedItem;
@@ -93,6 +100,7 @@
 	HbAction *mOpenAction;
 
 	HbGroupBox *mSubTitle;
+	HbLabel *mEmptyListLabel;
 
 	AgendaUtil *mAgendaUtil;
 
@@ -102,6 +110,9 @@
 	NotesSortFilterProxyModel *mProxyModel;
 	NotesEditor *mNotesEditor;
 	AgendaEventViewer *mAgendaEventViewer;
+	bool 			mIsLongTop;
+	bool			mIsScreenShotCapruted; // check if the screenshot captured is valid
+	QVariantHash	mScreenShot; // screenshot
 };
 
 #endif // NOTESMAINVIEW_H
--- a/notes/notesui/notesviews/inc/notesnoteview.h	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesviews/inc/notesnoteview.h	Mon Jun 28 15:22:02 2010 +0530
@@ -32,6 +32,7 @@
 class HbListView;
 class HbAction;
 class HbAbstractViewItem;
+class HbLabel;
 class NotesModel;
 class NotesDocLoader;
 class AgendaUtil;
@@ -49,7 +50,9 @@
 public:
 	NOTESVIEWS_EXPORT void setupView(
 			NotesAppControllerIf &controllerIf, NotesDocLoader *docLoader);
-	
+	NOTESVIEWS_EXPORT void updateNoteView();
+
+
 signals:
 	void deleteEntry(ulong entryId);
 
@@ -67,6 +70,9 @@
 	void handleActionStateChanged();
 	void handleOrientationChanged(Qt::Orientation);
 	void openNote();
+	void selectedMenuAction(HbAction *action);
+	void handleMenuClosed();
+	void updateView(ulong id=0);
 
 private:
 	HbListView *mListView;
@@ -81,6 +87,8 @@
 	HbAction *mMarkTodoAction;
 	HbAction *mOpenAction;
 
+	HbLabel *mEmptyListLabel;
+	
 	AgendaUtil *mAgendaUtil;
 
 	NotesAppControllerIf *mAppControllerIf;
@@ -88,6 +96,7 @@
 	NotesModel *mNotesModel;
 	NotesSortFilterProxyModel *mProxyModel;
 	NotesEditor *mNotesEditor;
+	bool mIsLongTop;
 };
 
 #endif // NOTESNOTEVIEW_H
--- a/notes/notesui/notesviews/inc/notestodoview.h	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesviews/inc/notestodoview.h	Mon Jun 28 15:22:02 2010 +0530
@@ -32,6 +32,7 @@
 class HbAction;
 class HbAbstractViewItem;
 class HbGroupBox;
+class HbLabel;
 class NotesModel;
 class NotesDocLoader;
 class AgendaUtil;
@@ -50,7 +51,8 @@
 public:
 	NOTESVIEWS_EXPORT void setupView(
 			NotesAppControllerIf &controllerIf, NotesDocLoader *docLoader);
-	
+	NOTESVIEWS_EXPORT void updateTitle();
+
 signals:
 	void deleteEntry(ulong entryId);
 
@@ -71,6 +73,8 @@
 	void handleOrientationChanged(Qt::Orientation);
 	void updateSubTitle(ulong id=0);
 	void openTodo();
+	void selectedMenuAction(HbAction *action);
+	void handleMenuClosed();
 
 private:
 	HbListView *mListView;
@@ -85,7 +89,8 @@
 	HbAction *mOpenAction;
 
 	HbGroupBox *mSubTitle;
-
+	HbLabel *mEmptyListLabel;
+	
 	AgendaUtil *mAgendaUtil;
 
 	NotesAppControllerIf *mAppControllerIf;
@@ -94,6 +99,7 @@
 	NotesSortFilterProxyModel *mProxyModel;
 	NotesEditor *mNotesEditor;
 	AgendaEventViewer *mAgendaEventViewer;
+	bool mIsLongTop;
 };
 
 #endif // NOTESTODOVIEW_H
--- a/notes/notesui/notesviews/inc/notesviewsdefines.h	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesviews/inc/notesviewsdefines.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesviews/src/notescollectionview.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -117,9 +117,6 @@
 			mListView, SIGNAL(activated(const QModelIndex &)),
 			this, SLOT(handleActivated(const QModelIndex &)));
 
-	// Populate the content of the view.
-	populateListView();
-
 	// Get the toolbar/menu actions.
 	mAllNotesAction = static_cast<HbAction *> (
 			mDocLoader->findObject("allNotesAction"));
@@ -158,6 +155,46 @@
 }
 
 /*!
+	Populate the content of the view.
+ */
+void NotesCollectionView::populateListView()
+{
+	QStandardItemModel *model = new QStandardItemModel(this);
+	model->setColumnCount(1);
+
+	QString countString(hbTrId("txt_notes_list_note_count"));
+
+	// Add To-do's item.
+	QStandardItem *item = new QStandardItem();
+	QStringList todoStringList;
+	todoStringList.append(hbTrId("txt_notes_list_todos"));
+	todoStringList.append(countString.arg(QString::number(todosCount())));
+	item->setData(todoStringList, Qt::DisplayRole);
+	model->appendRow(item);
+
+	// Add Favorites item.
+	item = new QStandardItem();
+	QStringList favStringList;
+	favStringList.append(hbTrId("txt_notes_list_favorites"));
+	favStringList.append(countString.arg(mFavouriteModel->rowCount()));
+	item->setData(favStringList, Qt::DisplayRole);
+	model->appendRow(item);
+
+	// Add Recent notes item.
+	item = new QStandardItem();
+	QStringList notesStringList;
+	notesStringList.append(hbTrId("txt_notes_list_plain_notes"));
+	notesStringList.append(
+			countString.arg(QString::number(recentNotesCount())));
+	item->setData(notesStringList, Qt::DisplayRole);
+	model->appendRow(item);
+
+	HbStyleLoader::registerFilePath(":/style");
+	mListView->setLayoutName("custom");
+	mListView->setModel(model);
+}
+
+/*!
 	Displays all notes view.
  */
 void NotesCollectionView::displayAllNotesView()
@@ -215,6 +252,8 @@
 
 	// Cleanup.
 	mNotesEditor->deleteLater();
+	
+	mAppControllerIf->switchToView(NotesNamespace::NotesMainViewId);
 }
 
 /*!
@@ -297,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);
+	}
 }
 
 /*!
@@ -315,46 +358,6 @@
 	mViewCollectionAction->setChecked(true);
 }
 
-/*!
-	Populate the content of the view.
- */
-void NotesCollectionView::populateListView()
-{
-	QStandardItemModel *model = new QStandardItemModel(this);
-	model->setColumnCount(1);
-
-	QString countString(hbTrId("txt_notes_list_note_count"));
-
-	// Add To-do's item.
-	QStandardItem *item = new QStandardItem();
-	QStringList todoStringList;
-	todoStringList.append(hbTrId("txt_notes_list_todos"));
-	todoStringList.append(countString.arg(QString::number(todosCount())));
-	item->setData(todoStringList, Qt::DisplayRole);
-	model->appendRow(item);
-
-	// Add Favorites item.
-	item = new QStandardItem();
-	QStringList favStringList;
-	favStringList.append(hbTrId("txt_notes_list_favorites"));
-	favStringList.append(countString.arg(mFavouriteModel->rowCount()));
-	item->setData(favStringList, Qt::DisplayRole);
-	model->appendRow(item);
-
-	// Add Recent notes item.
-	item = new QStandardItem();
-	QStringList notesStringList;
-	notesStringList.append(hbTrId("txt_notes_list_plain_notes"));
-	notesStringList.append(
-			countString.arg(QString::number(recentNotesCount())));
-	item->setData(notesStringList, Qt::DisplayRole);
-	model->appendRow(item);
-
-	HbStyleLoader::registerFilePath(":/style");
-	mListView->setLayoutName("custom");
-	mListView->setModel(model);
-}
-
 
 /*!
 	Returns the todos count
--- a/notes/notesui/notesviews/src/notesfavoriteview.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesviews/src/notesfavoriteview.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -30,6 +30,7 @@
 #include <HbAbstractViewItem>
 #include <HbGroupBox>
 #include <HbListViewItem>
+#include <HbNotificationDialog>
 
 // User includes
 #include "notesfavoriteview.h"
@@ -56,7 +57,8 @@
 NotesFavoriteView::NotesFavoriteView(QGraphicsWidget *parent)
 :HbView(parent),
  mSelectedItem(0),
- mDeleteAction(0)
+ mDeleteAction(0),
+ mIsLongTop(false)
 {
 	// Nothing yet.
 }
@@ -116,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"));
@@ -131,8 +137,7 @@
 
 	mViewCollectionAction = static_cast<HbAction *> (
 			mDocLoader->findObject("displayCollectionsAction"));
-	mViewCollectionAction->setCheckable(true);
-	mViewCollectionAction->setChecked(true);
+
 	connect(
 			mViewCollectionAction, SIGNAL(changed()),
 			this, SLOT(handleActionStateChanged()));
@@ -147,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.
@@ -176,35 +199,37 @@
  */
 void NotesFavoriteView::handleItemReleased(const QModelIndex &index)
 {
-	// Sanity check.
-	if (!index.isValid()) {
-		return;
-	}
+	if (!mIsLongTop) {
+		// Sanity check.
+		if (!index.isValid()) {
+			return;
+		}
 
-	// First get the id of the note and get the corresponding information from
-	// agendautil.
-	ulong noteId = index.data(NotesNamespace::IdRole).value<qulonglong>();
+		// First get the id of the note and get the corresponding information from
+		// agendautil.
+		ulong noteId = index.data(NotesNamespace::IdRole).value<qulonglong>();
 
-	if (0 >= noteId) {
-		// Something wrong.
-		return;
-	}
+		if (0 >= noteId) {
+			// Something wrong.
+			return;
+		}
 
-	// Get the entry details.
-	AgendaEntry entry = mAgendaUtil->fetchById(noteId);
+		// Get the entry details.
+		AgendaEntry entry = mAgendaUtil->fetchById(noteId);
+
+		if (entry.isNull()) {
 
-	if (entry.isNull()) {
+			// Entry invalid.
+			return;
+		}
 
-		// Entry invalid.
-		return;
+		// Now launch the editor with the obtained info.
+		mNotesEditor = new NotesEditor(mAgendaUtil, this);
+		connect(
+				mNotesEditor, SIGNAL(editingCompleted(bool)),
+				this, SLOT(handleEditingCompleted(bool)));
+		mNotesEditor->edit(entry);
 	}
-
-	// Now launch the editor with the obtained info.
-	mNotesEditor = new NotesEditor(mAgendaUtil, this);
-	connect(
-			mNotesEditor, SIGNAL(editingCompleted(bool)),
-			this, SLOT(handleEditingCompleted(bool)));
-	mNotesEditor->edit(entry);
 }
 
 /*!
@@ -219,6 +244,7 @@
 		HbAbstractViewItem *item, const QPointF &coords)
 {
 	mSelectedItem = item;
+	mIsLongTop = true;
 
 	// Get the entry of the selected item.
 	ulong noteId = item->modelIndex().data(
@@ -227,37 +253,28 @@
 
 	// Display a context specific menu.
 	HbMenu *contextMenu = new HbMenu();
+	connect(
+			contextMenu,SIGNAL(aboutToClose()),
+			this, SLOT(handleMenuClosed()));
 
 	// Add actions to the context menu.
 	mOpenAction =
 			contextMenu->addAction(hbTrId("txt_common_menu_open"));
-	connect(
-			mOpenAction, SIGNAL(triggered()),
-			this, SLOT(openNote()));
 
 	mDeleteAction =
 			contextMenu->addAction(hbTrId("txt_common_menu_delete"));
-	connect(
-			mDeleteAction, SIGNAL(triggered()),
-			this, SLOT(deleteNote()));
 
 	mRemoveFavoriteAction =
 			contextMenu->addAction(
 					hbTrId("txt_notes_menu_remove_from_favorites"));
 
-	connect(
-			mRemoveFavoriteAction, SIGNAL(triggered()),
-			this, SLOT(markNoteAsNotFavourite()));
-
 	mMarkTodoAction =
 			contextMenu->addAction(
 					hbTrId("txt_notes_menu_make_it_as_todo_note"));
-	connect(
-			mMarkTodoAction, SIGNAL(triggered()),
-			this, SLOT(markNoteAsTodo()));
 
 	// Show the menu.
-	contextMenu->exec(coords);
+	contextMenu->open(this, SLOT(selectedMenuAction(HbAction*)));
+	contextMenu->setPreferredPos(coords);
 }
 
 /*!
@@ -352,6 +369,14 @@
 
 	// Delete the old entry.
 	mAgendaUtil->deleteEntry(entry.id());
+
+	// Show the soft notification.
+	HbNotificationDialog *notificationDialog = new HbNotificationDialog();
+	notificationDialog->setTimeout(
+			HbNotificationDialog::ConfirmationNoteTimeout);
+	notificationDialog->setTitle(
+			hbTrId("txt_notes_dpopinfo_note_moved_to_todos"));
+	notificationDialog->show();
 }
 
 /*!
@@ -430,5 +455,47 @@
 	// Launch the notes editor with the obtained info.
 	mNotesEditor->edit(entry);
 }
+
+/*
+	Slot to handle the context menu actions.
+ */
+void NotesFavoriteView::selectedMenuAction(HbAction *action)
+{
+	if(action == mOpenAction) {
+		openNote();
+	} else if (action == mDeleteAction) {
+		deleteNote();
+	} else if (action ==mRemoveFavoriteAction){
+		markNoteAsNotFavourite();
+	} else if (action == mMarkTodoAction) {
+		markNoteAsTodo();
+	}
+}
+
+/*!
+	Slot to handle the context menu closed.
+ */
+void NotesFavoriteView::handleMenuClosed()
+{
+	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	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesviews/src/notesmainview.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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
@@ -57,7 +60,9 @@
 NotesMainView::NotesMainView(QGraphicsWidget *parent)
 :HbView(parent),
  mSelectedItem(0),
- mDeleteAction(0)
+ mDeleteAction(0),
+ mIsLongTop(false),
+ mIsScreenShotCapruted(false)
 {
 	// Nothing yet.
 }
@@ -121,10 +126,41 @@
 			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 *> (
+	mSubTitle = static_cast<HbGroupBox *>(
 			mDocLoader->findWidget("viewHeading"));
 
+	// Handles the orientation change for list items
+	HbMainWindow *window = hbInstance->allMainWindows().first();
+	handleOrientationChanged(window->orientation());
+	connect(
+			window, SIGNAL(orientationChanged(Qt::Orientation)),
+			this, SLOT(handleOrientationChanged(Qt::Orientation)));
+
+	// 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()
+{
 	// Get the toolbar/menu actions.
 	mAddNoteAction = static_cast<HbAction *> (
 			mDocLoader->findObject("newNoteAction"));
@@ -159,19 +195,6 @@
 			mViewCollectionAction, SIGNAL(triggered()),
 			this, SLOT(displayCollectionView()));
 
-	mSubTitle = static_cast<HbGroupBox *>(
-			mDocLoader->findWidget("viewHeading"));
-
-	// Handles the orientation change for list items
-	HbMainWindow *window = hbInstance->allMainWindows().first();
-	handleOrientationChanged(window->orientation());
-	connect(
-			window, SIGNAL(orientationChanged(Qt::Orientation)),
-			this, SLOT(handleOrientationChanged(Qt::Orientation)));
-
-	// Update sub heading text for main view.
-	updateSubTitle();
-
 	connect(
 			mAgendaUtil, SIGNAL(entryAdded(ulong)),
 			this,SLOT(updateSubTitle(ulong)));
@@ -181,10 +204,14 @@
 	connect(
 			mAgendaUtil, SIGNAL(entryUpdated(ulong)),
 			this, SLOT(updateSubTitle(ulong)));
+}
 
-	// Set the graphics size for the icons.
-	HbListViewItem *prototype = mListView->listItemPrototype();
-	prototype->setGraphicsSize(HbListViewItem::SmallIcon);
+/*
+	Updates the title text for the first launch
+ */
+void NotesMainView::updateTitle()
+{
+	updateSubTitle();
 }
 
 /*!
@@ -200,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);
 }
 
 /*!
@@ -212,46 +242,51 @@
  */
 void NotesMainView::handleItemReleased(const QModelIndex &index)
 {
-	// Sanity check.
-	if (!index.isValid()) {
-		return;
-	}
+	if(!mIsLongTop) {
+		// Sanity check.
+		if (!index.isValid()) {
+			return;
+		}
+
+		// First get the id of the note and get the corresponding information from
+		// agendautil.
+		ulong noteId = index.data(NotesNamespace::IdRole).value<qulonglong>();
 
-	// First get the id of the note and get the corresponding information from
-	// agendautil.
-	ulong noteId = index.data(NotesNamespace::IdRole).value<qulonglong>();
+		if (0 >= noteId) {
+			// Something wrong.
+			return;
+		}
 
-	if (0 >= noteId) {
-		// Something wrong.
-		return;
-	}
+		// Get the entry details.
+		AgendaEntry entry = mAgendaUtil->fetchById(noteId);
+		if (entry.isNull()) {
+			// Entry invalid.
+			return;
+		}
 
-	// Get the entry details.
-	AgendaEntry entry = mAgendaUtil->fetchById(noteId);
-	if (entry.isNull()) {
-		// Entry invalid.
-		return;
-	}
-
-	if(AgendaEntry::TypeTodo == entry.type()) {
-		// Construct agenda event viewer.
-		mAgendaEventViewer = new AgendaEventViewer(mAgendaUtil, this);
+		if(AgendaEntry::TypeTodo == entry.type()) {
+			// Construct agenda event viewer.
+			mAgendaEventViewer = new AgendaEventViewer(mAgendaUtil, this);
 
-		connect(
-				mAgendaEventViewer, SIGNAL(viewingCompleted(const QDate)),
-				this, SLOT(handleViewingCompleted()));
-		// Launch agenda event viewer
-		mAgendaEventViewer->view(
-				entry, AgendaEventViewer::ActionEditDelete);
-	}else if(AgendaEntry::TypeNote == entry.type()) {
-		// Construct notes editor.
-		mNotesEditor = new NotesEditor(mAgendaUtil, this);
-		connect(
-				mNotesEditor, SIGNAL(editingCompleted(bool)),
-				this, SLOT(handleEditingCompleted(bool)));
+			connect(
+					mAgendaEventViewer, SIGNAL(viewingCompleted(const QDate)),
+					this, SLOT(handleViewingCompleted()));
+			// Launch agenda event viewer
+			mAgendaEventViewer->view(
+					entry, AgendaEventViewer::ActionEditDelete);
+		}else if(AgendaEntry::TypeNote == entry.type()) {
+			// Construct notes editor.
+			mNotesEditor = new NotesEditor(mAgendaUtil, this);
+			connect(
+					mNotesEditor, SIGNAL(editingCompleted(bool)),
+					this, SLOT(handleEditingCompleted(bool)));
 
-		// Launch the notes editor with the obtained info.
-		mNotesEditor->edit(entry);
+			// 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);
 	}
 }
 
@@ -266,6 +301,7 @@
 void NotesMainView::handleItemLongPressed(
 		HbAbstractViewItem *item, const QPointF &coords)
 {
+	mIsLongTop = true;
 	mSelectedItem = item;
 
 	ulong noteId = item->modelIndex().data(
@@ -274,74 +310,48 @@
 
 	// Display a context specific menu.
 	HbMenu *contextMenu = new HbMenu();
+	connect(
+			contextMenu,SIGNAL(aboutToClose()),
+			this, SLOT(handleMenuClosed()));
+
 	mOpenAction =
 			contextMenu->addAction(hbTrId("txt_common_menu_open"));
-	connect(
-			mOpenAction, SIGNAL(triggered()),
-			this, SLOT(openNote()));
 
 	// Add actions to the context menu.
 	if (AgendaEntry::TypeTodo == entry.type()) {
 		mEditTodoAction =
 				contextMenu->addAction(hbTrId("txt_common_menu_edit"));
-		connect(
-				mEditTodoAction, SIGNAL(triggered()),
-				this, SLOT(editTodo()));
 	}
 
 	mDeleteAction =
 			contextMenu->addAction(hbTrId("txt_common_menu_delete"));
-	connect(
-			mDeleteAction, SIGNAL(triggered()),
-			this, SLOT(deleteNote()));
 
 	if (AgendaEntry::TypeNote == entry.type()) {
 		if (entry.favourite()) {
 			mMakeFavouriteAction = contextMenu->addAction(
 					hbTrId("txt_notes_menu_remove_from_favorites"));
-
-			connect(
-					mMakeFavouriteAction, SIGNAL(triggered()),
-					this, SLOT(markNoteAsFavourite()));
-
 		} else {
 			mMakeFavouriteAction = contextMenu->addAction(
 					hbTrId("txt_notes_menu_mark_as_favorite"));
-
-			connect(
-					mMakeFavouriteAction, SIGNAL(triggered()),
-					this, SLOT(markNoteAsFavourite()));
 		}
 
 		mMarkTodoAction =
 				contextMenu->addAction(
 						hbTrId("txt_notes_menu_make_it_as_todo_note"));
-		connect(
-				mMarkTodoAction, SIGNAL(triggered()),
-				this, SLOT(markNoteAsTodo()));
 
 	} else if (AgendaEntry::TypeTodo == entry.type()) {
 		if (AgendaEntry::TodoNeedsAction == entry.status()) {
 			mTodoStatusAction = contextMenu->addAction(
 					hbTrId("txt_notes_menu_mark_as_done"));
-
-			connect(
-					mTodoStatusAction , SIGNAL(triggered()),
-					this, SLOT(markTodoStatus()));
-
 		} else if (AgendaEntry::TodoCompleted == entry.status()) {
 			mTodoStatusAction = contextMenu->addAction(
 					hbTrId("txt_notes_menu_mark_as_not_done"));
-
-			connect(
-					mTodoStatusAction , SIGNAL(triggered()),
-					this, SLOT(markTodoStatus()));
 		}
 	}
 
 	// Show the menu.
-	contextMenu->exec(coords);
-
+	contextMenu->open(this, SLOT(selectedMenuAction(HbAction*)));
+	contextMenu->setPreferredPos(coords);
 }
 
 /*!
@@ -422,7 +432,9 @@
 
 	// Cleanup.
 	mNotesEditor->deleteLater();
-
+	// set captured screenshot as invalid as the control is returned back 
+	// to the main view
+	captureScreenShot(false);
 }
 
 /*!
@@ -430,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);
 
@@ -453,10 +466,10 @@
  */
 void NotesMainView::handleViewingCompleted()
 {
-
-
 	mAgendaEventViewer->deleteLater();
-
+	// set captured screenshot as invalid as the control is returned back 
+	// to the main view
+	captureScreenShot(false);
 }
 
 /*!
@@ -473,7 +486,6 @@
 
 void NotesMainView::editTodo()
 {
-
 	// Get the selected list item index
 	QModelIndex index = mSelectedItem->modelIndex();
 	if (!index.isValid()) {
@@ -494,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);
 
 }
 
@@ -527,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()));
 }
@@ -618,5 +641,77 @@
 		mAgendaEventViewer->view(
 				entry, AgendaEventViewer::ActionEditDelete);
 	}
+	// capture screenshot for future use, if application
+	// is exited/Quit from notesEditor/eventViewer
+	captureScreenShot(true);
 }
+
+/*!
+	 Slot to handle the selected context menu actions
+ */
+void NotesMainView::selectedMenuAction(HbAction *action)
+{
+	if (action == mOpenAction) {
+		openNote();
+	} else if (action == mEditTodoAction) {
+		editTodo();
+	} else if (action == mDeleteAction) {
+		deleteNote();
+	} else if (action == mMakeFavouriteAction) {
+		markNoteAsFavourite();
+	} else if (action == mMarkTodoAction) {
+		markNoteAsTodo();
+	} else if (action == mTodoStatusAction) {
+		markTodoStatus();
+	}
+}
+
+/*!
+	Slot to handle the context menu closed.
+ */
+void NotesMainView::handleMenuClosed()
+{
+	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	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesviews/src/notesnoteview.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -26,6 +26,8 @@
 #include <HbGroupBox>
 #include <HbListViewItem>
 #include <HbInstance>
+#include <HbNotificationDialog>
+#include <HbLabel>
 
 // User includes
 #include "notesnoteview.h"
@@ -53,7 +55,8 @@
 NotesNoteView::NotesNoteView(QGraphicsWidget *parent)
 :HbView(parent),
  mSelectedItem(0),
- mDeleteAction(0)
+ mDeleteAction(0),
+ mIsLongTop(false)
  {
 	// Nothing yet.
  }
@@ -97,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.
@@ -111,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"));
@@ -126,8 +134,7 @@
 
 	mViewCollectionAction = static_cast<HbAction *> (
 			mDocLoader->findObject("displayCollectionsAction"));
-	mViewCollectionAction->setCheckable(true);
-	mViewCollectionAction->setChecked(true);
+	
 	connect(
 			mViewCollectionAction, SIGNAL(changed()),
 			this, SLOT(handleActionStateChanged()));
@@ -142,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.
  */
@@ -170,34 +197,36 @@
  */
 void NotesNoteView::handleItemReleased(const QModelIndex &index)
 {
-	// Sanity check.
-	if (!index.isValid()) {
-		return;
-	}
+	if(!mIsLongTop) {
+		// Sanity check.
+		if (!index.isValid()) {
+			return;
+		}
 
-	// First get the id of the note and get the corresponding information from
-	// agendautil.
-	ulong noteId = index.data(NotesNamespace::IdRole).value<qulonglong>();
+		// First get the id of the note and get the corresponding information from
+		// agendautil.
+		ulong noteId = index.data(NotesNamespace::IdRole).value<qulonglong>();
 
-	if (0 >= noteId) {
-		// Something wrong.
-		return;
-	}
+		if (0 >= noteId) {
+			// Something wrong.
+			return;
+		}
 
-	// Get the entry details.
-	AgendaEntry entry = mAgendaUtil->fetchById(noteId);
+		// Get the entry details.
+		AgendaEntry entry = mAgendaUtil->fetchById(noteId);
 
-	if (entry.isNull()) {
-		// Entry invalid.
-		return;
+		if (entry.isNull()) {
+			// Entry invalid.
+			return;
+		}
+
+		// Now launch the editor with the obtained info.
+		mNotesEditor = new NotesEditor(mAgendaUtil, this);
+		connect(
+				mNotesEditor, SIGNAL(editingCompleted(bool)),
+				this, SLOT(handleEditingCompleted(bool)));
+		mNotesEditor->edit(entry);
 	}
-
-	// Now launch the editor with the obtained info.
-	mNotesEditor = new NotesEditor(mAgendaUtil, this);
-	connect(
-			mNotesEditor, SIGNAL(editingCompleted(bool)),
-			this, SLOT(handleEditingCompleted(bool)));
-	mNotesEditor->edit(entry);
 }
 
 /*!
@@ -212,6 +241,7 @@
 		HbAbstractViewItem *item, const QPointF &coords)
 {
 	mSelectedItem = item;
+	mIsLongTop = true;
 
 	ulong noteId = item->modelIndex().data(
 			NotesNamespace::IdRole).value<qulonglong>();
@@ -219,48 +249,32 @@
 
 	// Display a context specific menu.
 	HbMenu *contextMenu = new HbMenu();
+	connect(
+			contextMenu,SIGNAL(aboutToClose()),
+			this, SLOT(handleMenuClosed()));
 
 	// Add actions to the context menu.
 	mOpenAction =
 			contextMenu->addAction(hbTrId("txt_common_menu_open"));
-	connect(
-			mOpenAction, SIGNAL(triggered()),
-			this, SLOT(openNote()));
 
 	mDeleteAction =
 			contextMenu->addAction(hbTrId("txt_common_menu_delete"));
-	connect(
-			mDeleteAction, SIGNAL(triggered()),
-			this, SLOT(deleteNote()));
 
 	if (AgendaEntry::TypeNote == entry.type()) {
 		if (entry.favourite()) {
-			mMakeFavouriteAction =
-					contextMenu->addAction(
+			mMakeFavouriteAction = contextMenu->addAction(
 							hbTrId("txt_notes_menu_remove_from_favorites"));
-
-			connect(
-					mMakeFavouriteAction, SIGNAL(triggered()),
-					this, SLOT(markNoteAsFavourite()));
-
 		} else {
-			mMakeFavouriteAction =
-					contextMenu->addAction(
+			mMakeFavouriteAction = contextMenu->addAction(
 							hbTrId("txt_notes_menu_mark_as_favorite"));
-
-			connect(
-					mMakeFavouriteAction, SIGNAL(triggered()),
-					this, SLOT(markNoteAsFavourite()));
 		}
 		mMarkTodoAction = contextMenu->addAction(
 				hbTrId("txt_notes_menu_make_it_as_todo_note"));
-		connect(
-				mMarkTodoAction, SIGNAL(triggered()),
-				this, SLOT(markNoteAsTodo()));
 	}
 
 	// Show the menu.
-	contextMenu->exec(coords);
+	contextMenu->open(this, SLOT(selectedMenuAction(HbAction*)));
+	contextMenu->setPreferredPos(coords);
 }
 
 /*!
@@ -357,6 +371,13 @@
 	// Delete the old entry.
 	mAgendaUtil->deleteEntry(entry.id());
 
+	// Show the soft notification.
+	HbNotificationDialog *notificationDialog = new HbNotificationDialog();
+	notificationDialog->setTimeout(
+			HbNotificationDialog::ConfirmationNoteTimeout);
+	notificationDialog->setTitle(
+			hbTrId("txt_notes_dpopinfo_note_moved_to_todos"));
+	notificationDialog->show();
 }
 
 /*!
@@ -437,5 +458,47 @@
 	// Launch the notes editor with the obtained info.
 	mNotesEditor->edit(entry);
 }
+
+/*!
+	Slot to handle context menu actions.
+ */
+void NotesNoteView::selectedMenuAction(HbAction *action)
+{
+	if (action == mOpenAction) {
+		openNote();
+	} else if (action == mDeleteAction) {
+		deleteNote();
+	} else if (action == mMakeFavouriteAction) {
+		markNoteAsFavourite();
+	} else if (action == mMarkTodoAction) {
+		markNoteAsTodo();
+	}
+}
+
+/*!
+	Slot to handle the context menu closed.
+ */
+void NotesNoteView::handleMenuClosed()
+{
+	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	Mon May 03 12:30:32 2010 +0300
+++ b/notes/notesui/notesviews/src/notestodoview.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -57,7 +57,8 @@
 NotesTodoView::NotesTodoView(QGraphicsWidget *parent)
 :HbView(parent),
  mSelectedItem(0),
- mDeleteAction(0)
+ mDeleteAction(0),
+ mIsLongTop(false)
 {
 	// Nothing yet.
 }
@@ -114,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"));
@@ -130,8 +135,7 @@
 
 	mViewCollectionAction = static_cast<HbAction *> (
 			mDocLoader->findObject("displayCollectionsAction"));
-	mViewCollectionAction->setCheckable(true);
-	mViewCollectionAction->setChecked(true);
+	
 	connect(
 			mViewCollectionAction, SIGNAL(changed()),
 			this, SLOT(handleActionStateChanged()));
@@ -149,9 +153,6 @@
 	mSubTitle = static_cast<HbGroupBox *>(
 			mDocLoader->findWidget("subtitleGroupBox"));
 
-	// Update sub heading text for to-do collections view.
-	updateSubTitle();
-
 	connect(
 			mAgendaUtil, SIGNAL(entryAdded(ulong)),
 			this,SLOT(updateSubTitle(ulong)));
@@ -167,6 +168,14 @@
 	prototype->setGraphicsSize(HbListViewItem::SmallIcon);
 }
 
+/*
+	Updates the title text for the first launch
+ */
+void NotesTodoView::updateTitle()
+{
+	updateSubTitle();
+}
+
 /*!
 	Opens the to-do editor to create a new to-do.
  */
@@ -190,28 +199,30 @@
  */
 void NotesTodoView::handleItemReleased(const QModelIndex &index)
 {
-	// Sanity check.
-	if (!index.isValid()) {
-		return;
-	}
+	if(!mIsLongTop) {
+		// Sanity check.
+		if (!index.isValid()) {
+			return;
+		}
 
-	// First get the id of the to-do and get the corresponding information from
-	// agendautil.
-	ulong toDoId = index.data(NotesNamespace::IdRole).value<qulonglong>();
+		// First get the id of the to-do and get the corresponding information from
+		// agendautil.
+		ulong toDoId = index.data(NotesNamespace::IdRole).value<qulonglong>();
 
-	if (0 >= toDoId) {
-		// Something wrong.
-		return;
-	}
+		if (0 >= toDoId) {
+			// Something wrong.
+			return;
+		}
 
-	// Construct agenda event viewer.
-	mAgendaEventViewer = new AgendaEventViewer(mAgendaUtil, this);
+		// Construct agenda event viewer.
+		mAgendaEventViewer = new AgendaEventViewer(mAgendaUtil, this);
 
-	connect(
-			mAgendaEventViewer, SIGNAL(viewingCompleted(const QDate)),
-			this, SLOT(handleViewingCompleted()));
-	// Launch agenda event viewer
-	mAgendaEventViewer->view(toDoId, AgendaEventViewer::ActionEditDelete);
+		connect(
+				mAgendaEventViewer, SIGNAL(viewingCompleted(const QDate)),
+				this, SLOT(handleViewingCompleted()));
+		// Launch agenda event viewer
+		mAgendaEventViewer->view(toDoId, AgendaEventViewer::ActionEditDelete);
+	}
 }
 
 /*!
@@ -226,6 +237,7 @@
 		HbAbstractViewItem *item, const QPointF &coords)
 {
 	mSelectedItem = item;
+	mIsLongTop = true;
 
 	// Get the entry of the selected item.
 	ulong noteId = item->modelIndex().data(
@@ -234,46 +246,34 @@
 
 	// Display a context specific menu.
 	HbMenu *contextMenu = new HbMenu();
+	connect(
+			contextMenu,SIGNAL(aboutToClose()),
+			this, SLOT(handleMenuClosed()));
 
 	// Add actions to the context menu.
 	mOpenAction =
 			contextMenu->addAction(hbTrId("txt_common_menu_open"));
-	connect(
-			mOpenAction, SIGNAL(triggered()),
-			this, SLOT(openTodo()));
 
 	mEditAction = contextMenu->addAction(
 			hbTrId("txt_common_menu_edit"));
-	connect(
-			mEditAction, SIGNAL(triggered()),
-			this, SLOT(editTodo()));
 
 	mDeleteAction = contextMenu->addAction(
 			hbTrId("txt_common_menu_delete"));
-	connect(
-			mDeleteAction, SIGNAL(triggered()),
-			this, SLOT(deleteTodo()));
 
 	if (AgendaEntry::TypeTodo == entry.type()) {
 		if (AgendaEntry::TodoNeedsAction == entry.status()) {
 			mTodoStatusAction = contextMenu->addAction(
 					hbTrId("txt_notes_menu_mark_as_done"));
-			connect(
-					mTodoStatusAction , SIGNAL(triggered()),
-					this, SLOT(markTodoStatus()));
-
 		} else if (AgendaEntry::TodoCompleted == entry.status()) {
 			mTodoStatusAction =
 					contextMenu->addAction(
 							hbTrId("txt_notes_menu_mark_as_not_done"));
-			connect(
-					mTodoStatusAction , SIGNAL(triggered()),
-					this, SLOT(markTodoStatus()));
 		}
 	}
 
 	// Show the menu.
-	contextMenu->exec(coords);
+	contextMenu->open(this, SLOT(selectedMenuAction(HbAction*)));
+	contextMenu->setPreferredPos(coords);
 }
 
 /*!
@@ -442,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();
+	}
 }
 
 /*
@@ -465,4 +473,28 @@
 			entry, AgendaEventViewer::ActionEditDelete);
 }
 
+/*
+	Slot to handle the context menu actions.
+ */
+void NotesTodoView::selectedMenuAction(HbAction *action)
+{
+	if (action == mOpenAction) {
+		openTodo();
+	} else if (action == mEditAction) {
+		editTodo();
+	} else if (action == mDeleteAction) {
+		deleteTodo();
+	} else if (action == mTodoStatusAction) {
+		markTodoStatus();
+	}
+}
+
+
+/*!
+	Slot to handle the context menu closed.
+ */
+void NotesTodoView::handleMenuClosed()
+{
+	mIsLongTop = false;
+}
 // End of file	--Don't remove this.
--- a/notes/rom/notes.iby	Mon May 03 12:30:32 2010 +0300
+++ b/notes/rom/notes.iby	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/organizer.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/organizer_info/organizer_metadata/organizer_metadata.mrp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/organizer_plat/agenda_interface_api/inc/agendaentry.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/organizer_plat/agenda_interface_api/inc/agendautil.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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(
@@ -120,6 +120,8 @@
 	void entryDeleted(ulong id);
 	void entryUpdated(ulong id);
 	void entriesDeleted(int status);
+	void entryViewCreationCompleted(int status);
+	void instanceViewCreationCompleted(int status);
 
 private:
 	friend class AgendaUtilPrivate;
--- a/organizer_plat/agenda_interface_api/tsrc/tsrc.pro	Mon May 03 12:30:32 2010 +0300
+++ b/organizer_plat/agenda_interface_api/tsrc/tsrc.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/organizer_plat/agenda_interface_api/tsrc/unittest_agendautil/src/unittest_agendautil.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/organizer_plat/agenda_interface_api/tsrc/unittest_agendautil/unittest_agendautil.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/organizer_plat/agenda_versit_2_api/tsrc/group/testagnversit2.mmp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/organizer_plat/agenda_versit_2_api/tsrc/src/testagnversit2.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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/unittest_caleneditor.pro	Mon May 03 12:30:32 2010 +0300
+++ b/organizer_plat/calendar_editor_api/tsrc/unittest_caleneditor/unittest_caleneditor.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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_exporter_api/inc/CalenExporter.h	Mon May 03 12:30:32 2010 +0300
+++ b/organizer_plat/calendar_exporter_api/inc/CalenExporter.h	Mon Jun 28 15:22:02 2010 +0530
@@ -25,7 +25,7 @@
 #include <e32base.h>
 #include <f32file.h>    // for TParse
 #include <s32mem.h>
-#include <agnexportobserver.h>
+#include <AgnExportObserver.h>
 
 
 // FORWARD DECLARATIONS
--- a/organizer_plat/calendar_importer_api/inc/CalenImporter.h	Mon May 03 12:30:32 2010 +0300
+++ b/organizer_plat/calendar_importer_api/inc/CalenImporter.h	Mon Jun 28 15:22:02 2010 +0530
@@ -23,7 +23,7 @@
 //  INCLUDES
 #include <e32base.h>
 #include <f32file.h>
-#include <agnimportobserver.h>
+#include <AgnImportObserver.h>
 
 
 
--- a/organizer_plat/calendar_importer_api/tsrc/src/calenimportertestblocks.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/organizer_plat/calendar_importer_api/tsrc/src/calenimportertestblocks.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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/inc/CalenLauncher.h	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Calendar Launcher
-*
-*/
-#include <qobject>
-#include <qdatetime.h>
-
-#ifdef CALENLAUNCHER_LIB
-#   define CALENLAUNCHER_EXPORT Q_DECL_EXPORT
-#else
-#   define CALENLAUNCHER_EXPORT Q_DECL_IMPORT
-#endif
-class CALENLAUNCHER_EXPORT CalenLauncher : public QObject
-{
-Q_OBJECT
-
-public:
-	enum CalenView{
-			MonthView = 0,
-			DayView
-		};
-    CalenLauncher(QObject* parent = 0);
-    ~CalenLauncher();
-    
-    void launchCalendarApp(CalenView view, QDateTime& dateTime, 
-                           bool synchronousLaunch = true);
-    
-signals:
-	void calendarLaunchFailed(int error);
-	
-public slots:
-	void handleError(int error);
-};
-
-// End of file	--Don't remove this.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/organizer_plat/calendar_launcher_api/inc/calenlauncher.h	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,47 @@
+/*
+* 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:  Calendar Launcher
+*
+*/
+#include <qobject>
+#include <qdatetime.h>
+
+#ifdef CALENLAUNCHER_LIB
+#   define CALENLAUNCHER_EXPORT Q_DECL_EXPORT
+#else
+#   define CALENLAUNCHER_EXPORT Q_DECL_IMPORT
+#endif
+class CALENLAUNCHER_EXPORT CalenLauncher : public QObject
+{
+Q_OBJECT
+
+public:
+	enum CalenView{
+			MonthView = 0,
+			DayView
+		};
+    CalenLauncher(QObject* parent = 0);
+    ~CalenLauncher();
+    
+    void launchCalendarApp(CalenView view, QDateTime& dateTime, 
+                           bool synchronousLaunch = true);
+    
+signals:
+	void calendarLaunchFailed(int error);
+	
+public slots:
+	void handleError(int error);
+};
+
+// End of file	--Don't remove this.
--- a/organizer_plat/calendar_launcher_api/tsrc/tsrc.pro	Mon May 03 12:30:32 2010 +0300
+++ b/organizer_plat/calendar_launcher_api/tsrc/tsrc.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/organizer_plat/calendar_launcher_api/tsrc/unittest_calenlauncher/src/unittest_calenlauncher.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/organizer_plat/calendar_launcher_api/tsrc/unittest_calenlauncher/unittest_calenlauncher.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,1 @@
+/*
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:   The file contains the uid of domain keys.
*
*/

#ifndef 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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,1 @@
+/*
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:   The file contains the uid of domain keys.
*
*/

#ifndef CLOCKDOMAINCRKEYS_H
#define CLOCKDOMAINCRKEYS_H

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

#endif  	// CLOCKDOMAINCRKEYS_H

// End of file	--Don't remove this.
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/organizer_plat/clock_settingsview_plugin_api/clock_settingsview_plugin_api.pri	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,1 @@
+#include <noteseditorinterface.h>
\ No newline at end of file
--- a/organizer_plat/notes_editor_api/inc/noteseditor.h	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/organizer_plat/notes_editor_api/notes_editor_api.pri	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon May 03 12:30:32 2010 +0300
+++ /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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/organizer_plat/organizer_plat.pro	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/organizer_pub/calendar_interim_utils2_api/tsrc/bc/calendar/group/BCTestCalendar2.mmp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendar/bwins/caltestlibu.def	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendar/client/src/calattachment.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendar/client/src/calcalendarinfoimpl.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendar/client/src/calclient.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendar/client/src/calentryimpl.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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());
 		}
@@ -1510,8 +1510,6 @@
 
 void CCalEntryImpl::SetDTStampL(const TCalTime& aDTStampTime)
 	{
-	__ASSERT_ALWAYS( EntryTypeL() != CCalEntry::ENote,
-					User::Leave(KErrNotSupported));
 	LoadFullEntryL();
 	iFullEntry->SetDTStampUtcL(aDTStampTime.TimeUtcL());
 	}
--- a/pimappservices/calendar/eabi/caltestlibu.def	Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendar/eabi/caltestlibu.def	Mon Jun 28 15:22:02 2010 +0530
@@ -52,4 +52,5 @@
 	_ZTV15CCalTestLibrary @ 51 NONAME
 	_ZN15CCalTestLibrary24WaitForAgendaServerCloseEv @ 52 NONAME
 	_ZN15CCalTestLibrary17WaitForAlarmEventEi17TAlarmChangeEvent11TAlarmStatei @ 53 NONAME
+	_ZN15CCalTestLibrary20CreateCalSubSessionLERK7TDesC16 @ 54 NONAME
 
--- a/pimappservices/calendar/inc/calchangecallback.h	Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendar/inc/calchangecallback.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendar/server/inc/agsentrymodel.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendar/server/src/agsalarm.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendar/server/src/agsasyncdelete.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendar/server/src/agsattachmentindex.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendar/server/src/agsentrymanager.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendar/server/src/agsentrymodel.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendar/server/src/agsfilemanager.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -1243,7 +1243,7 @@
         }
     else
         {
-        iAgnServer.AlarmServer().SetAlarmStatusForCalendarFile(fileName, EAlarmStatusEnabled); 
+        QueueAlarmsImmediately();
         }
     
     User::LeaveIfError(iStore->Commit());
--- a/pimappservices/calendar/server/src/agsmain.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendar/server/src/agsmain.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendar/server/src/agssess.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendar/server/src/agstzruleindex.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendar/shared/src/agmcalendarinfo.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendar/shared/src/agmcalendartime.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -101,6 +101,14 @@
 			iTime = AgnDateTime::MaxDate();
 			}
  		iLocalOffsetInMinutes = KOffsetUnspecified;
+ 		if ( ! aFloating)
+            { 
+            SetFloatingFlag(EFalse);
+            }
+ 		else
+            {
+            SetFloatingFlag(ETrue);
+            }
 		}
 	else
 		{
--- a/pimappservices/calendar/shared/src/agmrptdef.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendar/shared/src/agmrptdef.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendar/shared/src/agmsimpleentry.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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/Integration/TestCalApiPolicing/generated/BLD.INF	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-// Copyright (c) 2006-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:
-//
-
-PRJ_TESTMMPFILES
-
-TestCalApiPolicing.mmp
-
-
-
-PRJ_TESTEXPORTS
-
-TestCalApiPolicing.bat \epoc32\tools\TestCalApiPolicing.bat
-Cap_80000004_TestCalApiPolicingSub.script C:\testdata\scripts\Cap_80000004_TestCalApiPolicingSub.script
-Cap_00010004_TestCalApiPolicingSub.script C:\testdata\scripts\Cap_00010004_TestCalApiPolicingSub.script
-Cap_00008004_TestCalApiPolicingSub.script C:\testdata\scripts\Cap_00008004_TestCalApiPolicingSub.script
-Cap_00000004_TestCalApiPolicingSub.script C:\testdata\scripts\Cap_00000004_TestCalApiPolicingSub.script
-TestCalApiPolicing.IBY \epoc32\rom\include\TestCalApiPolicing.IBY
-TestCalApiPolicing.script C:\testdata\scripts\TestCalApiPolicing.script
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pimappservices/calendar/tsrc/Integration/TestCalApiPolicing/generated/bld.inf	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,31 @@
+// Copyright (c) 2006-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:
+//
+
+PRJ_TESTMMPFILES
+
+TestCalApiPolicing.mmp
+
+
+
+PRJ_TESTEXPORTS
+
+TestCalApiPolicing.bat \epoc32\tools\TestCalApiPolicing.bat
+Cap_80000004_TestCalApiPolicingSub.script C:\testdata\scripts\Cap_80000004_TestCalApiPolicingSub.script
+Cap_00010004_TestCalApiPolicingSub.script C:\testdata\scripts\Cap_00010004_TestCalApiPolicingSub.script
+Cap_00008004_TestCalApiPolicingSub.script C:\testdata\scripts\Cap_00008004_TestCalApiPolicingSub.script
+Cap_00000004_TestCalApiPolicingSub.script C:\testdata\scripts\Cap_00000004_TestCalApiPolicingSub.script
+TestCalApiPolicing.IBY \epoc32\rom\include\TestCalApiPolicing.IBY
+TestCalApiPolicing.script C:\testdata\scripts\TestCalApiPolicing.script
+
--- a/pimappservices/calendar/tsrc/caltestlib.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendar/tsrc/caltestlib.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendar/tsrc/caltestlib.h	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendar/tsrc/instance_iterator/tcal_fetchinstance.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -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.mmp	Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendar/tsrc/tcal_dataexchange.mmp	Mon Jun 28 15:22:02 2010 +0530
@@ -22,8 +22,10 @@
 SOURCE			tcal_dataexchange.cpp
 
 USERINCLUDE		.
+APP_LAYER_SYSTEMINCLUDE
 SYSTEMINCLUDE	/epoc32/include
 
+
 LIBRARY			calinterimapi.lib
 LIBRARY			euser.lib estor.lib efsrv.lib caltestlib.lib
 LIBRARY		    pimtestclient.lib
--- a/pimappservices/calendarvcalplugin/src/agmvcalx.cpp	Mon May 03 12:30:32 2010 +0300
+++ b/pimappservices/calendarvcalplugin/src/agmvcalx.cpp	Mon Jun 28 15:22:02 2010 +0530
@@ -437,9 +437,10 @@
 
 	// DTSTAMP
 	TCalTime dTStamp = aEntry->DTStampL();
-		
-   	if ( dTStamp.TimeUtcL() != Time::NullTTime() )
-      	{	
+
+	if ( dTStamp.TimeUtcL() != Time::NullTTime() &&
+		CCalEntry::ENote != aEntry->EntryTypeL() )
+		{
 		AddDateTimePropertyL(aParser, KVersitTokenXDTSTAMP, dTStamp.TimeUtcL(), TVersitDateTime::EIsUTC, iTimeFlag);
       	}
 	
--- a/pimappsupport/chinesecalendaralg/test/group/calcontable.mmp	Mon May 03 12:30:32 2010 +0300
+++ b/pimappsupport/chinesecalendaralg/test/group/calcontable.mmp	Mon Jun 28 15:22:02 2010 +0530
@@ -22,6 +22,8 @@
 SOURCE calcontable.cpp
 USERINCLUDE ../../calcontablesrc
 USERINCLUDE ../../originalinc
+
+APP_LAYER_SYSTEMINCLUDE
 SYSTEMINCLUDE /epoc32/include
 LIBRARY	euser.lib efsrv.lib cconoriginal.lib charconv.lib
 
--- a/pimappsupport/chinesecalendarconverter/group/BLD.INF	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-// Copyright (c) 2002-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:
-// Calcon BLD.INF
-// Calendar conversion utilities
-// 
-//
-
-PRJ_PLATFORMS
-PRJ_EXPORTS
-../inc/CalendarConverter.h 		SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(calendarconverter.h)
-../inc/calendarconverterplugin.h 	SYMBIAN_APP_LAYER_PLATFORM_EXPORT_PATH(calendarconverterplugin.h)
-../group/calcon.iby /epoc32/rom/include/calcon.iby
-
-PRJ_MMPFILES
-../group/CCon.mmp
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pimappsupport/chinesecalendarconverter/group/bld.inf	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,27 @@
+// Copyright (c) 2002-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:
+// Calcon BLD.INF
+// Calendar conversion utilities
+// 
+//
+
+PRJ_PLATFORMS
+PRJ_EXPORTS
+../inc/CalendarConverter.h 		SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(calendarconverter.h)
+../inc/calendarconverterplugin.h 	SYMBIAN_APP_LAYER_PLATFORM_EXPORT_PATH(calendarconverterplugin.h)
+../group/calcon.iby /epoc32/rom/include/calcon.iby
+
+PRJ_MMPFILES
+../group/CCon.mmp
+
--- a/pimappsupport/vcardandvcal/TPerformance/iLine_long.vcf	Mon May 03 12:30:32 2010 +0300
+++ b/pimappsupport/vcardandvcal/TPerformance/iLine_long.vcf	Mon Jun 28 15:22:02 2010 +0530
@@ -1,4 +1,4 @@
-BEGIN:VCARD
-ADR;CHARSET=ISO-8859-1;POSTAL;WORK:;;Example City 1;Example Ø;;ZZ99 EXP
-VERSION:2.1
-END:VCARD
+BEGIN:VCARD
+ADR;CHARSET=ISO-8859-1;POSTAL;WORK:;;Example City 1;Example Ø;;ZZ99 EXP
+VERSION:2.1
+END:VCARD
--- a/pimappsupport/vcardandvcal/TPerformance/iLine_short.vcf	Mon May 03 12:30:32 2010 +0300
+++ b/pimappsupport/vcardandvcal/TPerformance/iLine_short.vcf	Mon Jun 28 15:22:02 2010 +0530
@@ -1,4 +1,4 @@
-BEGIN:VCARD
-FN:A N Example
-VERSION:2.1
-END:VCARD
+BEGIN:VCARD
+FN:A N Example
+VERSION:2.1
+END:VCARD
--- a/pimappsupport/vcardandvcal/TestFiles/NoEnd.VCF	Mon May 03 12:30:32 2010 +0300
+++ b/pimappsupport/vcardandvcal/TestFiles/NoEnd.VCF	Mon Jun 28 15:22:02 2010 +0530
@@ -1,6 +1,6 @@
-begin:vcard 
-n:;Example
-adr:;;;;;;
-version:2.1
-fn:A N Example
+begin:vcard 
+n:;Example
+adr:;;;;;;
+version:2.1
+fn:A N Example
 e   „‘ `Ü"
\ No newline at end of file
--- a/pimappsupport/vcardandvcal/TestFiles/nolf.vcs	Mon May 03 12:30:32 2010 +0300
+++ b/pimappsupport/vcardandvcal/TestFiles/nolf.vcs	Mon Jun 28 15:22:02 2010 +0530
@@ -14,3 +14,4 @@
 
 
 
+
\ No newline at end of file
--- a/pimappsupport/vcardandvcal/TestvCals/Various/6.vcs	Mon May 03 12:30:32 2010 +0300
+++ b/pimappsupport/vcardandvcal/TestvCals/Various/6.vcs	Mon Jun 28 15:22:02 2010 +0530
@@ -1,13 +1,13 @@
-BEGIN:VCALENDAR
-BEGIN:VEVENT
-VERSION:1.0
-UID:60000001
-LAST-MODIFIED:20021212T084746Z
-SUMMARY:PAYE
-CLASS:PUBLIC
-DTSTART:20021231T090000Z
-DTEND:20021231T090000Z
-RRULE:MP1 5+ MO TU WE T090000Z
-X-EPOCAGENDAENTRYTYPE:REMINDER
-END:VEVENT
+BEGIN:VCALENDAR
+BEGIN:VEVENT
+VERSION:1.0
+UID:60000001
+LAST-MODIFIED:20021212T084746Z
+SUMMARY:PAYE
+CLASS:PUBLIC
+DTSTART:20021231T090000Z
+DTEND:20021231T090000Z
+RRULE:MP1 5+ MO TU WE T090000Z
+X-EPOCAGENDAENTRYTYPE:REMINDER
+END:VEVENT
 END:VCALENDAR
\ No newline at end of file
--- a/pimappsupport/vcardandvcal/TestvCards/Encoded/1.vcf	Mon May 03 12:30:32 2010 +0300
+++ b/pimappsupport/vcardandvcal/TestvCards/Encoded/1.vcf	Mon Jun 28 15:22:02 2010 +0530
@@ -1,8 +1,8 @@
-BEGIN:VCARD
-FN;CHARSET=ISO-8859-1:A N Example
-N;CHARSET=ISO-8859-1:Example;A;N
-ADR;CHARSET=ISO-8859-1;POSTAL;WORK:;;Example Road 1;Example Town Ø;;ZZ99 EXP
-EMAIL;CHARSET=ISO-8859-1;INTERNET:symbian.foundation@exp.example.test
-ORG;CHARSET=ISO-8859-1:Symbian Foundation
-VERSION:2.1
-END:VCARD
+BEGIN:VCARD
+FN;CHARSET=ISO-8859-1:A N Example
+N;CHARSET=ISO-8859-1:Example;A;N
+ADR;CHARSET=ISO-8859-1;POSTAL;WORK:;;Example Road 1;Example Town Ø;;ZZ99 EXP
+EMAIL;CHARSET=ISO-8859-1;INTERNET:symbian.foundation@exp.example.test
+ORG;CHARSET=ISO-8859-1:Symbian Foundation
+VERSION:2.1
+END:VCARD
--- a/pimappsupport/vcardandvcal/TestvCards/Encoded/7.vcf	Mon May 03 12:30:32 2010 +0300
+++ b/pimappsupport/vcardandvcal/TestvCards/Encoded/7.vcf	Mon Jun 28 15:22:02 2010 +0530
@@ -141,7 +141,7 @@
  4fuPNlmm
  LZxgCt9Z1PfoKsVBvl1JYYwmMDLevpT7qJkgDKSDnnFcx2WsjJYfZrpLlWPyt83PUd66
  WHD
- IGHIPOapkUtJPUrXWmPLqNteW7rHJGcMSOq9xWhdW5+yFl4K88Ur6amij7zOY1G0UjzohtmQ7
+ IGHIPOapkUtJPUrXWmPLqNteW7rHJGcMSOq9xWhdW5+yFl4K88Ur6amij7zOY1G0UjzohtmQ7
  
  lYetdFYaimoaRHcJgS9HHfI603exlBqNS3cqXkksRIZCDjIrLtNbW01hIpCQJPl54FNCqTUX
  dnYq
@@ -294,7 +294,7 @@
  /Nu2j2rn
  nkZpQGOcmoS1LqNqJ0+nW0VvCDGvJGST1q5bsXgVj1NJbGkUkiSVQ0LqRwQa4qdQGI96
  qJF
- XYpPK0LrKhwyEMK39S1G4NshVgpfrtFEmZ0+pjHJ5J5NdNpVpDBbrIq5duSTS6GiWtzQAzTgO
+ XYpPK0LrKhwyEMK39S1G4NshVgpfrtFEmZ0+pjHJ5J5NdNpVpDBbrIq5duSTS6GiWtzQAzTgO
  
  aDRbXHqM0Ec/hQgWpE/FRE8E+lV0BGNrV5NBCRG23PeuXLM5LMSTzUt6GNTexESRgZ9KqTsW
  bbnH
--- a/pimappsupport/vcardandvcal/TestvCards/Invalid/1.vcf	Mon May 03 12:30:32 2010 +0300
+++ b/pimappsupport/vcardandvcal/TestvCards/Invalid/1.vcf	Mon Jun 28 15:22:02 2010 +0530
@@ -1,14 +1,14 @@
 BEGIN:VCARD
-FN:A N Example
-N:Example;A;N;;
-ADR;TYPE=pref,work:;;Example Town;Greater Example;ZZ99 EXP;United Kingdom;Gubbins,More Gubbins,Huge heaps of Gubbins,Mountain of Gubbins, higher than is possibly feasible.,
-NOTE:634 Example Road,Example Town,Greater Example,ZZ99 EXP,United Kingdom,Gubbins,More Gubbins,Huge heaps of Gubbins,Mountain of Gubbins, higher than is possibly feasible.,
-TEL;TYPE=pref,voice,work:0163 296 0000
-TEL;TYPE=voice:(home) 0163 296 0001
-TEL;TYPE=fax:0163 296 0002
-EMAIL;TYPE=internet,pref,work:symbian.foundation@exp.example.test
-TITLE:Software Engineer
-ORG:Symbian Foundation.
+FN:A N Example
+N:Example;A;N
;;
+ADR;TYPE=pref,work:;;Example Town
;Greater Example
;ZZ99 EXP
;United Kingdom
;Gubbins
,More Gubbins
,Huge heaps of Gubbins
,Mountain of Gubbins, higher than is possibly feasible.
,
+NOTE:634 Example Road
,Example Town,Greater Example
,ZZ99 EXP
,United Kingdom
,Gubbins
,More Gubbins
,Huge heaps of Gubbins
,Mountain of Gubbins, higher than is possibly feasible.
,
+TEL;TYPE=pref,voice,work:0163 296 0000
+TEL;TYPE=voice:(home) 0163 296 0001
+TEL;TYPE=fax:0163 296 0002
+EMAIL;TYPE=internet,pref,work:symbian.foundation@exp.example.test
+TITLE:Software Engineer
+ORG:Symbian Foundation.
 VERSION:3.0
 CLASS:PUBLIC
 END:VCARD
--- a/pimappsupport/vcardandvcal/TestvCards/Invalid/2.vcf	Mon May 03 12:30:32 2010 +0300
+++ b/pimappsupport/vcardandvcal/TestvCards/Invalid/2.vcf	Mon Jun 28 15:22:02 2010 +0530
@@ -1,18 +1,18 @@
-BEGIN:VCARD
-VERSION:2.1
-ICQ:31060745
-FN:Example A
-N:Example;A
-EMAIL;PREF;INTERNET:symbian.foundation@exp.example.test
-EMAIL;INTERNET:symbian.foundation@exp.example.test
-EMAIL;INTERNET:symbian.foundation@exp.example.test
-ORG:Symbian Foundation
-TITLE:The director
-ADR;WORK:;;;;;;Example Islands
-LABEL;WORK;ENCODING=QUOTED-PRINTABLE:=0D=0A=0D=0AExample Islands
-ADR;HOME:;;Example City;Earth;;;Example Town
-LABEL;HOME;ENCODING=QUOTED-PRINTABLE:Example City=0D=0AEarth=0D=0AExample Town
-URL:Coming soon!
-TEL;HOME;VOICE:+44 (2???) ????
-TEL;CELL;VOICE:+44 9???????
-END:VCARD
+BEGIN:VCARD
+VERSION:2.1
+ICQ:31060745
+FN:Example A
+N:Example;A
+EMAIL;PREF;INTERNET:symbian.foundation@exp.example.test
+EMAIL;INTERNET:symbian.foundation@exp.example.test
+EMAIL;INTERNET:symbian.foundation@exp.example.test
+ORG:Symbian Foundation
+TITLE:The director
+ADR;WORK:;;;;;;Example Islands
+LABEL;WORK;ENCODING=QUOTED-PRINTABLE:=0D=0A=0D=0AExample Islands
+ADR;HOME:;;Example City;Earth;;;Example Town
+LABEL;HOME;ENCODING=QUOTED-PRINTABLE:Example City=0D=0AEarth=0D=0AExample Town
+URL:Coming soon!
+TEL;HOME;VOICE:+44 (2???) ????
+TEL;CELL;VOICE:+44 9???????
+END:VCARD
--- a/pimappsupport/vcardandvcal/TestvCards/Invalid/3.vcf	Mon May 03 12:30:32 2010 +0300
+++ b/pimappsupport/vcardandvcal/TestvCards/Invalid/3.vcf	Mon Jun 28 15:22:02 2010 +0530
@@ -1,1 +1,1 @@
-BEGIN:VCARDVERSION:2.1FN;QUOTED-PRINTABLE;CHARSET=ISO-8859-1:Example Ex=E4mp=E4leN;QUOTED-PRINTABLE;CHARSET=ISO-8859-1:Example Ex=E4mp=E4leORG:Symbian FoundationTITLE:Senior Design EngineerA.TEL;VOICE:+441632960000A.NOTE:GSMB.TEL;TYPE=FAX:+441632960001B.NOTE:GSMEMAIL:symbian.foundation@exp.example.testEND:VCARD
\ No newline at end of file
+BEGIN:VCARD
VERSION:2.1
FN;QUOTED-PRINTABLE;CHARSET=ISO-8859-1:Example Ex=E4mp=E4le
N;QUOTED-PRINTABLE;CHARSET=ISO-8859-1:Example Ex=E4mp=E4le
ORG:Symbian FoundationTITLE:Senior Design Engineer
A.TEL;VOICE:+441632960000
A.NOTE:GSM
B.TEL;TYPE=FAX:+441632960001
B.NOTE:GSM
EMAIL:symbian.foundation@exp.example.test
END:VCARD
\ No newline at end of file
--- a/pimappsupport/vcardandvcal/Ticket/VTicket.MMP	Mon May 03 12:30:32 2010 +0300
+++ b/pimappsupport/vcardandvcal/Ticket/VTicket.MMP	Mon Jun 28 15:22:02 2010 +0530
@@ -22,6 +22,7 @@
 SOURCEPATH	../Ticket
 
 userinclude     ../inc
+APP_LAYER_SYSTEMINCLUDE
 systeminclude   /epoc32/include
 
 source      	VTicketMaster.CPP
--- a/pimappsupport/vcardandvcal/design/DESIGN.MDL	Mon May 03 12:30:32 2010 +0300
+++ b/pimappsupport/vcardandvcal/design/DESIGN.MDL	Mon Jun 28 15:22:02 2010 +0530
@@ -1,3335 +1,3335 @@
-
-(object Petal
-    version    	42
-    _written   	"Rose 4.5.8054.1"
-    charSet    	0)
-
-(object Design "Logical View"
-    is_unit    	TRUE
-    is_loaded  	TRUE
-    defaults   	(object defaults
-	rightMargin 	0.250000
-	leftMargin 	0.250000
-	topMargin  	0.250000
-	bottomMargin 	0.500000
-	pageOverlap 	0.250000
-	clipIconLabels 	TRUE
-	autoResize 	TRUE
-	snapToGrid 	TRUE
-	gridX      	16
-	gridY      	16
-	defaultFont 	(object Font
-	    size       	9
-	    face       	"helvetica"
-	    bold       	FALSE
-	    italics    	FALSE
-	    underline  	FALSE
-	    strike     	FALSE
-	    color      	0
-	    default_color 	TRUE)
-	showMessageNum 	1
-	showClassOfObject 	TRUE
-	notation   	"Booch")
-    root_usecase_package 	(object Class_Category "Use Case View"
-	quid       	"355326EE003D"
-	exportControl 	"Public"
-	global     	TRUE
-	logical_models 	(list unit_reference_list)
-	logical_presentations 	(list unit_reference_list
-	    (object UseCaseDiagram "Main"
-		quid       	"355326F5025B"
-		title      	"Main"
-		zoom       	100
-		max_height 	28350
-		max_width  	21600
-		origin_x   	0
-		origin_y   	0
-		items      	(list diagram_item_list))))
-    root_category 	(object Class_Category "Logical View"
-	quid       	"355326EE002A"
-	exportControl 	"Public"
-	global     	TRUE
-	subsystem  	"Component View"
-	quidu      	"355326EE003E"
-	logical_models 	(list unit_reference_list
-	    (object Class "CVersitParser"
-		quid       	"3553270E02EC"
-		documentation 	"The base Versit parser class, providing functions to aid parsing a stream into a Versit object, as well as the facility to add properties and sub-entities to an existing object. The key methods are Internalize and Externalize, used to convert to and from stream form."
-		fields     	(list has_relationship_list
-		    (object Has_Relationship
-			quid       	"3553302402E7"
-			supplier   	"Logical View::CParserPropertyHBufC"
-			quidu      	"35532EC801C4"
-			supplier_cardinality 	(value cardinality "0..n"))
-		    (object Has_Relationship
-			quid       	"356EAC060148"
-			label      	"0..n"
-			supplier   	"Logical View::CParserProperty"
-			quidu      	"35532FAE025B"))
-		operations 	(list Operations
-		    (object Operation "InternalizeL"
-			quid       	"3553356B03C6"
-			concurrency 	"Sequential"
-			opExportControl 	"Public"
-			uid        	0)
-		    (object Operation "ExternalizeL"
-			quid       	"355335B802EA"
-			concurrency 	"Sequential"
-			opExportControl 	"Public"
-			uid        	0)
-		    (object Operation "AddEntityL"
-			quid       	"356E92480020"
-			concurrency 	"Sequential"
-			opExportControl 	"Public"
-			uid        	0)
-		    (object Operation "AddPropertyL"
-			quid       	"356E925602FB"
-			concurrency 	"Sequential"
-			opExportControl 	"Public"
-			uid        	0)
-		    (object Operation "EntityL"
-			quid       	"356E9265031B"
-			result     	"CArrayPtrFlat<CVersitParser>"
-			concurrency 	"Sequential"
-			opExportControl 	"Public"
-			uid        	0)
-		    (object Operation "PropertyL"
-			quid       	"356E9273039D"
-			result     	"CArrayPtrFlat<CParserProperty>"
-			concurrency 	"Sequential"
-			opExportControl 	"Public"
-			uid        	0)
-		    (object Operation "GroupOfPropertiesL"
-			quid       	"356E92C403A4"
-			result     	"CArrayPtrFlat<CParserProperty>"
-			concurrency 	"Sequential"
-			opExportControl 	"Public"
-			uid        	0))
-		language   	"C++")
-	    (object Class "CParserVCard"
-		quid       	"355327CA0301"
-		superclasses 	(list inheritance_relationship_list
-		    (object Inheritance_Relationship
-			quid       	"35532D7202F9"
-			supplier   	"Logical View::CVersitParser"
-			quidu      	"3553270E02EC"))
-		language   	"C++")
-	    (object Class "CParserVCal"
-		quid       	"35532CB10020"
-		fields     	(list has_relationship_list
-		    (object Has_Relationship
-			quid       	"355331AE009F"
-			supplier   	"Logical View::VCalToDoParse"
-			quidu      	"35532D9A0057"
-			supplier_cardinality 	(value cardinality "0..n"))
-		    (object Has_Relationship
-			quid       	"355331D301B0"
-			supplier   	"Logical View::CParserVCalEntity"
-			quidu      	"35532DAE02CD"
-			supplier_cardinality 	(value cardinality "0..n")))
-		superclasses 	(list inheritance_relationship_list
-		    (object Inheritance_Relationship
-			quid       	"35532D6A01AD"
-			supplier   	"Logical View::CVersitParser"
-			quidu      	"3553270E02EC"))
-		language   	"C++")
-	    (object Class "VCalToDoParse"
-		quid       	"35532D9A0057"
-		superclasses 	(list inheritance_relationship_list
-		    (object Inheritance_Relationship
-			quid       	"35532DCF019E"
-			supplier   	"Logical View::CVersitParser"
-			quidu      	"3553270E02EC"))
-		language   	"C++")
-	    (object Class "CParserVCalEntity"
-		quid       	"35532DAE02CD"
-		documentation 	"This class represents a Todo or Event sub-entity within the VCal object"
-		superclasses 	(list inheritance_relationship_list
-		    (object Inheritance_Relationship
-			quid       	"35532DD8029B"
-			supplier   	"Logical View::CVersitParser"
-			quidu      	"3553270E02EC"))
-		language   	"C++")
-	    (object Class "CParserParam"
-		quid       	"35532EA700F4"
-		documentation 	"A generic property parameter class, consisting of a Name and optionally a value, both in descriptor form."
-		operations 	(list Operations
-		    (object Operation "Name"
-			quid       	"356E942C00F8"
-			concurrency 	"Sequential"
-			opExportControl 	"Public"
-			uid        	0)
-		    (object Operation "Value"
-			quid       	"356E943102AE"
-			concurrency 	"Sequential"
-			opExportControl 	"Public"
-			uid        	0)
-		    (object Operation "WriteValueToStream"
-			quid       	"356E944D02F4"
-			concurrency 	"Sequential"
-			opExportControl 	"Public"
-			uid        	0))
-		language   	"C++")
-	    (object Class "CParserPropertyHBufC"
-		quid       	"35532EC801C4"
-		superclasses 	(list inheritance_relationship_list
-		    (object Inheritance_Relationship
-			quid       	"3553301D0016"
-			supplier   	"Logical View::CParserProperty"
-			quidu      	"35532FAE025B"))
-		language   	"C++")
-	    (object Class "CVTimeParam"
-		quid       	"35532F2602EC"
-		superclasses 	(list inheritance_relationship_list
-		    (object Inheritance_Relationship
-			quid       	"35532F4100CE"
-			supplier   	"Logical View::CParserParam"
-			quidu      	"35532EA700F4"))
-		language   	"C++")
-	    (object Class "CParserProperty"
-		quid       	"35532FAE025B"
-		documentation 	"The Base property class, corresponding to a property, and storing its name and associated groups and parameters. Subclasses are identified by Uid."
-		operations 	(list Operations
-		    (object Operation "ExternalizeL"
-			quid       	"356EAE71035B"
-			concurrency 	"Sequential"
-			opExportControl 	"Public"
-			uid        	0)
-		    (object Operation "Param"
-			quid       	"356EAE8300E0"
-			concurrency 	"Sequential"
-			opExportControl 	"Public"
-			uid        	0)
-		    (object Operation "AddParamL"
-			quid       	"356EAE8B0019"
-			concurrency 	"Sequential"
-			opExportControl 	"Public"
-			uid        	0)
-		    (object Operation "Group"
-			quid       	"356EAE92013C"
-			concurrency 	"Sequential"
-			opExportControl 	"Public"
-			uid        	0)
-		    (object Operation "Uid"
-			quid       	"356EAE950190"
-			concurrency 	"Sequential"
-			opExportControl 	"Public"
-			uid        	0)
-		    (object Operation "Name"
-			quid       	"356EAE9C000A"
-			concurrency 	"Sequential"
-			opExportControl 	"Public"
-			uid        	0)
-		    (object Operation "SetName"
-			quid       	"356EAEA1007F"
-			concurrency 	"Sequential"
-			opExportControl 	"Public"
-			uid        	0)
-		    (object Operation "WriteValueToStream"
-			quid       	"356EAEAB028C"
-			concurrency 	"Sequential"
-			opExportControl 	"Public"
-			uid        	0))
-		language   	"C++")
-	    (object Class "CPropertyProperty"
-		quid       	"35532FED0021"
-		superclasses 	(list inheritance_relationship_list
-		    (object Inheritance_Relationship
-			quid       	"3553302001B5"
-			supplier   	"Logical View::CParserPropertyHBufC"
-			quidu      	"35532EC801C4"))
-		language   	"C++")
-	    (object Class "AgendaModelVCalWriter/Reader"
-		quid       	"3556CADC02A2"
-		used_nodes 	(list uses_relationship_list
-		    (object Uses_Relationship
-			quid       	"3556CB2A03B3"
-			supplier   	"Logical View::CParserPropertyHBufC"
-			quidu      	"35532EC801C4")
-		    (object Uses_Relationship
-			quid       	"3556CB4E0382"
-			supplier   	"Logical View::CParserVCal"
-			quidu      	"35532CB10020"))
-		language   	"C++")
-	    (object Class "CVAgendaModelVCalReader"
-		quid       	"3556CB0A008B"
-		language   	"C++")
-	    (object Class "CParserPropertyDateTime"
-		quid       	"356EAC6F029E"
-		superclasses 	(list inheritance_relationship_list
-		    (object Inheritance_Relationship
-			quid       	"356EAC84026C"
-			supplier   	"Logical View::CParserProperty"
-			quidu      	"35532FAE025B"))
-		language   	"C++")
-	    (object Class "CParserPropertyCDesCArray"
-		quid       	"356EAC720049"
-		superclasses 	(list inheritance_relationship_list
-		    (object Inheritance_Relationship
-			quid       	"356EAC7E029F"
-			supplier   	"Logical View::CParserProperty"
-			quidu      	"35532FAE025B"))
-		language   	"C++")
-	    (object Class "CParserPropertyMultiDateTime"
-		quid       	"356EAC790361"
-		superclasses 	(list inheritance_relationship_list
-		    (object Inheritance_Relationship
-			quid       	"356EAC87007C"
-			supplier   	"Logical View::CParserProperty"
-			quidu      	"35532FAE025B"))
-		language   	"C++")
-	    (object Class "CParserPropertyInt"
-		quid       	"356EAE41015D"
-		superclasses 	(list inheritance_relationship_list
-		    (object Inheritance_Relationship
-			quid       	"356EAE460024"
-			supplier   	"Logical View::CParserProperty"
-			quidu      	"35532FAE025B"))
-		language   	"C++")
-	    (object Class "CParserPropertyAlarm"
-		quid       	"356EAE5B001A"
-		superclasses 	(list inheritance_relationship_list
-		    (object Inheritance_Relationship
-			quid       	"356EAE660111"
-			supplier   	"Logical View::CParserProperty"
-			quidu      	"35532FAE025B"))
-		language   	"C++")
-	    (object Class "ContactsApp"
-		quid       	"356EAF280282"
-		used_nodes 	(list uses_relationship_list
-		    (object Uses_Relationship
-			quid       	"356EAF3802B7"
-			supplier   	"Logical View::CParserVCard"
-			quidu      	"355327CA0301"))
-		language   	"C++"))
-	logical_presentations 	(list unit_reference_list
-	    (object ClassDiagram "Main"
-		quid       	"355326F5020A"
-		title      	"Main"
-		zoom       	69
-		max_height 	28350
-		max_width  	21600
-		origin_x   	37
-		origin_y   	0
-		items      	(list diagram_item_list
-		    (object ClassView "Class" "Logical View::CVersitParser" @1
-			IncludeAttribute 	TRUE
-			IncludeOperation 	TRUE
-			location   	(1728, 480)
-			label      	(object ItemLabel
-			    Parent_View 	@1
-			    location   	(1528, 266)
-			    nlines     	2
-			    max_width  	477
-			    justify    	0
-			    label      	"CVersitParser")
-			icon_style 	"Icon"
-			quidu      	"3553270E02EC"
-			compartment 	(object Compartment
-			    Parent_View 	@1
-			    location   	(1528, 329)
-			    icon_style 	"Icon"
-			    anchor     	2
-			    nlines     	9
-			    max_width  	382
-			    justify    	0)
-			width      	692
-			height     	624
-			annotation 	8
-			autoResize 	TRUE)
-		    (object ClassView "Class" "Logical View::CParserVCal" @2
-			IncludeAttribute 	TRUE
-			IncludeOperation 	TRUE
-			location   	(2112, 1312)
-			label      	(object ItemLabel
-			    Parent_View 	@2
-			    location   	(1944, 1228)
-			    nlines     	2
-			    max_width  	396
-			    justify    	0
-			    label      	"CParserVCal")
-			icon_style 	"Icon"
-			quidu      	"35532CB10020"
-			compartment 	(object Compartment
-			    Parent_View 	@2
-			    location   	(1944, 1291)
-			    icon_style 	"Icon"
-			    anchor     	2
-			    nlines     	2
-			    max_width  	312
-			    justify    	0)
-			width      	574
-			annotation 	8
-			autoResize 	TRUE)
-		    (object ClassView "Class" "Logical View::CParserVCard" @3
-			IncludeAttribute 	TRUE
-			IncludeOperation 	TRUE
-			location   	(3088, 832)
-			label      	(object ItemLabel
-			    Parent_View 	@3
-			    location   	(2984, 748)
-			    nlines     	2
-			    max_width  	240
-			    justify    	0
-			    label      	"CParserVCard")
-			icon_style 	"Icon"
-			quidu      	"355327CA0301"
-			annotation 	8
-			autoResize 	TRUE)
-		    (object InheritView "" @4
-			stereotype 	TRUE
-			quidu      	"35532D6A01AD"
-			client     	@2
-			supplier   	@1
-			line_style 	0)
-		    (object InheritView "" @5
-			stereotype 	TRUE
-			quidu      	"35532D7202F9"
-			client     	@3
-			supplier   	@1
-			line_style 	0)
-		    (object ClassView "Class" "Logical View::CParserVCalEntity" @6
-			IncludeAttribute 	TRUE
-			IncludeOperation 	TRUE
-			location   	(2976, 1472)
-			label      	(object ItemLabel
-			    Parent_View 	@6
-			    location   	(2872, 1388)
-			    nlines     	2
-			    max_width  	240
-			    justify    	0
-			    label      	"CParserVCalEntity")
-			icon_style 	"Icon"
-			quidu      	"35532DAE02CD"
-			annotation 	8
-			autoResize 	TRUE)
-		    (object InheritView "" @7
-			stereotype 	TRUE
-			quidu      	"35532DD8029B"
-			client     	@6
-			supplier   	@1
-			line_style 	0)
-		    (object ClassView "Class" "Logical View::CParserParam" @8
-			IncludeAttribute 	TRUE
-			IncludeOperation 	TRUE
-			location   	(416, 208)
-			label      	(object ItemLabel
-			    Parent_View 	@8
-			    location   	(239, 112)
-			    nlines     	2
-			    max_width  	418
-			    justify    	0
-			    label      	"CParserParam")
-			icon_style 	"Icon"
-			quidu      	"35532EA700F4"
-			compartment 	(object Compartment
-			    Parent_View 	@8
-			    location   	(239, 175)
-			    icon_style 	"Icon"
-			    anchor     	2
-			    nlines     	3
-			    max_width  	344
-			    justify    	0)
-			width      	606
-			height     	286
-			annotation 	8
-			autoResize 	TRUE)
-		    (object HasView "" @9
-			stereotype 	TRUE
-			quidu      	"355331D301B0"
-			client     	@2
-			supplier   	@6
-			line_style 	0)
-		    (object ClassView "Class" "Logical View::AgendaModelVCalWriter/Reader" @10
-			IncludeAttribute 	TRUE
-			IncludeOperation 	TRUE
-			location   	(1776, 1776)
-			label      	(object ItemLabel
-			    Parent_View 	@10
-			    location   	(1644, 1692)
-			    nlines     	2
-			    max_width  	310
-			    justify    	0
-			    label      	"AgendaModelVCalWriter/Reader")
-			icon_style 	"Icon"
-			quidu      	"3556CADC02A2"
-			width      	450
-			annotation 	8
-			autoResize 	TRUE)
-		    (object UsesView "" @11
-			stereotype 	TRUE
-			quidu      	"3556CB4E0382"
-			client     	@10
-			supplier   	@2
-			line_style 	0)
-		    (object ClassView "Class" "Logical View::CParserProperty" @12
-			IncludeAttribute 	TRUE
-			IncludeOperation 	TRUE
-			location   	(736, 896)
-			label      	(object ItemLabel
-			    Parent_View 	@12
-			    location   	(555, 701)
-			    nlines     	2
-			    max_width  	430
-			    justify    	0
-			    label      	"CParserProperty")
-			icon_style 	"Icon"
-			quidu      	"35532FAE025B"
-			compartment 	(object Compartment
-			    Parent_View 	@12
-			    location   	(555, 764)
-			    icon_style 	"Icon"
-			    anchor     	2
-			    nlines     	8
-			    max_width  	344
-			    justify    	0)
-			width      	624
-			height     	570
-			annotation 	8
-			autoResize 	TRUE)
-		    (object HasView "0..n" @13
-			label      	(object ItemLabel
-			    Parent_View 	@13
-			    location   	(1282, 660)
-			    anchor_loc 	1
-			    nlines     	1
-			    max_width  	450
-			    justify    	0
-			    label      	"0..n")
-			stereotype 	TRUE
-			quidu      	"356EAC060148"
-			client     	@1
-			supplier   	@12
-			line_style 	0)
-		    (object ClassView "Class" "Logical View::CParserPropertyHBufC" @14
-			IncludeAttribute 	TRUE
-			IncludeOperation 	TRUE
-			location   	(1296, 1552)
-			label      	(object ItemLabel
-			    Parent_View 	@14
-			    location   	(1186, 1468)
-			    nlines     	2
-			    max_width  	256
-			    justify    	0
-			    label      	"CParserPropertyHBufC")
-			icon_style 	"Icon"
-			quidu      	"35532EC801C4"
-			width      	372
-			annotation 	8
-			autoResize 	TRUE)
-		    (object InheritView "" @15
-			stereotype 	TRUE
-			quidu      	"3553301D0016"
-			client     	@14
-			supplier   	@12
-			line_style 	0)
-		    (object ClassView "Class" "Logical View::CParserPropertyDateTime" @16
-			IncludeAttribute 	TRUE
-			IncludeOperation 	TRUE
-			location   	(704, 1712)
-			label      	(object ItemLabel
-			    Parent_View 	@16
-			    location   	(585, 1628)
-			    nlines     	2
-			    max_width  	278
-			    justify    	0
-			    label      	"CParserPropertyDateTime")
-			icon_style 	"Icon"
-			quidu      	"356EAC6F029E"
-			width      	404
-			annotation 	8
-			autoResize 	TRUE)
-		    (object ClassView "Class" "Logical View::CParserPropertyCDesCArray" @17
-			IncludeAttribute 	TRUE
-			IncludeOperation 	TRUE
-			location   	(240, 1408)
-			label      	(object ItemLabel
-			    Parent_View 	@17
-			    location   	(122, 1324)
-			    nlines     	2
-			    max_width  	274
-			    justify    	0
-			    label      	"CParserPropertyCDesCArray")
-			icon_style 	"Icon"
-			quidu      	"356EAC720049"
-			width      	398
-			annotation 	8
-			autoResize 	TRUE)
-		    (object ClassView "Class" "Logical View::CParserPropertyMultiDateTime" @18
-			IncludeAttribute 	TRUE
-			IncludeOperation 	TRUE
-			location   	(336, 2000)
-			label      	(object ItemLabel
-			    Parent_View 	@18
-			    location   	(220, 1916)
-			    nlines     	2
-			    max_width  	270
-			    justify    	0
-			    label      	"CParserPropertyMultiDateTime")
-			icon_style 	"Icon"
-			quidu      	"356EAC790361"
-			width      	392
-			annotation 	8
-			autoResize 	TRUE)
-		    (object InheritView "" @19
-			stereotype 	TRUE
-			quidu      	"356EAC7E029F"
-			client     	@17
-			supplier   	@12
-			line_style 	0)
-		    (object InheritView "" @20
-			stereotype 	TRUE
-			quidu      	"356EAC84026C"
-			client     	@16
-			supplier   	@12
-			line_style 	0)
-		    (object InheritView "" @21
-			stereotype 	TRUE
-			quidu      	"356EAC87007C"
-			client     	@18
-			supplier   	@12
-			line_style 	0)
-		    (object ClassView "Class" "Logical View::CParserPropertyInt" @22
-			IncludeAttribute 	TRUE
-			IncludeOperation 	TRUE
-			location   	(1280, 1952)
-			label      	(object ItemLabel
-			    Parent_View 	@22
-			    location   	(1176, 1868)
-			    nlines     	2
-			    max_width  	240
-			    justify    	0
-			    label      	"CParserPropertyInt")
-			icon_style 	"Icon"
-			quidu      	"356EAE41015D"
-			annotation 	8
-			autoResize 	TRUE)
-		    (object InheritView "" @23
-			stereotype 	TRUE
-			quidu      	"356EAE460024"
-			client     	@22
-			supplier   	@12
-			line_style 	0)
-		    (object ClassView "Class" "Logical View::CParserPropertyAlarm" @24
-			IncludeAttribute 	TRUE
-			IncludeOperation 	TRUE
-			location   	(1136, 2288)
-			label      	(object ItemLabel
-			    Parent_View 	@24
-			    location   	(1032, 2204)
-			    nlines     	2
-			    max_width  	242
-			    justify    	0
-			    label      	"CParserPropertyAlarm")
-			icon_style 	"Icon"
-			quidu      	"356EAE5B001A"
-			width      	352
-			annotation 	8
-			autoResize 	TRUE)
-		    (object InheritView "" @25
-			stereotype 	TRUE
-			quidu      	"356EAE660111"
-			client     	@24
-			supplier   	@12
-			line_style 	0)
-		    (object ClassView "Class" "Logical View::ContactsApp" @26
-			IncludeAttribute 	TRUE
-			IncludeOperation 	TRUE
-			location   	(3392, 1216)
-			label      	(object ItemLabel
-			    Parent_View 	@26
-			    location   	(3288, 1132)
-			    nlines     	2
-			    max_width  	240
-			    justify    	0
-			    label      	"ContactsApp")
-			icon_style 	"Icon"
-			quidu      	"356EAF280282"
-			annotation 	8
-			autoResize 	TRUE)
-		    (object UsesView "" @27
-			stereotype 	TRUE
-			quidu      	"356EAF3802B7"
-			client     	@26
-			supplier   	@3
-			line_style 	0)))))
-    root_subsystem 	(object SubSystem "Component View"
-	quid       	"355326EE003E"
-	physical_models 	(list unit_reference_list)
-	physical_presentations 	(list unit_reference_list
-	    (object Module_Diagram "Main"
-		quid       	"355326F5025A"
-		title      	"Main"
-		zoom       	100
-		max_height 	28350
-		max_width  	21600
-		origin_x   	0
-		origin_y   	0
-		items      	(list diagram_item_list))))
-    process_structure 	(object Processes
-	quid       	"355326EE003F"
-	ProcsNDevs 	(list
-	    (object Process_Diagram "Deployment View"
-		quid       	"355326F5019C"
-		title      	"Deployment View"
-		zoom       	100
-		max_height 	28350
-		max_width  	21600
-		origin_x   	0
-		origin_y   	0
-		items      	(list diagram_item_list))))
-    properties 	(object Properties
-	attributes 	(list Attribute_Set
-	    (object Attribute
-		tool       	"DDL"
-		name       	"propertyId"
-		value      	"809135966")
-	    (object Attribute
-		tool       	"DDL"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"DDL"
-			name       	"DataBase"
-			value      	("DataBaseSet" 800))
-		    (object Attribute
-			tool       	"DDL"
-			name       	"DataBaseSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"DDL"
-				name       	"ANSI"
-				value      	800)
-			    (object Attribute
-				tool       	"DDL"
-				name       	"Oracle"
-				value      	801)
-			    (object Attribute
-				tool       	"DDL"
-				name       	"SQLServer"
-				value      	802)
-			    (object Attribute
-				tool       	"DDL"
-				name       	"Sybase"
-				value      	803)
-			    (object Attribute
-				tool       	"DDL"
-				name       	"Watcom"
-				value      	804)))
-		    (object Attribute
-			tool       	"DDL"
-			name       	"PrimaryKeyColumnName"
-			value      	"Id")
-		    (object Attribute
-			tool       	"DDL"
-			name       	"PrimaryKeyColumnType"
-			value      	"NUMBER(5)")
-		    (object Attribute
-			tool       	"DDL"
-			name       	"ViewName"
-			value      	"V_")
-		    (object Attribute
-			tool       	"DDL"
-			name       	"TableName"
-			value      	"T_")
-		    (object Attribute
-			tool       	"DDL"
-			name       	"InheritSuffix"
-			value      	"_V")
-		    (object Attribute
-			tool       	"DDL"
-			name       	"DropClause"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"DDL"
-			name       	"BaseViews"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"DDL"
-			name       	"DDLScriptFilename"
-			value      	"DDL1.SQL")))
-	    (object Attribute
-		tool       	"DDL"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"DDL"
-			name       	"ColumnType"
-			value      	"VARCHAR")
-		    (object Attribute
-			tool       	"DDL"
-			name       	"Length"
-			value      	"")
-		    (object Attribute
-			tool       	"DDL"
-			name       	"NullsOK"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"DDL"
-			name       	"PrimaryKey"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"DDL"
-			name       	"Unique"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"DDL"
-			name       	"CompositeUnique"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"DDL"
-			name       	"CheckConstraint"
-			value      	"")))
-	    (object Attribute
-		tool       	"DDL"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"IDL"
-		name       	"propertyId"
-		value      	"809135966")
-	    (object Attribute
-		tool       	"IDL"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"IDL"
-			name       	"CreateMissingDirectories"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"IDL"
-			name       	"StopOnError"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"IDL"
-			name       	"Directory"
-			value      	"AUTO GENERATE")
-		    (object Attribute
-			tool       	"IDL"
-			name       	"GeneratePreserveRegions"
-			value      	TRUE)))
-	    (object Attribute
-		tool       	"IDL"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"IDL"
-			name       	"ImplementationType"
-			value      	"")
-		    (object Attribute
-			tool       	"IDL"
-			name       	"ConstValue"
-			value      	"")
-		    (object Attribute
-			tool       	"IDL"
-			name       	"GenerateDefaultSpecifier"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"IDL"
-			name       	"DefaultSpecifier"
-			value      	"")
-		    (object Attribute
-			tool       	"IDL"
-			name       	"IDLElement"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"IDL"
-			name       	"IDLSpecificationType"
-			value      	("IDLSpecSet" 22))
-		    (object Attribute
-			tool       	"IDL"
-			name       	"IDLSpecSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"IDL"
-				name       	"Interface"
-				value      	22)
-			    (object Attribute
-				tool       	"IDL"
-				name       	"Typedef"
-				value      	54)
-			    (object Attribute
-				tool       	"IDL"
-				name       	"Enumeration"
-				value      	8)
-			    (object Attribute
-				tool       	"IDL"
-				name       	"Const"
-				value      	71)
-			    (object Attribute
-				tool       	"IDL"
-				name       	"Exception"
-				value      	61)
-			    (object Attribute
-				tool       	"IDL"
-				name       	"Struct"
-				value      	51)
-			    (object Attribute
-				tool       	"IDL"
-				name       	"Union"
-				value      	81)))))
-	    (object Attribute
-		tool       	"IDL"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"IDL"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"IDL"
-			name       	"CmIdentification"
-			value      	(value Text "  %X% %Q% %Z% %W%"))
-		    (object Attribute
-			tool       	"IDL"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"IDL"
-			name       	"FileName"
-			value      	"AUTO GENERATE")
-		    (object Attribute
-			tool       	"IDL"
-			name       	"GenerateIDLModule"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"IDL"
-			name       	"InclusionProtectionSymbol"
-			value      	"AUTO GENERATE")
-		    (object Attribute
-			tool       	"IDL"
-			name       	"AdditionalIncludes"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"IDL"
-			name       	"IncludeBySimpleName"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"IDL"
-		name       	"default__Module-Body"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"IDL"
-			name       	"CmIdentification"
-			value      	(value Text "  %X% %Q% %Z% %W%"))
-		    (object Attribute
-			tool       	"IDL"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"IDL"
-			name       	"FileName"
-			value      	"AUTO GENERATE")
-		    (object Attribute
-			tool       	"IDL"
-			name       	"AdditionalIncludes"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"IDL"
-			name       	"IncludeBySimpleName"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"IDL"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"IDL"
-			name       	"OperationIsOneWay"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"IDL"
-			name       	"Context"
-			value      	"")
-		    (object Attribute
-			tool       	"IDL"
-			name       	"Raises"
-			value      	"")))
-	    (object Attribute
-		tool       	"IDL"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"IDL"
-			name       	"CaseSpecifier"
-			value      	"")
-		    (object Attribute
-			tool       	"IDL"
-			name       	"GenerateDataMember"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"IDL"
-			name       	"DataMemberName"
-			value      	"$relationship")
-		    (object Attribute
-			tool       	"IDL"
-			name       	"IsReadOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"IDL"
-			name       	"IsConst"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"IDL"
-			name       	"ConstValue"
-			value      	"")))
-	    (object Attribute
-		tool       	"IDL"
-		name       	"default__Has"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"IDL"
-			name       	"NameIfUnlabeled"
-			value      	"the_$supplier")
-		    (object Attribute
-			tool       	"IDL"
-			name       	"GenerateDataMember"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"IDL"
-			name       	"DataMemberName"
-			value      	"$relationship")
-		    (object Attribute
-			tool       	"IDL"
-			name       	"GenerateForwardReference"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"IDL"
-			name       	"IsReadOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"IDL"
-			name       	"BoundedHasRelType"
-			value      	("HasRelTypeSet" 47))
-		    (object Attribute
-			tool       	"IDL"
-			name       	"HasRelTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"IDL"
-				name       	"Array"
-				value      	24)
-			    (object Attribute
-				tool       	"IDL"
-				name       	"Sequence"
-				value      	47)))))
-	    (object Attribute
-		tool       	"IDL"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"IDL"
-			name       	"NameIfUnlabeled"
-			value      	"the_$supplier")
-		    (object Attribute
-			tool       	"IDL"
-			name       	"GenerateDataMember"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"IDL"
-			name       	"DataMemberName"
-			value      	"$relationship")
-		    (object Attribute
-			tool       	"IDL"
-			name       	"GenerateForwardReference"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"IDL"
-			name       	"IsReadOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"IDL"
-			name       	"BoundedRoleType"
-			value      	("AssocTypeSet" 47))
-		    (object Attribute
-			tool       	"IDL"
-			name       	"AssocTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"IDL"
-				name       	"Array"
-				value      	24)
-			    (object Attribute
-				tool       	"IDL"
-				name       	"Sequence"
-				value      	47)))))
-	    (object Attribute
-		tool       	"IDL"
-		name       	"default__Uses"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"IDL"
-			name       	"GenerateForwardReference"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"IDL"
-		name       	"default__Subsystem"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"IDL"
-			name       	"Directory"
-			value      	"AUTO GENERATE")))
-	    (object Attribute
-		tool       	"IDL"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"cg"
-		name       	"propertyId"
-		value      	"809135966")
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"UseMSVC"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"HeaderFileExtension"
-			value      	"h")
-		    (object Attribute
-			tool       	"cg"
-			name       	"HeaderFileBackupExtension"
-			value      	"h~")
-		    (object Attribute
-			tool       	"cg"
-			name       	"HeaderFileTemporaryExtension"
-			value      	"h#")
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeFileExtension"
-			value      	"cpp")
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeFileBackupExtension"
-			value      	"cp~")
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeFileTemporaryExtension"
-			value      	"cp#")
-		    (object Attribute
-			tool       	"cg"
-			name       	"CreateMissingDirectories"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"StopOnError"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"ErrorLimit"
-			value      	30)
-		    (object Attribute
-			tool       	"cg"
-			name       	"Directory"
-			value      	"$ROSECPP_SOURCE")
-		    (object Attribute
-			tool       	"cg"
-			name       	"PathSeparator"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"FileNameFormat"
-			value      	"128vx_b")
-		    (object Attribute
-			tool       	"cg"
-			name       	"BooleanType"
-			value      	"int")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowTemplates"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowProtectedInheritance"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"CommentWidth"
-			value      	60)
-		    (object Attribute
-			tool       	"cg"
-			name       	"OneByValueContainer"
-			value      	"$targetClass")
-		    (object Attribute
-			tool       	"cg"
-			name       	"OneByReferenceContainer"
-			value      	"$targetClass *")
-		    (object Attribute
-			tool       	"cg"
-			name       	"OptionalByValueContainer"
-			value      	"OptionalByValue<$targetClass>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"OptionalByReferenceContainer"
-			value      	"$targetClass *")
-		    (object Attribute
-			tool       	"cg"
-			name       	"FixedByValueContainer"
-			value      	"$targetClass[$limit]")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedFixedByValueContainer"
-			value      	"$targetClass[$limit]")
-		    (object Attribute
-			tool       	"cg"
-			name       	"FixedByReferenceContainer"
-			value      	"$targetClass *[$limit]")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedFixedByReferenceContainer"
-			value      	"$targetClass *[$limit]")
-		    (object Attribute
-			tool       	"cg"
-			name       	"BoundedByValueContainer"
-			value      	"BoundedListByValue<$targetClass,$limit>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedBoundedByValueContainer"
-			value      	"BoundedSetByValue<$targetClass,$limit>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"BoundedByReferenceContainer"
-			value      	"BoundedListByReference<$targetClass,$limit>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedBoundedByReferenceContainer"
-			value      	"BoundedSetByReference<$targetClass,$limit>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnboundedByValueContainer"
-			value      	"UnboundedListByValue<$targetClass>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedUnboundedByValueContainer"
-			value      	"UnboundedSetByValue<$targetClass>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnboundedByReferenceContainer"
-			value      	"UnboundedListByReference<$targetClass>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedUnboundedByReferenceContainer"
-			value      	"UnboundedSetByReference<$targetClass>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedByValueContainer"
-			value      	"AssociationByValue<$qualtype, $qualcont>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedQualifiedByValueContainer"
-			value      	"DictionaryByValue<$qualtype, $qualcont>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedByReferenceContainer"
-			value      	"AssociationByReference<$qualtype, $qualcont>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"UnorderedQualifiedByReferenceContainer"
-			value      	"DictionaryByReference<$qualtype, $qualcont>")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GeneratePreserveRegions"
-			value      	TRUE)))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"ImplementationType"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"ClassKey"
-			value      	"class")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegions"
-			value      	("GenerateEmptyRegionSet" 3))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegionSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"None"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Preserved"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Unpreserved"
-				value      	2)
-			    (object Attribute
-				tool       	"cg"
-				name       	"All"
-				value      	3)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"PutBodiesInSpec"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateDefaultConstructor"
-			value      	("GenerateSet" 199))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DefaultConstructorVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineDefaultConstructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"ExplicitDefaultConstructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateCopyConstructor"
-			value      	("GenerateSet" 199))
-		    (object Attribute
-			tool       	"cg"
-			name       	"CopyConstructorVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineCopyConstructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"ExplicitCopyConstructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateDestructor"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"DestructorVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DestructorKind"
-			value      	("ThreeKindSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineDestructor"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateAssignmentOperation"
-			value      	("GenerateSet" 199))
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssignmentVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssignmentKind"
-			value      	("ThreeKindSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineAssignmentOperation"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEqualityOperations"
-			value      	("GenerateSet" 199))
-		    (object Attribute
-			tool       	"cg"
-			name       	"EqualityVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"EqualityKind"
-			value      	("FriendKindSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineEqualityOperations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateRelationalOperations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"RelationalVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"RelationalKind"
-			value      	("FriendKindSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineRelationalOperations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateStorageMgmtOperations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"StorageMgmtVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineStorageMgmtOperations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateSubscriptOperation"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"SubscriptVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"SubscriptKind"
-			value      	("ThreeKindSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"SubscriptResultType"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineSubscriptOperation"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateDereferenceOperation"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"DereferenceVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DereferenceKind"
-			value      	("ThreeKindSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DereferenceResultType"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineDereferenceOperation"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateIndirectionOperation"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"IndirectionVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"IndirectionKind"
-			value      	("ThreeKindSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"IndirectionResultType"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineIndirectionOperation"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateStreamOperations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"StreamVisibility"
-			value      	("VisibilitySet" 45))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineStreamOperations"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"ThreeKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Common"
-				value      	200)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Virtual"
-				value      	201)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Abstract"
-				value      	202)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"KindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Common"
-				value      	200)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Virtual"
-				value      	201)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Abstract"
-				value      	202)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Static"
-				value      	203)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"FriendKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Common"
-				value      	200)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Virtual"
-				value      	201)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Abstract"
-				value      	202)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Friend"
-				value      	204)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"DeclareAndDefine"
-				value      	199)
-			    (object Attribute
-				tool       	"cg"
-				name       	"DeclareOnly"
-				value      	205)
-			    (object Attribute
-				tool       	"cg"
-				name       	"DoNotDeclare"
-				value      	206)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"VisibilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Public"
-				value      	45)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Protected"
-				value      	44)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Private"
-				value      	43)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Implementation"
-				value      	14)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"ConstValue"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateDefaultSpecifier"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"DefaultSpecifier"
-			value      	"")))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegions"
-			value      	("GenerateEmptyRegionSet" 3))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegionSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"None"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Preserved"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Unpreserved"
-				value      	2)
-			    (object Attribute
-				tool       	"cg"
-				name       	"All"
-				value      	3)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"CmIdentification"
-			value      	(value Text "  %X% %Q% %Z% %W%"))
-		    (object Attribute
-			tool       	"cg"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"FileName"
-			value      	"AUTO GENERATE")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowExtensionlessFileName"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"InclusionProtectionSymbol"
-			value      	"AUTO GENERATE")
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludeFormat"
-			value      	(value Text 
-|// $package
-|#include "$file"
-|
-			))
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludeBySimpleName"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludePrecompiledHeader"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludeOrder"
-			value      	"AMIR")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AdditionalIncludes"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InliningStyle"
-			value      	("InliningStyleSet" 207))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InliningStyleSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"InClassDeclaration"
-				value      	208)
-			    (object Attribute
-				tool       	"cg"
-				name       	"FollowingClassDeclaration"
-				value      	207)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"TypesDefined"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludeClosure"
-			value      	(value Text ""))))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Module-Body"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"Generate"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegions"
-			value      	("GenerateEmptyRegionSet" 3))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegionSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"None"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Preserved"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Unpreserved"
-				value      	2)
-			    (object Attribute
-				tool       	"cg"
-				name       	"All"
-				value      	3)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"CmIdentification"
-			value      	(value Text "  %X% %Q% %Z% %W%"))
-		    (object Attribute
-			tool       	"cg"
-			name       	"CopyrightNotice"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"FileName"
-			value      	"AUTO GENERATE")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AllowExtensionlessFileName"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludeFormat"
-			value      	(value Text 
-|// $package
-|#include "$file"
-|
-			))
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludeBySimpleName"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludePrecompiledHeader"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludeOrder"
-			value      	"AMIR")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AdditionalIncludes"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InliningStyle"
-			value      	("InliningStyleSet" 207))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InliningStyleSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"InClassDeclaration"
-				value      	208)
-			    (object Attribute
-				tool       	"cg"
-				name       	"FollowingClassDeclaration"
-				value      	207)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"TypesDefined"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"IncludeClosure"
-			value      	(value Text ""))))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"OperationKind"
-			value      	("OperationKindSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"OperationKindSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Common"
-				value      	200)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Virtual"
-				value      	201)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Abstract"
-				value      	202)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Static"
-				value      	203)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Friend"
-				value      	204)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"OperationIsConst"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"OperationIsExplicit"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"Inline"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"EntryCode"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"ExitCode"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegions"
-			value      	("GenerateEmptyRegionSet" 3))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegionSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"None"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Preserved"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Unpreserved"
-				value      	2)
-			    (object Attribute
-				tool       	"cg"
-				name       	"All"
-				value      	3)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"BodyAnnotations"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"OperationIsOneWay"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"Context"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"Raises"
-			value      	"")))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Has"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"Ordered"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"NameIfUnlabeled"
-			value      	"the_$supplier")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateDataMember"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberName"
-			value      	"$relationship")
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberVisibility"
-			value      	("DataMemberVisibilitySet" 14))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberVisibilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Public"
-				value      	45)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Protected"
-				value      	44)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Private"
-				value      	43)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Implementation"
-				value      	14)
-			    (object Attribute
-				tool       	"cg"
-				name       	"AtRelationshipVisibility"
-				value      	210)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberMutability"
-			value      	("DataMemberMutabilitySet" 0))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberMutabilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Unrestricted"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Mutable"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Const"
-				value      	2)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberIsVolatile"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberFieldSize"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"InitialValue"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateGetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateSetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetName"
-			value      	"get_$relationship")
-		    (object Attribute
-			tool       	"cg"
-			name       	"SetName"
-			value      	"set_$relationship")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetSetKinds"
-			value      	("GetSetKindsSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetSetKindsSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Common"
-				value      	200)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Virtual"
-				value      	201)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Abstract"
-				value      	202)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Static"
-				value      	203)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Friend"
-				value      	204)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"ContainerClass"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"SelectorName"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"SelectorType"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetIsConst"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetResultIsConst"
-			value      	("GetResultIsConstSet" 2))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetResultIsConstSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"False"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"True"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Same_As_Function"
-				value      	2)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetSetByReference"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"SetReturnsValue"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"ForwardReferenceOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateForwardReference"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"IsReadOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"BoundedHasRelType"
-			value      	("HasRelTypeSet" 47))
-		    (object Attribute
-			tool       	"cg"
-			name       	"HasRelTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Array"
-				value      	24)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Sequence"
-				value      	47)))))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Association"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"NameIfUnlabeled"
-			value      	"the_$targetClass")))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Inherit"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"InstanceArguments"
-			value      	"")))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"ForwardReferenceOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"NameIfUnlabeled"
-			value      	"the_$targetClass")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateDataMember"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberName"
-			value      	"$target")
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberVisibility"
-			value      	("DataMemberVisibilitySet" 14))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberVisibilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Public"
-				value      	45)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Protected"
-				value      	44)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Private"
-				value      	43)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Implementation"
-				value      	14)
-			    (object Attribute
-				tool       	"cg"
-				name       	"AtRelationshipVisibility"
-				value      	210)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberMutability"
-			value      	("DataMemberMutabilitySet" 0))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberMutabilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Unrestricted"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Mutable"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Const"
-				value      	2)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberIsVolatile"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberFieldSize"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"InitialValue"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"ContainerClass"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"ContainerGet"
-			value      	"$data.get($keys)")
-		    (object Attribute
-			tool       	"cg"
-			name       	"ContainerSet"
-			value      	"$data.set($keys,$value)")
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedContainer"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassContainer"
-			value      	"$supplier *")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassInitialValue"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetSetKinds"
-			value      	("GetSetKindsSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetSetKindsSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Common"
-				value      	200)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Virtual"
-				value      	201)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Abstract"
-				value      	202)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Static"
-				value      	203)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Friend"
-				value      	204)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetSetByReference"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateGetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetName"
-			value      	"get_$target")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetIsConst"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetResultIsConst"
-			value      	("GetResultIsConstSet" 2))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetResultIsConstSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"False"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"True"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Same_As_Function"
-				value      	2)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateSetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"SetName"
-			value      	"set_$target")
-		    (object Attribute
-			tool       	"cg"
-			name       	"SetReturnsValue"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedGetSetByReference"
-			value      	("QualifiedGetSetByReferenceSet" 2))
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedGetSetByReferenceSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"False"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"True"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Same_As_GetSetByReference"
-				value      	2)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateQualifiedGetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedGetName"
-			value      	"get_$target")
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedGetIsConst"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedGetResultIsConst"
-			value      	("GetResultIsConstSet" 2))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineQualifiedGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateQualifiedSetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedSetName"
-			value      	"set_$target")
-		    (object Attribute
-			tool       	"cg"
-			name       	"QualifiedSetReturnsValue"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineQualifiedSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateAssocClassDataMember"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassDataMemberName"
-			value      	"$target")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassDataMemberVisibility"
-			value      	("DataMemberVisibilitySet" 14))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberVisibilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Public"
-				value      	45)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Protected"
-				value      	44)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Private"
-				value      	43)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Implementation"
-				value      	14)
-			    (object Attribute
-				tool       	"cg"
-				name       	"AtRelationshipVisibility"
-				value      	210)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassDataMemberMutability"
-			value      	("DataMemberMutabilitySet" 0))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberMutabilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Unrestricted"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Mutable"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Const"
-				value      	2)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassDataMemberIsVolatile"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassGetSetKinds"
-			value      	("GetSetKindsSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateAssocClassGetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassGetName"
-			value      	"get_$target")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassGetIsConst"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassGetResultIsConst"
-			value      	("GetResultIsConstSet" 2))
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineAssocClassGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateAssocClassSetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassSetName"
-			value      	"set_$target")
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassSetReturnsValue"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineAssocClassSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocClassForwardReferenceOnly"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateForwardReference"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"IsReadOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"BoundedRoleType"
-			value      	("AssocTypeSet" 47))
-		    (object Attribute
-			tool       	"cg"
-			name       	"AssocTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Array"
-				value      	24)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Sequence"
-				value      	47)))))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateDataMember"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberName"
-			value      	"$attribute")
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberVisibility"
-			value      	("DataMemberVisibilitySet" 14))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberVisibilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Public"
-				value      	45)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Protected"
-				value      	44)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Private"
-				value      	43)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Implementation"
-				value      	14)
-			    (object Attribute
-				tool       	"cg"
-				name       	"AtAttributeVisibility"
-				value      	211)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberMutability"
-			value      	("DataMemberMutabilitySet" 0))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberMutabilitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Unrestricted"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Mutable"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Const"
-				value      	2)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberIsVolatile"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"DataMemberFieldSize"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateGetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateSetOperation"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetName"
-			value      	"get_$attribute")
-		    (object Attribute
-			tool       	"cg"
-			name       	"SetName"
-			value      	"set_$attribute")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetSetKinds"
-			value      	("GetSetKindsSet" 200))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetSetKindsSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"Common"
-				value      	200)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Virtual"
-				value      	201)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Abstract"
-				value      	202)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Static"
-				value      	203)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Friend"
-				value      	204)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetIsConst"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetResultIsConst"
-			value      	("GetResultIsConstSet" 2))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetResultIsConstSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"False"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"True"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Same_As_Function"
-				value      	2)))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GetSetByReference"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineGet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"SetReturnsValue"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"InlineSet"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"CaseSpecifier"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"IsReadOnly"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Uses"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"ForwardReferenceOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"BodyReferenceOnly"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateForwardReference"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Subsystem"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"Directory"
-			value      	"AUTO GENERATE")
-		    (object Attribute
-			tool       	"cg"
-			name       	"DirectoryIsOnSearchList"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"PrecompiledHeader"
-			value      	"")))
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Category"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"IsNamespace"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"cg"
-			name       	"Indent"
-			value      	2)
-		    (object Attribute
-			tool       	"cg"
-			name       	"CodeName"
-			value      	"")
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegions"
-			value      	("GenerateEmptyRegionSet" 3))
-		    (object Attribute
-			tool       	"cg"
-			name       	"GenerateEmptyRegionSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"cg"
-				name       	"None"
-				value      	0)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Preserved"
-				value      	1)
-			    (object Attribute
-				tool       	"cg"
-				name       	"Unpreserved"
-				value      	2)
-			    (object Attribute
-				tool       	"cg"
-				name       	"All"
-				value      	3)))))
-	    (object Attribute
-		tool       	"MSVC"
-		name       	"propertyId"
-		value      	"809135966")
-	    (object Attribute
-		tool       	"MSVC"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"Version"
-			value      	"5.0")))
-	    (object Attribute
-		tool       	"MSVC"
-		name       	"default__Class"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"Type"
-			value      	("MSVCClassTypeSet" 0))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MSVCClassTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Normal"
-				value      	0)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Interface_Part"
-				value      	1)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Connection_Part"
-				value      	2)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Class_Factory"
-				value      	3)))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"CObjectFunctionality"
-			value      	("CObjectFunctionalitySet" 0))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"CObjectFunctionalitySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"None"
-				value      	0)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Dynamic"
-				value      	1)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Dyncreate"
-				value      	2)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Serial"
-				value      	3)))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateOverrideGroup"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateDataGroup"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_DATA_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateFieldGroup"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_FIELD_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateMessageGroup"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateMessageMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_MSG_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MESSAGE_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLEFactory"
-			value      	("OLEFactorySet" 0))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLEFactorySet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"None"
-				value      	0)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Built_in"
-				value      	1)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Simple"
-				value      	2)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Licensed"
-				value      	3)))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLEName"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLEClassID"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateOLECtlType"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLECtlType"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateOLETypeLib"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLETypeLibID"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLETypeLibMajor"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLETypeLibMinor"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GeneratePropPageIDs"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLEPropPageIDs"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateDispatchMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_DISPATCH_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"StockProperties"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"StockFunctions"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DispatchDefValue"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateDispIdEnum"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_DISP_ID_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateInterfaceMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"INTERFACE_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"InitInterface"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateEventMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_EVENT_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_EVENT_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"EVENT_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"StockEvents"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateEventSinkMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_EVENTSINK_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_EVENTSINK_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"EVENTSINK_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"PropNotifySinks"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateConnectionMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"CONNECTION_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"ConnectionPointIID"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"InheritanceType"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DeclSpec"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"OLECommands"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MFCDeclares"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MFCImplements"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"ATL_Declares"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateCOMMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"COM_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateConnectionPointMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"CONNECTION_POINT_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateMsgMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MSG_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GeneratePropertyMap"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"PROPERTY_MAP_Entries"
-			value      	(value Text ""))))
-	    (object Attribute
-		tool       	"MSVC"
-		name       	"default__Operation"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"Type"
-			value      	("MSVCOperationTypeSet" 0))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MSVCOperationTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Normal"
-				value      	0)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Virtual_Override"
-				value      	1)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Message_Handler"
-				value      	2)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Dispatch_Handler"
-				value      	3)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Event_Firing_Function"
-				value      	4)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Event_Sink_Handler"
-				value      	5)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Std_OLE_Method"
-				value      	6)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Command_Parser"
-				value      	7)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Property_Get_Function"
-				value      	8)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Property_Set_Function"
-				value      	9)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Property_Notify_Function"
-				value      	10)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Macro_Generated_Function"
-				value      	11)))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_MSG_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MESSAGE_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_EVENT_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"EVENT_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_EVENTSINK_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"EVENTSINK_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"CallType"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DeclSpec"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"BodyImage"
-			value      	(value Text ""))))
-	    (object Attribute
-		tool       	"MSVC"
-		name       	"default__Role"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"Type"
-			value      	("MSVCAttributeTypeSet" 0))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MSVCAttributeTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Normal"
-				value      	0)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Member_Property"
-				value      	1)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Get_Set_Property"
-				value      	2)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Dialog_Data"
-				value      	3)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Field_Data"
-				value      	4)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Stock_Property"
-				value      	5)))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DeclSpec"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"PointerBase"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"CallType"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"StockPropertyImplementation"
-			value      	"")))
-	    (object Attribute
-		tool       	"MSVC"
-		name       	"default__Has"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"Type"
-			value      	("MSVCAttributeTypeSet" 0))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MSVCAttributeTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Normal"
-				value      	0)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Member_Property"
-				value      	1)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Get_Set_Property"
-				value      	2)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Dialog_Data"
-				value      	3)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Field_Data"
-				value      	4)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Stock_Property"
-				value      	5)))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DeclSpec"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"PointerBase"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"CallType"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"StockPropertyImplementation"
-			value      	"")))
-	    (object Attribute
-		tool       	"MSVC"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"Type"
-			value      	("MSVCAttributeTypeSet" 0))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"MSVCAttributeTypeSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Normal"
-				value      	0)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Member_Property"
-				value      	1)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Get_Set_Property"
-				value      	2)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Dialog_Data"
-				value      	3)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Field_Data"
-				value      	4)
-			    (object Attribute
-				tool       	"MSVC"
-				name       	"Stock_Property"
-				value      	5)))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DISPATCH_MAP_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"DeclSpec"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"PointerBase"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"CallType"
-			value      	"")
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"StockPropertyImplementation"
-			value      	"")))
-	    (object Attribute
-		tool       	"MSVC"
-		name       	"default__Module-Spec"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateIncludesGroup"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_INCLUDES_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateInsertLocation"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"MSVC"
-		name       	"default__Module-Body"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateIncludesGroup"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"AFX_INCLUDES_Entries"
-			value      	(value Text ""))
-		    (object Attribute
-			tool       	"MSVC"
-			name       	"GenerateInsertLocation"
-			value      	FALSE)))
-	    (object Attribute
-		tool       	"cg"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"SCC"
-		name       	"HiddenTool"
-		value      	FALSE))
-	quid       	"355326EE0040"))
+
+(object Petal
+    version    	42
+    _written   	"Rose 4.5.8054.1"
+    charSet    	0)
+
+(object Design "Logical View"
+    is_unit    	TRUE
+    is_loaded  	TRUE
+    defaults   	(object defaults
+	rightMargin 	0.250000
+	leftMargin 	0.250000
+	topMargin  	0.250000
+	bottomMargin 	0.500000
+	pageOverlap 	0.250000
+	clipIconLabels 	TRUE
+	autoResize 	TRUE
+	snapToGrid 	TRUE
+	gridX      	16
+	gridY      	16
+	defaultFont 	(object Font
+	    size       	9
+	    face       	"helvetica"
+	    bold       	FALSE
+	    italics    	FALSE
+	    underline  	FALSE
+	    strike     	FALSE
+	    color      	0
+	    default_color 	TRUE)
+	showMessageNum 	1
+	showClassOfObject 	TRUE
+	notation   	"Booch")
+    root_usecase_package 	(object Class_Category "Use Case View"
+	quid       	"355326EE003D"
+	exportControl 	"Public"
+	global     	TRUE
+	logical_models 	(list unit_reference_list)
+	logical_presentations 	(list unit_reference_list
+	    (object UseCaseDiagram "Main"
+		quid       	"355326F5025B"
+		title      	"Main"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list))))
+    root_category 	(object Class_Category "Logical View"
+	quid       	"355326EE002A"
+	exportControl 	"Public"
+	global     	TRUE
+	subsystem  	"Component View"
+	quidu      	"355326EE003E"
+	logical_models 	(list unit_reference_list
+	    (object Class "CVersitParser"
+		quid       	"3553270E02EC"
+		documentation 	"The base Versit parser class, providing functions to aid parsing a stream into a Versit object, as well as the facility to add properties and sub-entities to an existing object. The key methods are Internalize and Externalize, used to convert to and from stream form."
+		fields     	(list has_relationship_list
+		    (object Has_Relationship
+			quid       	"3553302402E7"
+			supplier   	"Logical View::CParserPropertyHBufC"
+			quidu      	"35532EC801C4"
+			supplier_cardinality 	(value cardinality "0..n"))
+		    (object Has_Relationship
+			quid       	"356EAC060148"
+			label      	"0..n"
+			supplier   	"Logical View::CParserProperty"
+			quidu      	"35532FAE025B"))
+		operations 	(list Operations
+		    (object Operation "InternalizeL"
+			quid       	"3553356B03C6"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "ExternalizeL"
+			quid       	"355335B802EA"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "AddEntityL"
+			quid       	"356E92480020"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "AddPropertyL"
+			quid       	"356E925602FB"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "EntityL"
+			quid       	"356E9265031B"
+			result     	"CArrayPtrFlat<CVersitParser>"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "PropertyL"
+			quid       	"356E9273039D"
+			result     	"CArrayPtrFlat<CParserProperty>"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "GroupOfPropertiesL"
+			quid       	"356E92C403A4"
+			result     	"CArrayPtrFlat<CParserProperty>"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0))
+		language   	"C++")
+	    (object Class "CParserVCard"
+		quid       	"355327CA0301"
+		superclasses 	(list inheritance_relationship_list
+		    (object Inheritance_Relationship
+			quid       	"35532D7202F9"
+			supplier   	"Logical View::CVersitParser"
+			quidu      	"3553270E02EC"))
+		language   	"C++")
+	    (object Class "CParserVCal"
+		quid       	"35532CB10020"
+		fields     	(list has_relationship_list
+		    (object Has_Relationship
+			quid       	"355331AE009F"
+			supplier   	"Logical View::VCalToDoParse"
+			quidu      	"35532D9A0057"
+			supplier_cardinality 	(value cardinality "0..n"))
+		    (object Has_Relationship
+			quid       	"355331D301B0"
+			supplier   	"Logical View::CParserVCalEntity"
+			quidu      	"35532DAE02CD"
+			supplier_cardinality 	(value cardinality "0..n")))
+		superclasses 	(list inheritance_relationship_list
+		    (object Inheritance_Relationship
+			quid       	"35532D6A01AD"
+			supplier   	"Logical View::CVersitParser"
+			quidu      	"3553270E02EC"))
+		language   	"C++")
+	    (object Class "VCalToDoParse"
+		quid       	"35532D9A0057"
+		superclasses 	(list inheritance_relationship_list
+		    (object Inheritance_Relationship
+			quid       	"35532DCF019E"
+			supplier   	"Logical View::CVersitParser"
+			quidu      	"3553270E02EC"))
+		language   	"C++")
+	    (object Class "CParserVCalEntity"
+		quid       	"35532DAE02CD"
+		documentation 	"This class represents a Todo or Event sub-entity within the VCal object"
+		superclasses 	(list inheritance_relationship_list
+		    (object Inheritance_Relationship
+			quid       	"35532DD8029B"
+			supplier   	"Logical View::CVersitParser"
+			quidu      	"3553270E02EC"))
+		language   	"C++")
+	    (object Class "CParserParam"
+		quid       	"35532EA700F4"
+		documentation 	"A generic property parameter class, consisting of a Name and optionally a value, both in descriptor form."
+		operations 	(list Operations
+		    (object Operation "Name"
+			quid       	"356E942C00F8"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "Value"
+			quid       	"356E943102AE"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "WriteValueToStream"
+			quid       	"356E944D02F4"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0))
+		language   	"C++")
+	    (object Class "CParserPropertyHBufC"
+		quid       	"35532EC801C4"
+		superclasses 	(list inheritance_relationship_list
+		    (object Inheritance_Relationship
+			quid       	"3553301D0016"
+			supplier   	"Logical View::CParserProperty"
+			quidu      	"35532FAE025B"))
+		language   	"C++")
+	    (object Class "CVTimeParam"
+		quid       	"35532F2602EC"
+		superclasses 	(list inheritance_relationship_list
+		    (object Inheritance_Relationship
+			quid       	"35532F4100CE"
+			supplier   	"Logical View::CParserParam"
+			quidu      	"35532EA700F4"))
+		language   	"C++")
+	    (object Class "CParserProperty"
+		quid       	"35532FAE025B"
+		documentation 	"The Base property class, corresponding to a property, and storing its name and associated groups and parameters. Subclasses are identified by Uid."
+		operations 	(list Operations
+		    (object Operation "ExternalizeL"
+			quid       	"356EAE71035B"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "Param"
+			quid       	"356EAE8300E0"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "AddParamL"
+			quid       	"356EAE8B0019"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "Group"
+			quid       	"356EAE92013C"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "Uid"
+			quid       	"356EAE950190"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "Name"
+			quid       	"356EAE9C000A"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "SetName"
+			quid       	"356EAEA1007F"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0)
+		    (object Operation "WriteValueToStream"
+			quid       	"356EAEAB028C"
+			concurrency 	"Sequential"
+			opExportControl 	"Public"
+			uid        	0))
+		language   	"C++")
+	    (object Class "CPropertyProperty"
+		quid       	"35532FED0021"
+		superclasses 	(list inheritance_relationship_list
+		    (object Inheritance_Relationship
+			quid       	"3553302001B5"
+			supplier   	"Logical View::CParserPropertyHBufC"
+			quidu      	"35532EC801C4"))
+		language   	"C++")
+	    (object Class "AgendaModelVCalWriter/Reader"
+		quid       	"3556CADC02A2"
+		used_nodes 	(list uses_relationship_list
+		    (object Uses_Relationship
+			quid       	"3556CB2A03B3"
+			supplier   	"Logical View::CParserPropertyHBufC"
+			quidu      	"35532EC801C4")
+		    (object Uses_Relationship
+			quid       	"3556CB4E0382"
+			supplier   	"Logical View::CParserVCal"
+			quidu      	"35532CB10020"))
+		language   	"C++")
+	    (object Class "CVAgendaModelVCalReader"
+		quid       	"3556CB0A008B"
+		language   	"C++")
+	    (object Class "CParserPropertyDateTime"
+		quid       	"356EAC6F029E"
+		superclasses 	(list inheritance_relationship_list
+		    (object Inheritance_Relationship
+			quid       	"356EAC84026C"
+			supplier   	"Logical View::CParserProperty"
+			quidu      	"35532FAE025B"))
+		language   	"C++")
+	    (object Class "CParserPropertyCDesCArray"
+		quid       	"356EAC720049"
+		superclasses 	(list inheritance_relationship_list
+		    (object Inheritance_Relationship
+			quid       	"356EAC7E029F"
+			supplier   	"Logical View::CParserProperty"
+			quidu      	"35532FAE025B"))
+		language   	"C++")
+	    (object Class "CParserPropertyMultiDateTime"
+		quid       	"356EAC790361"
+		superclasses 	(list inheritance_relationship_list
+		    (object Inheritance_Relationship
+			quid       	"356EAC87007C"
+			supplier   	"Logical View::CParserProperty"
+			quidu      	"35532FAE025B"))
+		language   	"C++")
+	    (object Class "CParserPropertyInt"
+		quid       	"356EAE41015D"
+		superclasses 	(list inheritance_relationship_list
+		    (object Inheritance_Relationship
+			quid       	"356EAE460024"
+			supplier   	"Logical View::CParserProperty"
+			quidu      	"35532FAE025B"))
+		language   	"C++")
+	    (object Class "CParserPropertyAlarm"
+		quid       	"356EAE5B001A"
+		superclasses 	(list inheritance_relationship_list
+		    (object Inheritance_Relationship
+			quid       	"356EAE660111"
+			supplier   	"Logical View::CParserProperty"
+			quidu      	"35532FAE025B"))
+		language   	"C++")
+	    (object Class "ContactsApp"
+		quid       	"356EAF280282"
+		used_nodes 	(list uses_relationship_list
+		    (object Uses_Relationship
+			quid       	"356EAF3802B7"
+			supplier   	"Logical View::CParserVCard"
+			quidu      	"355327CA0301"))
+		language   	"C++"))
+	logical_presentations 	(list unit_reference_list
+	    (object ClassDiagram "Main"
+		quid       	"355326F5020A"
+		title      	"Main"
+		zoom       	69
+		max_height 	28350
+		max_width  	21600
+		origin_x   	37
+		origin_y   	0
+		items      	(list diagram_item_list
+		    (object ClassView "Class" "Logical View::CVersitParser" @1
+			IncludeAttribute 	TRUE
+			IncludeOperation 	TRUE
+			location   	(1728, 480)
+			label      	(object ItemLabel
+			    Parent_View 	@1
+			    location   	(1528, 266)
+			    nlines     	2
+			    max_width  	477
+			    justify    	0
+			    label      	"CVersitParser")
+			icon_style 	"Icon"
+			quidu      	"3553270E02EC"
+			compartment 	(object Compartment
+			    Parent_View 	@1
+			    location   	(1528, 329)
+			    icon_style 	"Icon"
+			    anchor     	2
+			    nlines     	9
+			    max_width  	382
+			    justify    	0)
+			width      	692
+			height     	624
+			annotation 	8
+			autoResize 	TRUE)
+		    (object ClassView "Class" "Logical View::CParserVCal" @2
+			IncludeAttribute 	TRUE
+			IncludeOperation 	TRUE
+			location   	(2112, 1312)
+			label      	(object ItemLabel
+			    Parent_View 	@2
+			    location   	(1944, 1228)
+			    nlines     	2
+			    max_width  	396
+			    justify    	0
+			    label      	"CParserVCal")
+			icon_style 	"Icon"
+			quidu      	"35532CB10020"
+			compartment 	(object Compartment
+			    Parent_View 	@2
+			    location   	(1944, 1291)
+			    icon_style 	"Icon"
+			    anchor     	2
+			    nlines     	2
+			    max_width  	312
+			    justify    	0)
+			width      	574
+			annotation 	8
+			autoResize 	TRUE)
+		    (object ClassView "Class" "Logical View::CParserVCard" @3
+			IncludeAttribute 	TRUE
+			IncludeOperation 	TRUE
+			location   	(3088, 832)
+			label      	(object ItemLabel
+			    Parent_View 	@3
+			    location   	(2984, 748)
+			    nlines     	2
+			    max_width  	240
+			    justify    	0
+			    label      	"CParserVCard")
+			icon_style 	"Icon"
+			quidu      	"355327CA0301"
+			annotation 	8
+			autoResize 	TRUE)
+		    (object InheritView "" @4
+			stereotype 	TRUE
+			quidu      	"35532D6A01AD"
+			client     	@2
+			supplier   	@1
+			line_style 	0)
+		    (object InheritView "" @5
+			stereotype 	TRUE
+			quidu      	"35532D7202F9"
+			client     	@3
+			supplier   	@1
+			line_style 	0)
+		    (object ClassView "Class" "Logical View::CParserVCalEntity" @6
+			IncludeAttribute 	TRUE
+			IncludeOperation 	TRUE
+			location   	(2976, 1472)
+			label      	(object ItemLabel
+			    Parent_View 	@6
+			    location   	(2872, 1388)
+			    nlines     	2
+			    max_width  	240
+			    justify    	0
+			    label      	"CParserVCalEntity")
+			icon_style 	"Icon"
+			quidu      	"35532DAE02CD"
+			annotation 	8
+			autoResize 	TRUE)
+		    (object InheritView "" @7
+			stereotype 	TRUE
+			quidu      	"35532DD8029B"
+			client     	@6
+			supplier   	@1
+			line_style 	0)
+		    (object ClassView "Class" "Logical View::CParserParam" @8
+			IncludeAttribute 	TRUE
+			IncludeOperation 	TRUE
+			location   	(416, 208)
+			label      	(object ItemLabel
+			    Parent_View 	@8
+			    location   	(239, 112)
+			    nlines     	2
+			    max_width  	418
+			    justify    	0
+			    label      	"CParserParam")
+			icon_style 	"Icon"
+			quidu      	"35532EA700F4"
+			compartment 	(object Compartment
+			    Parent_View 	@8
+			    location   	(239, 175)
+			    icon_style 	"Icon"
+			    anchor     	2
+			    nlines     	3
+			    max_width  	344
+			    justify    	0)
+			width      	606
+			height     	286
+			annotation 	8
+			autoResize 	TRUE)
+		    (object HasView "" @9
+			stereotype 	TRUE
+			quidu      	"355331D301B0"
+			client     	@2
+			supplier   	@6
+			line_style 	0)
+		    (object ClassView "Class" "Logical View::AgendaModelVCalWriter/Reader" @10
+			IncludeAttribute 	TRUE
+			IncludeOperation 	TRUE
+			location   	(1776, 1776)
+			label      	(object ItemLabel
+			    Parent_View 	@10
+			    location   	(1644, 1692)
+			    nlines     	2
+			    max_width  	310
+			    justify    	0
+			    label      	"AgendaModelVCalWriter/Reader")
+			icon_style 	"Icon"
+			quidu      	"3556CADC02A2"
+			width      	450
+			annotation 	8
+			autoResize 	TRUE)
+		    (object UsesView "" @11
+			stereotype 	TRUE
+			quidu      	"3556CB4E0382"
+			client     	@10
+			supplier   	@2
+			line_style 	0)
+		    (object ClassView "Class" "Logical View::CParserProperty" @12
+			IncludeAttribute 	TRUE
+			IncludeOperation 	TRUE
+			location   	(736, 896)
+			label      	(object ItemLabel
+			    Parent_View 	@12
+			    location   	(555, 701)
+			    nlines     	2
+			    max_width  	430
+			    justify    	0
+			    label      	"CParserProperty")
+			icon_style 	"Icon"
+			quidu      	"35532FAE025B"
+			compartment 	(object Compartment
+			    Parent_View 	@12
+			    location   	(555, 764)
+			    icon_style 	"Icon"
+			    anchor     	2
+			    nlines     	8
+			    max_width  	344
+			    justify    	0)
+			width      	624
+			height     	570
+			annotation 	8
+			autoResize 	TRUE)
+		    (object HasView "0..n" @13
+			label      	(object ItemLabel
+			    Parent_View 	@13
+			    location   	(1282, 660)
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	450
+			    justify    	0
+			    label      	"0..n")
+			stereotype 	TRUE
+			quidu      	"356EAC060148"
+			client     	@1
+			supplier   	@12
+			line_style 	0)
+		    (object ClassView "Class" "Logical View::CParserPropertyHBufC" @14
+			IncludeAttribute 	TRUE
+			IncludeOperation 	TRUE
+			location   	(1296, 1552)
+			label      	(object ItemLabel
+			    Parent_View 	@14
+			    location   	(1186, 1468)
+			    nlines     	2
+			    max_width  	256
+			    justify    	0
+			    label      	"CParserPropertyHBufC")
+			icon_style 	"Icon"
+			quidu      	"35532EC801C4"
+			width      	372
+			annotation 	8
+			autoResize 	TRUE)
+		    (object InheritView "" @15
+			stereotype 	TRUE
+			quidu      	"3553301D0016"
+			client     	@14
+			supplier   	@12
+			line_style 	0)
+		    (object ClassView "Class" "Logical View::CParserPropertyDateTime" @16
+			IncludeAttribute 	TRUE
+			IncludeOperation 	TRUE
+			location   	(704, 1712)
+			label      	(object ItemLabel
+			    Parent_View 	@16
+			    location   	(585, 1628)
+			    nlines     	2
+			    max_width  	278
+			    justify    	0
+			    label      	"CParserPropertyDateTime")
+			icon_style 	"Icon"
+			quidu      	"356EAC6F029E"
+			width      	404
+			annotation 	8
+			autoResize 	TRUE)
+		    (object ClassView "Class" "Logical View::CParserPropertyCDesCArray" @17
+			IncludeAttribute 	TRUE
+			IncludeOperation 	TRUE
+			location   	(240, 1408)
+			label      	(object ItemLabel
+			    Parent_View 	@17
+			    location   	(122, 1324)
+			    nlines     	2
+			    max_width  	274
+			    justify    	0
+			    label      	"CParserPropertyCDesCArray")
+			icon_style 	"Icon"
+			quidu      	"356EAC720049"
+			width      	398
+			annotation 	8
+			autoResize 	TRUE)
+		    (object ClassView "Class" "Logical View::CParserPropertyMultiDateTime" @18
+			IncludeAttribute 	TRUE
+			IncludeOperation 	TRUE
+			location   	(336, 2000)
+			label      	(object ItemLabel
+			    Parent_View 	@18
+			    location   	(220, 1916)
+			    nlines     	2
+			    max_width  	270
+			    justify    	0
+			    label      	"CParserPropertyMultiDateTime")
+			icon_style 	"Icon"
+			quidu      	"356EAC790361"
+			width      	392
+			annotation 	8
+			autoResize 	TRUE)
+		    (object InheritView "" @19
+			stereotype 	TRUE
+			quidu      	"356EAC7E029F"
+			client     	@17
+			supplier   	@12
+			line_style 	0)
+		    (object InheritView "" @20
+			stereotype 	TRUE
+			quidu      	"356EAC84026C"
+			client     	@16
+			supplier   	@12
+			line_style 	0)
+		    (object InheritView "" @21
+			stereotype 	TRUE
+			quidu      	"356EAC87007C"
+			client     	@18
+			supplier   	@12
+			line_style 	0)
+		    (object ClassView "Class" "Logical View::CParserPropertyInt" @22
+			IncludeAttribute 	TRUE
+			IncludeOperation 	TRUE
+			location   	(1280, 1952)
+			label      	(object ItemLabel
+			    Parent_View 	@22
+			    location   	(1176, 1868)
+			    nlines     	2
+			    max_width  	240
+			    justify    	0
+			    label      	"CParserPropertyInt")
+			icon_style 	"Icon"
+			quidu      	"356EAE41015D"
+			annotation 	8
+			autoResize 	TRUE)
+		    (object InheritView "" @23
+			stereotype 	TRUE
+			quidu      	"356EAE460024"
+			client     	@22
+			supplier   	@12
+			line_style 	0)
+		    (object ClassView "Class" "Logical View::CParserPropertyAlarm" @24
+			IncludeAttribute 	TRUE
+			IncludeOperation 	TRUE
+			location   	(1136, 2288)
+			label      	(object ItemLabel
+			    Parent_View 	@24
+			    location   	(1032, 2204)
+			    nlines     	2
+			    max_width  	242
+			    justify    	0
+			    label      	"CParserPropertyAlarm")
+			icon_style 	"Icon"
+			quidu      	"356EAE5B001A"
+			width      	352
+			annotation 	8
+			autoResize 	TRUE)
+		    (object InheritView "" @25
+			stereotype 	TRUE
+			quidu      	"356EAE660111"
+			client     	@24
+			supplier   	@12
+			line_style 	0)
+		    (object ClassView "Class" "Logical View::ContactsApp" @26
+			IncludeAttribute 	TRUE
+			IncludeOperation 	TRUE
+			location   	(3392, 1216)
+			label      	(object ItemLabel
+			    Parent_View 	@26
+			    location   	(3288, 1132)
+			    nlines     	2
+			    max_width  	240
+			    justify    	0
+			    label      	"ContactsApp")
+			icon_style 	"Icon"
+			quidu      	"356EAF280282"
+			annotation 	8
+			autoResize 	TRUE)
+		    (object UsesView "" @27
+			stereotype 	TRUE
+			quidu      	"356EAF3802B7"
+			client     	@26
+			supplier   	@3
+			line_style 	0)))))
+    root_subsystem 	(object SubSystem "Component View"
+	quid       	"355326EE003E"
+	physical_models 	(list unit_reference_list)
+	physical_presentations 	(list unit_reference_list
+	    (object Module_Diagram "Main"
+		quid       	"355326F5025A"
+		title      	"Main"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list))))
+    process_structure 	(object Processes
+	quid       	"355326EE003F"
+	ProcsNDevs 	(list
+	    (object Process_Diagram "Deployment View"
+		quid       	"355326F5019C"
+		title      	"Deployment View"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list))))
+    properties 	(object Properties
+	attributes 	(list Attribute_Set
+	    (object Attribute
+		tool       	"DDL"
+		name       	"propertyId"
+		value      	"809135966")
+	    (object Attribute
+		tool       	"DDL"
+		name       	"default__Project"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"DDL"
+			name       	"DataBase"
+			value      	("DataBaseSet" 800))
+		    (object Attribute
+			tool       	"DDL"
+			name       	"DataBaseSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"DDL"
+				name       	"ANSI"
+				value      	800)
+			    (object Attribute
+				tool       	"DDL"
+				name       	"Oracle"
+				value      	801)
+			    (object Attribute
+				tool       	"DDL"
+				name       	"SQLServer"
+				value      	802)
+			    (object Attribute
+				tool       	"DDL"
+				name       	"Sybase"
+				value      	803)
+			    (object Attribute
+				tool       	"DDL"
+				name       	"Watcom"
+				value      	804)))
+		    (object Attribute
+			tool       	"DDL"
+			name       	"PrimaryKeyColumnName"
+			value      	"Id")
+		    (object Attribute
+			tool       	"DDL"
+			name       	"PrimaryKeyColumnType"
+			value      	"NUMBER(5)")
+		    (object Attribute
+			tool       	"DDL"
+			name       	"ViewName"
+			value      	"V_")
+		    (object Attribute
+			tool       	"DDL"
+			name       	"TableName"
+			value      	"T_")
+		    (object Attribute
+			tool       	"DDL"
+			name       	"InheritSuffix"
+			value      	"_V")
+		    (object Attribute
+			tool       	"DDL"
+			name       	"DropClause"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"DDL"
+			name       	"BaseViews"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"DDL"
+			name       	"DDLScriptFilename"
+			value      	"DDL1.SQL")))
+	    (object Attribute
+		tool       	"DDL"
+		name       	"default__Attribute"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"DDL"
+			name       	"ColumnType"
+			value      	"VARCHAR")
+		    (object Attribute
+			tool       	"DDL"
+			name       	"Length"
+			value      	"")
+		    (object Attribute
+			tool       	"DDL"
+			name       	"NullsOK"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"DDL"
+			name       	"PrimaryKey"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"DDL"
+			name       	"Unique"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"DDL"
+			name       	"CompositeUnique"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"DDL"
+			name       	"CheckConstraint"
+			value      	"")))
+	    (object Attribute
+		tool       	"DDL"
+		name       	"HiddenTool"
+		value      	FALSE)
+	    (object Attribute
+		tool       	"IDL"
+		name       	"propertyId"
+		value      	"809135966")
+	    (object Attribute
+		tool       	"IDL"
+		name       	"default__Project"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"IDL"
+			name       	"CreateMissingDirectories"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"IDL"
+			name       	"StopOnError"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"IDL"
+			name       	"Directory"
+			value      	"AUTO GENERATE")
+		    (object Attribute
+			tool       	"IDL"
+			name       	"GeneratePreserveRegions"
+			value      	TRUE)))
+	    (object Attribute
+		tool       	"IDL"
+		name       	"default__Class"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"IDL"
+			name       	"ImplementationType"
+			value      	"")
+		    (object Attribute
+			tool       	"IDL"
+			name       	"ConstValue"
+			value      	"")
+		    (object Attribute
+			tool       	"IDL"
+			name       	"GenerateDefaultSpecifier"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"IDL"
+			name       	"DefaultSpecifier"
+			value      	"")
+		    (object Attribute
+			tool       	"IDL"
+			name       	"IDLElement"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"IDL"
+			name       	"IDLSpecificationType"
+			value      	("IDLSpecSet" 22))
+		    (object Attribute
+			tool       	"IDL"
+			name       	"IDLSpecSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"IDL"
+				name       	"Interface"
+				value      	22)
+			    (object Attribute
+				tool       	"IDL"
+				name       	"Typedef"
+				value      	54)
+			    (object Attribute
+				tool       	"IDL"
+				name       	"Enumeration"
+				value      	8)
+			    (object Attribute
+				tool       	"IDL"
+				name       	"Const"
+				value      	71)
+			    (object Attribute
+				tool       	"IDL"
+				name       	"Exception"
+				value      	61)
+			    (object Attribute
+				tool       	"IDL"
+				name       	"Struct"
+				value      	51)
+			    (object Attribute
+				tool       	"IDL"
+				name       	"Union"
+				value      	81)))))
+	    (object Attribute
+		tool       	"IDL"
+		name       	"default__Module-Spec"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"IDL"
+			name       	"Generate"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"IDL"
+			name       	"CmIdentification"
+			value      	(value Text "  %X% %Q% %Z% %W%"))
+		    (object Attribute
+			tool       	"IDL"
+			name       	"CopyrightNotice"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"IDL"
+			name       	"FileName"
+			value      	"AUTO GENERATE")
+		    (object Attribute
+			tool       	"IDL"
+			name       	"GenerateIDLModule"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"IDL"
+			name       	"InclusionProtectionSymbol"
+			value      	"AUTO GENERATE")
+		    (object Attribute
+			tool       	"IDL"
+			name       	"AdditionalIncludes"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"IDL"
+			name       	"IncludeBySimpleName"
+			value      	FALSE)))
+	    (object Attribute
+		tool       	"IDL"
+		name       	"default__Module-Body"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"IDL"
+			name       	"CmIdentification"
+			value      	(value Text "  %X% %Q% %Z% %W%"))
+		    (object Attribute
+			tool       	"IDL"
+			name       	"CopyrightNotice"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"IDL"
+			name       	"FileName"
+			value      	"AUTO GENERATE")
+		    (object Attribute
+			tool       	"IDL"
+			name       	"AdditionalIncludes"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"IDL"
+			name       	"IncludeBySimpleName"
+			value      	FALSE)))
+	    (object Attribute
+		tool       	"IDL"
+		name       	"default__Operation"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"IDL"
+			name       	"OperationIsOneWay"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"IDL"
+			name       	"Context"
+			value      	"")
+		    (object Attribute
+			tool       	"IDL"
+			name       	"Raises"
+			value      	"")))
+	    (object Attribute
+		tool       	"IDL"
+		name       	"default__Attribute"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"IDL"
+			name       	"CaseSpecifier"
+			value      	"")
+		    (object Attribute
+			tool       	"IDL"
+			name       	"GenerateDataMember"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"IDL"
+			name       	"DataMemberName"
+			value      	"$relationship")
+		    (object Attribute
+			tool       	"IDL"
+			name       	"IsReadOnly"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"IDL"
+			name       	"IsConst"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"IDL"
+			name       	"ConstValue"
+			value      	"")))
+	    (object Attribute
+		tool       	"IDL"
+		name       	"default__Has"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"IDL"
+			name       	"NameIfUnlabeled"
+			value      	"the_$supplier")
+		    (object Attribute
+			tool       	"IDL"
+			name       	"GenerateDataMember"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"IDL"
+			name       	"DataMemberName"
+			value      	"$relationship")
+		    (object Attribute
+			tool       	"IDL"
+			name       	"GenerateForwardReference"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"IDL"
+			name       	"IsReadOnly"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"IDL"
+			name       	"BoundedHasRelType"
+			value      	("HasRelTypeSet" 47))
+		    (object Attribute
+			tool       	"IDL"
+			name       	"HasRelTypeSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"IDL"
+				name       	"Array"
+				value      	24)
+			    (object Attribute
+				tool       	"IDL"
+				name       	"Sequence"
+				value      	47)))))
+	    (object Attribute
+		tool       	"IDL"
+		name       	"default__Role"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"IDL"
+			name       	"NameIfUnlabeled"
+			value      	"the_$supplier")
+		    (object Attribute
+			tool       	"IDL"
+			name       	"GenerateDataMember"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"IDL"
+			name       	"DataMemberName"
+			value      	"$relationship")
+		    (object Attribute
+			tool       	"IDL"
+			name       	"GenerateForwardReference"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"IDL"
+			name       	"IsReadOnly"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"IDL"
+			name       	"BoundedRoleType"
+			value      	("AssocTypeSet" 47))
+		    (object Attribute
+			tool       	"IDL"
+			name       	"AssocTypeSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"IDL"
+				name       	"Array"
+				value      	24)
+			    (object Attribute
+				tool       	"IDL"
+				name       	"Sequence"
+				value      	47)))))
+	    (object Attribute
+		tool       	"IDL"
+		name       	"default__Uses"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"IDL"
+			name       	"GenerateForwardReference"
+			value      	FALSE)))
+	    (object Attribute
+		tool       	"IDL"
+		name       	"default__Subsystem"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"IDL"
+			name       	"Directory"
+			value      	"AUTO GENERATE")))
+	    (object Attribute
+		tool       	"IDL"
+		name       	"HiddenTool"
+		value      	FALSE)
+	    (object Attribute
+		tool       	"cg"
+		name       	"propertyId"
+		value      	"809135966")
+	    (object Attribute
+		tool       	"cg"
+		name       	"default__Project"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"cg"
+			name       	"UseMSVC"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"HeaderFileExtension"
+			value      	"h")
+		    (object Attribute
+			tool       	"cg"
+			name       	"HeaderFileBackupExtension"
+			value      	"h~")
+		    (object Attribute
+			tool       	"cg"
+			name       	"HeaderFileTemporaryExtension"
+			value      	"h#")
+		    (object Attribute
+			tool       	"cg"
+			name       	"CodeFileExtension"
+			value      	"cpp")
+		    (object Attribute
+			tool       	"cg"
+			name       	"CodeFileBackupExtension"
+			value      	"cp~")
+		    (object Attribute
+			tool       	"cg"
+			name       	"CodeFileTemporaryExtension"
+			value      	"cp#")
+		    (object Attribute
+			tool       	"cg"
+			name       	"CreateMissingDirectories"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"StopOnError"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"ErrorLimit"
+			value      	30)
+		    (object Attribute
+			tool       	"cg"
+			name       	"Directory"
+			value      	"$ROSECPP_SOURCE")
+		    (object Attribute
+			tool       	"cg"
+			name       	"PathSeparator"
+			value      	"")
+		    (object Attribute
+			tool       	"cg"
+			name       	"FileNameFormat"
+			value      	"128vx_b")
+		    (object Attribute
+			tool       	"cg"
+			name       	"BooleanType"
+			value      	"int")
+		    (object Attribute
+			tool       	"cg"
+			name       	"AllowTemplates"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"AllowProtectedInheritance"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"CommentWidth"
+			value      	60)
+		    (object Attribute
+			tool       	"cg"
+			name       	"OneByValueContainer"
+			value      	"$targetClass")
+		    (object Attribute
+			tool       	"cg"
+			name       	"OneByReferenceContainer"
+			value      	"$targetClass *")
+		    (object Attribute
+			tool       	"cg"
+			name       	"OptionalByValueContainer"
+			value      	"OptionalByValue<$targetClass>")
+		    (object Attribute
+			tool       	"cg"
+			name       	"OptionalByReferenceContainer"
+			value      	"$targetClass *")
+		    (object Attribute
+			tool       	"cg"
+			name       	"FixedByValueContainer"
+			value      	"$targetClass[$limit]")
+		    (object Attribute
+			tool       	"cg"
+			name       	"UnorderedFixedByValueContainer"
+			value      	"$targetClass[$limit]")
+		    (object Attribute
+			tool       	"cg"
+			name       	"FixedByReferenceContainer"
+			value      	"$targetClass *[$limit]")
+		    (object Attribute
+			tool       	"cg"
+			name       	"UnorderedFixedByReferenceContainer"
+			value      	"$targetClass *[$limit]")
+		    (object Attribute
+			tool       	"cg"
+			name       	"BoundedByValueContainer"
+			value      	"BoundedListByValue<$targetClass,$limit>")
+		    (object Attribute
+			tool       	"cg"
+			name       	"UnorderedBoundedByValueContainer"
+			value      	"BoundedSetByValue<$targetClass,$limit>")
+		    (object Attribute
+			tool       	"cg"
+			name       	"BoundedByReferenceContainer"
+			value      	"BoundedListByReference<$targetClass,$limit>")
+		    (object Attribute
+			tool       	"cg"
+			name       	"UnorderedBoundedByReferenceContainer"
+			value      	"BoundedSetByReference<$targetClass,$limit>")
+		    (object Attribute
+			tool       	"cg"
+			name       	"UnboundedByValueContainer"
+			value      	"UnboundedListByValue<$targetClass>")
+		    (object Attribute
+			tool       	"cg"
+			name       	"UnorderedUnboundedByValueContainer"
+			value      	"UnboundedSetByValue<$targetClass>")
+		    (object Attribute
+			tool       	"cg"
+			name       	"UnboundedByReferenceContainer"
+			value      	"UnboundedListByReference<$targetClass>")
+		    (object Attribute
+			tool       	"cg"
+			name       	"UnorderedUnboundedByReferenceContainer"
+			value      	"UnboundedSetByReference<$targetClass>")
+		    (object Attribute
+			tool       	"cg"
+			name       	"QualifiedByValueContainer"
+			value      	"AssociationByValue<$qualtype, $qualcont>")
+		    (object Attribute
+			tool       	"cg"
+			name       	"UnorderedQualifiedByValueContainer"
+			value      	"DictionaryByValue<$qualtype, $qualcont>")
+		    (object Attribute
+			tool       	"cg"
+			name       	"QualifiedByReferenceContainer"
+			value      	"AssociationByReference<$qualtype, $qualcont>")
+		    (object Attribute
+			tool       	"cg"
+			name       	"UnorderedQualifiedByReferenceContainer"
+			value      	"DictionaryByReference<$qualtype, $qualcont>")
+		    (object Attribute
+			tool       	"cg"
+			name       	"GeneratePreserveRegions"
+			value      	TRUE)))
+	    (object Attribute
+		tool       	"cg"
+		name       	"default__Class"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"cg"
+			name       	"CodeName"
+			value      	"")
+		    (object Attribute
+			tool       	"cg"
+			name       	"ImplementationType"
+			value      	"")
+		    (object Attribute
+			tool       	"cg"
+			name       	"ClassKey"
+			value      	"class")
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateEmptyRegions"
+			value      	("GenerateEmptyRegionSet" 3))
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateEmptyRegionSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"None"
+				value      	0)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Preserved"
+				value      	1)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Unpreserved"
+				value      	2)
+			    (object Attribute
+				tool       	"cg"
+				name       	"All"
+				value      	3)))
+		    (object Attribute
+			tool       	"cg"
+			name       	"PutBodiesInSpec"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateDefaultConstructor"
+			value      	("GenerateSet" 199))
+		    (object Attribute
+			tool       	"cg"
+			name       	"DefaultConstructorVisibility"
+			value      	("VisibilitySet" 45))
+		    (object Attribute
+			tool       	"cg"
+			name       	"InlineDefaultConstructor"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"ExplicitDefaultConstructor"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateCopyConstructor"
+			value      	("GenerateSet" 199))
+		    (object Attribute
+			tool       	"cg"
+			name       	"CopyConstructorVisibility"
+			value      	("VisibilitySet" 45))
+		    (object Attribute
+			tool       	"cg"
+			name       	"InlineCopyConstructor"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"ExplicitCopyConstructor"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateDestructor"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"DestructorVisibility"
+			value      	("VisibilitySet" 45))
+		    (object Attribute
+			tool       	"cg"
+			name       	"DestructorKind"
+			value      	("ThreeKindSet" 200))
+		    (object Attribute
+			tool       	"cg"
+			name       	"InlineDestructor"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateAssignmentOperation"
+			value      	("GenerateSet" 199))
+		    (object Attribute
+			tool       	"cg"
+			name       	"AssignmentVisibility"
+			value      	("VisibilitySet" 45))
+		    (object Attribute
+			tool       	"cg"
+			name       	"AssignmentKind"
+			value      	("ThreeKindSet" 200))
+		    (object Attribute
+			tool       	"cg"
+			name       	"InlineAssignmentOperation"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateEqualityOperations"
+			value      	("GenerateSet" 199))
+		    (object Attribute
+			tool       	"cg"
+			name       	"EqualityVisibility"
+			value      	("VisibilitySet" 45))
+		    (object Attribute
+			tool       	"cg"
+			name       	"EqualityKind"
+			value      	("FriendKindSet" 200))
+		    (object Attribute
+			tool       	"cg"
+			name       	"InlineEqualityOperations"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateRelationalOperations"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"RelationalVisibility"
+			value      	("VisibilitySet" 45))
+		    (object Attribute
+			tool       	"cg"
+			name       	"RelationalKind"
+			value      	("FriendKindSet" 200))
+		    (object Attribute
+			tool       	"cg"
+			name       	"InlineRelationalOperations"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateStorageMgmtOperations"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"StorageMgmtVisibility"
+			value      	("VisibilitySet" 45))
+		    (object Attribute
+			tool       	"cg"
+			name       	"InlineStorageMgmtOperations"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateSubscriptOperation"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"SubscriptVisibility"
+			value      	("VisibilitySet" 45))
+		    (object Attribute
+			tool       	"cg"
+			name       	"SubscriptKind"
+			value      	("ThreeKindSet" 200))
+		    (object Attribute
+			tool       	"cg"
+			name       	"SubscriptResultType"
+			value      	"")
+		    (object Attribute
+			tool       	"cg"
+			name       	"InlineSubscriptOperation"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateDereferenceOperation"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"DereferenceVisibility"
+			value      	("VisibilitySet" 45))
+		    (object Attribute
+			tool       	"cg"
+			name       	"DereferenceKind"
+			value      	("ThreeKindSet" 200))
+		    (object Attribute
+			tool       	"cg"
+			name       	"DereferenceResultType"
+			value      	"")
+		    (object Attribute
+			tool       	"cg"
+			name       	"InlineDereferenceOperation"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateIndirectionOperation"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"IndirectionVisibility"
+			value      	("VisibilitySet" 45))
+		    (object Attribute
+			tool       	"cg"
+			name       	"IndirectionKind"
+			value      	("ThreeKindSet" 200))
+		    (object Attribute
+			tool       	"cg"
+			name       	"IndirectionResultType"
+			value      	"")
+		    (object Attribute
+			tool       	"cg"
+			name       	"InlineIndirectionOperation"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateStreamOperations"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"StreamVisibility"
+			value      	("VisibilitySet" 45))
+		    (object Attribute
+			tool       	"cg"
+			name       	"InlineStreamOperations"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"ThreeKindSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"Common"
+				value      	200)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Virtual"
+				value      	201)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Abstract"
+				value      	202)))
+		    (object Attribute
+			tool       	"cg"
+			name       	"KindSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"Common"
+				value      	200)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Virtual"
+				value      	201)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Abstract"
+				value      	202)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Static"
+				value      	203)))
+		    (object Attribute
+			tool       	"cg"
+			name       	"FriendKindSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"Common"
+				value      	200)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Virtual"
+				value      	201)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Abstract"
+				value      	202)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Friend"
+				value      	204)))
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"DeclareAndDefine"
+				value      	199)
+			    (object Attribute
+				tool       	"cg"
+				name       	"DeclareOnly"
+				value      	205)
+			    (object Attribute
+				tool       	"cg"
+				name       	"DoNotDeclare"
+				value      	206)))
+		    (object Attribute
+			tool       	"cg"
+			name       	"VisibilitySet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"Public"
+				value      	45)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Protected"
+				value      	44)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Private"
+				value      	43)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Implementation"
+				value      	14)))
+		    (object Attribute
+			tool       	"cg"
+			name       	"ConstValue"
+			value      	"")
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateDefaultSpecifier"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"DefaultSpecifier"
+			value      	"")))
+	    (object Attribute
+		tool       	"cg"
+		name       	"default__Module-Spec"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"cg"
+			name       	"Generate"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateEmptyRegions"
+			value      	("GenerateEmptyRegionSet" 3))
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateEmptyRegionSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"None"
+				value      	0)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Preserved"
+				value      	1)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Unpreserved"
+				value      	2)
+			    (object Attribute
+				tool       	"cg"
+				name       	"All"
+				value      	3)))
+		    (object Attribute
+			tool       	"cg"
+			name       	"CmIdentification"
+			value      	(value Text "  %X% %Q% %Z% %W%"))
+		    (object Attribute
+			tool       	"cg"
+			name       	"CopyrightNotice"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"cg"
+			name       	"FileName"
+			value      	"AUTO GENERATE")
+		    (object Attribute
+			tool       	"cg"
+			name       	"AllowExtensionlessFileName"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"InclusionProtectionSymbol"
+			value      	"AUTO GENERATE")
+		    (object Attribute
+			tool       	"cg"
+			name       	"IncludeFormat"
+			value      	(value Text 
+|// $package
+|#include "$file"
+|
+			))
+		    (object Attribute
+			tool       	"cg"
+			name       	"IncludeBySimpleName"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"IncludePrecompiledHeader"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"IncludeOrder"
+			value      	"AMIR")
+		    (object Attribute
+			tool       	"cg"
+			name       	"AdditionalIncludes"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"cg"
+			name       	"InliningStyle"
+			value      	("InliningStyleSet" 207))
+		    (object Attribute
+			tool       	"cg"
+			name       	"InliningStyleSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"InClassDeclaration"
+				value      	208)
+			    (object Attribute
+				tool       	"cg"
+				name       	"FollowingClassDeclaration"
+				value      	207)))
+		    (object Attribute
+			tool       	"cg"
+			name       	"TypesDefined"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"cg"
+			name       	"IncludeClosure"
+			value      	(value Text ""))))
+	    (object Attribute
+		tool       	"cg"
+		name       	"default__Module-Body"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"cg"
+			name       	"Generate"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateEmptyRegions"
+			value      	("GenerateEmptyRegionSet" 3))
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateEmptyRegionSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"None"
+				value      	0)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Preserved"
+				value      	1)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Unpreserved"
+				value      	2)
+			    (object Attribute
+				tool       	"cg"
+				name       	"All"
+				value      	3)))
+		    (object Attribute
+			tool       	"cg"
+			name       	"CmIdentification"
+			value      	(value Text "  %X% %Q% %Z% %W%"))
+		    (object Attribute
+			tool       	"cg"
+			name       	"CopyrightNotice"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"cg"
+			name       	"FileName"
+			value      	"AUTO GENERATE")
+		    (object Attribute
+			tool       	"cg"
+			name       	"AllowExtensionlessFileName"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"IncludeFormat"
+			value      	(value Text 
+|// $package
+|#include "$file"
+|
+			))
+		    (object Attribute
+			tool       	"cg"
+			name       	"IncludeBySimpleName"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"IncludePrecompiledHeader"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"IncludeOrder"
+			value      	"AMIR")
+		    (object Attribute
+			tool       	"cg"
+			name       	"AdditionalIncludes"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"cg"
+			name       	"InliningStyle"
+			value      	("InliningStyleSet" 207))
+		    (object Attribute
+			tool       	"cg"
+			name       	"InliningStyleSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"InClassDeclaration"
+				value      	208)
+			    (object Attribute
+				tool       	"cg"
+				name       	"FollowingClassDeclaration"
+				value      	207)))
+		    (object Attribute
+			tool       	"cg"
+			name       	"TypesDefined"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"cg"
+			name       	"IncludeClosure"
+			value      	(value Text ""))))
+	    (object Attribute
+		tool       	"cg"
+		name       	"default__Operation"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"cg"
+			name       	"CodeName"
+			value      	"")
+		    (object Attribute
+			tool       	"cg"
+			name       	"OperationKind"
+			value      	("OperationKindSet" 200))
+		    (object Attribute
+			tool       	"cg"
+			name       	"OperationKindSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"Common"
+				value      	200)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Virtual"
+				value      	201)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Abstract"
+				value      	202)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Static"
+				value      	203)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Friend"
+				value      	204)))
+		    (object Attribute
+			tool       	"cg"
+			name       	"OperationIsConst"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"OperationIsExplicit"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"Inline"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"EntryCode"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"cg"
+			name       	"ExitCode"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateEmptyRegions"
+			value      	("GenerateEmptyRegionSet" 3))
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateEmptyRegionSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"None"
+				value      	0)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Preserved"
+				value      	1)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Unpreserved"
+				value      	2)
+			    (object Attribute
+				tool       	"cg"
+				name       	"All"
+				value      	3)))
+		    (object Attribute
+			tool       	"cg"
+			name       	"BodyAnnotations"
+			value      	"")
+		    (object Attribute
+			tool       	"cg"
+			name       	"OperationIsOneWay"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"Context"
+			value      	"")
+		    (object Attribute
+			tool       	"cg"
+			name       	"Raises"
+			value      	"")))
+	    (object Attribute
+		tool       	"cg"
+		name       	"default__Has"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"cg"
+			name       	"CodeName"
+			value      	"")
+		    (object Attribute
+			tool       	"cg"
+			name       	"Ordered"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"NameIfUnlabeled"
+			value      	"the_$supplier")
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateDataMember"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"DataMemberName"
+			value      	"$relationship")
+		    (object Attribute
+			tool       	"cg"
+			name       	"DataMemberVisibility"
+			value      	("DataMemberVisibilitySet" 14))
+		    (object Attribute
+			tool       	"cg"
+			name       	"DataMemberVisibilitySet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"Public"
+				value      	45)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Protected"
+				value      	44)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Private"
+				value      	43)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Implementation"
+				value      	14)
+			    (object Attribute
+				tool       	"cg"
+				name       	"AtRelationshipVisibility"
+				value      	210)))
+		    (object Attribute
+			tool       	"cg"
+			name       	"DataMemberMutability"
+			value      	("DataMemberMutabilitySet" 0))
+		    (object Attribute
+			tool       	"cg"
+			name       	"DataMemberMutabilitySet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"Unrestricted"
+				value      	0)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Mutable"
+				value      	1)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Const"
+				value      	2)))
+		    (object Attribute
+			tool       	"cg"
+			name       	"DataMemberIsVolatile"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"DataMemberFieldSize"
+			value      	"")
+		    (object Attribute
+			tool       	"cg"
+			name       	"InitialValue"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateGetOperation"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateSetOperation"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"GetName"
+			value      	"get_$relationship")
+		    (object Attribute
+			tool       	"cg"
+			name       	"SetName"
+			value      	"set_$relationship")
+		    (object Attribute
+			tool       	"cg"
+			name       	"GetSetKinds"
+			value      	("GetSetKindsSet" 200))
+		    (object Attribute
+			tool       	"cg"
+			name       	"GetSetKindsSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"Common"
+				value      	200)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Virtual"
+				value      	201)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Abstract"
+				value      	202)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Static"
+				value      	203)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Friend"
+				value      	204)))
+		    (object Attribute
+			tool       	"cg"
+			name       	"ContainerClass"
+			value      	"")
+		    (object Attribute
+			tool       	"cg"
+			name       	"SelectorName"
+			value      	"")
+		    (object Attribute
+			tool       	"cg"
+			name       	"SelectorType"
+			value      	"")
+		    (object Attribute
+			tool       	"cg"
+			name       	"GetIsConst"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"GetResultIsConst"
+			value      	("GetResultIsConstSet" 2))
+		    (object Attribute
+			tool       	"cg"
+			name       	"GetResultIsConstSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"False"
+				value      	0)
+			    (object Attribute
+				tool       	"cg"
+				name       	"True"
+				value      	1)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Same_As_Function"
+				value      	2)))
+		    (object Attribute
+			tool       	"cg"
+			name       	"GetSetByReference"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"InlineGet"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"SetReturnsValue"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"InlineSet"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"ForwardReferenceOnly"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateForwardReference"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"IsReadOnly"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"BoundedHasRelType"
+			value      	("HasRelTypeSet" 47))
+		    (object Attribute
+			tool       	"cg"
+			name       	"HasRelTypeSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"Array"
+				value      	24)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Sequence"
+				value      	47)))))
+	    (object Attribute
+		tool       	"cg"
+		name       	"default__Association"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"cg"
+			name       	"NameIfUnlabeled"
+			value      	"the_$targetClass")))
+	    (object Attribute
+		tool       	"cg"
+		name       	"default__Inherit"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"cg"
+			name       	"InstanceArguments"
+			value      	"")))
+	    (object Attribute
+		tool       	"cg"
+		name       	"default__Role"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"cg"
+			name       	"CodeName"
+			value      	"")
+		    (object Attribute
+			tool       	"cg"
+			name       	"ForwardReferenceOnly"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"NameIfUnlabeled"
+			value      	"the_$targetClass")
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateDataMember"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"DataMemberName"
+			value      	"$target")
+		    (object Attribute
+			tool       	"cg"
+			name       	"DataMemberVisibility"
+			value      	("DataMemberVisibilitySet" 14))
+		    (object Attribute
+			tool       	"cg"
+			name       	"DataMemberVisibilitySet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"Public"
+				value      	45)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Protected"
+				value      	44)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Private"
+				value      	43)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Implementation"
+				value      	14)
+			    (object Attribute
+				tool       	"cg"
+				name       	"AtRelationshipVisibility"
+				value      	210)))
+		    (object Attribute
+			tool       	"cg"
+			name       	"DataMemberMutability"
+			value      	("DataMemberMutabilitySet" 0))
+		    (object Attribute
+			tool       	"cg"
+			name       	"DataMemberMutabilitySet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"Unrestricted"
+				value      	0)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Mutable"
+				value      	1)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Const"
+				value      	2)))
+		    (object Attribute
+			tool       	"cg"
+			name       	"DataMemberIsVolatile"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"DataMemberFieldSize"
+			value      	"")
+		    (object Attribute
+			tool       	"cg"
+			name       	"InitialValue"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"cg"
+			name       	"ContainerClass"
+			value      	"")
+		    (object Attribute
+			tool       	"cg"
+			name       	"ContainerGet"
+			value      	"$data.get($keys)")
+		    (object Attribute
+			tool       	"cg"
+			name       	"ContainerSet"
+			value      	"$data.set($keys,$value)")
+		    (object Attribute
+			tool       	"cg"
+			name       	"QualifiedContainer"
+			value      	"")
+		    (object Attribute
+			tool       	"cg"
+			name       	"AssocClassContainer"
+			value      	"$supplier *")
+		    (object Attribute
+			tool       	"cg"
+			name       	"AssocClassInitialValue"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"cg"
+			name       	"GetSetKinds"
+			value      	("GetSetKindsSet" 200))
+		    (object Attribute
+			tool       	"cg"
+			name       	"GetSetKindsSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"Common"
+				value      	200)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Virtual"
+				value      	201)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Abstract"
+				value      	202)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Static"
+				value      	203)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Friend"
+				value      	204)))
+		    (object Attribute
+			tool       	"cg"
+			name       	"GetSetByReference"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateGetOperation"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"GetName"
+			value      	"get_$target")
+		    (object Attribute
+			tool       	"cg"
+			name       	"GetIsConst"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"GetResultIsConst"
+			value      	("GetResultIsConstSet" 2))
+		    (object Attribute
+			tool       	"cg"
+			name       	"GetResultIsConstSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"False"
+				value      	0)
+			    (object Attribute
+				tool       	"cg"
+				name       	"True"
+				value      	1)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Same_As_Function"
+				value      	2)))
+		    (object Attribute
+			tool       	"cg"
+			name       	"InlineGet"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateSetOperation"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"SetName"
+			value      	"set_$target")
+		    (object Attribute
+			tool       	"cg"
+			name       	"SetReturnsValue"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"InlineSet"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"QualifiedGetSetByReference"
+			value      	("QualifiedGetSetByReferenceSet" 2))
+		    (object Attribute
+			tool       	"cg"
+			name       	"QualifiedGetSetByReferenceSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"False"
+				value      	0)
+			    (object Attribute
+				tool       	"cg"
+				name       	"True"
+				value      	1)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Same_As_GetSetByReference"
+				value      	2)))
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateQualifiedGetOperation"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"QualifiedGetName"
+			value      	"get_$target")
+		    (object Attribute
+			tool       	"cg"
+			name       	"QualifiedGetIsConst"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"QualifiedGetResultIsConst"
+			value      	("GetResultIsConstSet" 2))
+		    (object Attribute
+			tool       	"cg"
+			name       	"InlineQualifiedGet"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateQualifiedSetOperation"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"QualifiedSetName"
+			value      	"set_$target")
+		    (object Attribute
+			tool       	"cg"
+			name       	"QualifiedSetReturnsValue"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"InlineQualifiedSet"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateAssocClassDataMember"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"AssocClassDataMemberName"
+			value      	"$target")
+		    (object Attribute
+			tool       	"cg"
+			name       	"AssocClassDataMemberVisibility"
+			value      	("DataMemberVisibilitySet" 14))
+		    (object Attribute
+			tool       	"cg"
+			name       	"DataMemberVisibilitySet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"Public"
+				value      	45)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Protected"
+				value      	44)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Private"
+				value      	43)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Implementation"
+				value      	14)
+			    (object Attribute
+				tool       	"cg"
+				name       	"AtRelationshipVisibility"
+				value      	210)))
+		    (object Attribute
+			tool       	"cg"
+			name       	"AssocClassDataMemberMutability"
+			value      	("DataMemberMutabilitySet" 0))
+		    (object Attribute
+			tool       	"cg"
+			name       	"DataMemberMutabilitySet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"Unrestricted"
+				value      	0)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Mutable"
+				value      	1)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Const"
+				value      	2)))
+		    (object Attribute
+			tool       	"cg"
+			name       	"AssocClassDataMemberIsVolatile"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"AssocClassGetSetKinds"
+			value      	("GetSetKindsSet" 200))
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateAssocClassGetOperation"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"AssocClassGetName"
+			value      	"get_$target")
+		    (object Attribute
+			tool       	"cg"
+			name       	"AssocClassGetIsConst"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"AssocClassGetResultIsConst"
+			value      	("GetResultIsConstSet" 2))
+		    (object Attribute
+			tool       	"cg"
+			name       	"InlineAssocClassGet"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateAssocClassSetOperation"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"AssocClassSetName"
+			value      	"set_$target")
+		    (object Attribute
+			tool       	"cg"
+			name       	"AssocClassSetReturnsValue"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"InlineAssocClassSet"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"AssocClassForwardReferenceOnly"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateForwardReference"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"IsReadOnly"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"BoundedRoleType"
+			value      	("AssocTypeSet" 47))
+		    (object Attribute
+			tool       	"cg"
+			name       	"AssocTypeSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"Array"
+				value      	24)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Sequence"
+				value      	47)))))
+	    (object Attribute
+		tool       	"cg"
+		name       	"default__Attribute"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"cg"
+			name       	"CodeName"
+			value      	"")
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateDataMember"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"DataMemberName"
+			value      	"$attribute")
+		    (object Attribute
+			tool       	"cg"
+			name       	"DataMemberVisibility"
+			value      	("DataMemberVisibilitySet" 14))
+		    (object Attribute
+			tool       	"cg"
+			name       	"DataMemberVisibilitySet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"Public"
+				value      	45)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Protected"
+				value      	44)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Private"
+				value      	43)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Implementation"
+				value      	14)
+			    (object Attribute
+				tool       	"cg"
+				name       	"AtAttributeVisibility"
+				value      	211)))
+		    (object Attribute
+			tool       	"cg"
+			name       	"DataMemberMutability"
+			value      	("DataMemberMutabilitySet" 0))
+		    (object Attribute
+			tool       	"cg"
+			name       	"DataMemberMutabilitySet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"Unrestricted"
+				value      	0)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Mutable"
+				value      	1)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Const"
+				value      	2)))
+		    (object Attribute
+			tool       	"cg"
+			name       	"DataMemberIsVolatile"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"DataMemberFieldSize"
+			value      	"")
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateGetOperation"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateSetOperation"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"GetName"
+			value      	"get_$attribute")
+		    (object Attribute
+			tool       	"cg"
+			name       	"SetName"
+			value      	"set_$attribute")
+		    (object Attribute
+			tool       	"cg"
+			name       	"GetSetKinds"
+			value      	("GetSetKindsSet" 200))
+		    (object Attribute
+			tool       	"cg"
+			name       	"GetSetKindsSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"Common"
+				value      	200)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Virtual"
+				value      	201)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Abstract"
+				value      	202)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Static"
+				value      	203)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Friend"
+				value      	204)))
+		    (object Attribute
+			tool       	"cg"
+			name       	"GetIsConst"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"GetResultIsConst"
+			value      	("GetResultIsConstSet" 2))
+		    (object Attribute
+			tool       	"cg"
+			name       	"GetResultIsConstSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"False"
+				value      	0)
+			    (object Attribute
+				tool       	"cg"
+				name       	"True"
+				value      	1)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Same_As_Function"
+				value      	2)))
+		    (object Attribute
+			tool       	"cg"
+			name       	"GetSetByReference"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"InlineGet"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"SetReturnsValue"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"InlineSet"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"CaseSpecifier"
+			value      	"")
+		    (object Attribute
+			tool       	"cg"
+			name       	"IsReadOnly"
+			value      	FALSE)))
+	    (object Attribute
+		tool       	"cg"
+		name       	"default__Uses"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"cg"
+			name       	"ForwardReferenceOnly"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"BodyReferenceOnly"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateForwardReference"
+			value      	FALSE)))
+	    (object Attribute
+		tool       	"cg"
+		name       	"default__Subsystem"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"cg"
+			name       	"Directory"
+			value      	"AUTO GENERATE")
+		    (object Attribute
+			tool       	"cg"
+			name       	"DirectoryIsOnSearchList"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"PrecompiledHeader"
+			value      	"")))
+	    (object Attribute
+		tool       	"cg"
+		name       	"default__Category"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"cg"
+			name       	"IsNamespace"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"cg"
+			name       	"Indent"
+			value      	2)
+		    (object Attribute
+			tool       	"cg"
+			name       	"CodeName"
+			value      	"")
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateEmptyRegions"
+			value      	("GenerateEmptyRegionSet" 3))
+		    (object Attribute
+			tool       	"cg"
+			name       	"GenerateEmptyRegionSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"cg"
+				name       	"None"
+				value      	0)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Preserved"
+				value      	1)
+			    (object Attribute
+				tool       	"cg"
+				name       	"Unpreserved"
+				value      	2)
+			    (object Attribute
+				tool       	"cg"
+				name       	"All"
+				value      	3)))))
+	    (object Attribute
+		tool       	"MSVC"
+		name       	"propertyId"
+		value      	"809135966")
+	    (object Attribute
+		tool       	"MSVC"
+		name       	"default__Project"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"Version"
+			value      	"5.0")))
+	    (object Attribute
+		tool       	"MSVC"
+		name       	"default__Class"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"Type"
+			value      	("MSVCClassTypeSet" 0))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"MSVCClassTypeSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Normal"
+				value      	0)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Interface_Part"
+				value      	1)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Connection_Part"
+				value      	2)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Class_Factory"
+				value      	3)))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"CObjectFunctionality"
+			value      	("CObjectFunctionalitySet" 0))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"CObjectFunctionalitySet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"None"
+				value      	0)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Dynamic"
+				value      	1)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Dyncreate"
+				value      	2)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Serial"
+				value      	3)))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"GenerateOverrideGroup"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"GenerateDataGroup"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"AFX_DATA_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"GenerateFieldGroup"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"AFX_FIELD_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"GenerateMessageGroup"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"GenerateMessageMap"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"AFX_MSG_MAP_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"MESSAGE_MAP_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"OLEFactory"
+			value      	("OLEFactorySet" 0))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"OLEFactorySet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"None"
+				value      	0)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Built_in"
+				value      	1)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Simple"
+				value      	2)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Licensed"
+				value      	3)))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"OLEName"
+			value      	"")
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"OLEClassID"
+			value      	"")
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"GenerateOLECtlType"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"OLECtlType"
+			value      	"")
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"GenerateOLETypeLib"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"OLETypeLibID"
+			value      	"")
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"OLETypeLibMajor"
+			value      	"")
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"OLETypeLibMinor"
+			value      	"")
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"GeneratePropPageIDs"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"OLEPropPageIDs"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"GenerateDispatchMap"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"AFX_DISPATCH_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"AFX_DISPATCH_MAP_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"DISPATCH_MAP_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"StockProperties"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"StockFunctions"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"DispatchDefValue"
+			value      	"")
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"GenerateDispIdEnum"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"AFX_DISP_ID_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"GenerateInterfaceMap"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"INTERFACE_MAP_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"InitInterface"
+			value      	"")
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"GenerateEventMap"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"AFX_EVENT_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"AFX_EVENT_MAP_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"EVENT_MAP_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"StockEvents"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"GenerateEventSinkMap"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"AFX_EVENTSINK_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"AFX_EVENTSINK_MAP_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"EVENTSINK_MAP_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"PropNotifySinks"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"GenerateConnectionMap"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"CONNECTION_MAP_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"ConnectionPointIID"
+			value      	"")
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"InheritanceType"
+			value      	"")
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"DeclSpec"
+			value      	"")
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"OLECommands"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"MFCDeclares"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"MFCImplements"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"ATL_Declares"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"GenerateCOMMap"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"COM_MAP_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"GenerateConnectionPointMap"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"CONNECTION_POINT_MAP_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"GenerateMsgMap"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"MSG_MAP_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"GeneratePropertyMap"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"PROPERTY_MAP_Entries"
+			value      	(value Text ""))))
+	    (object Attribute
+		tool       	"MSVC"
+		name       	"default__Operation"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"Type"
+			value      	("MSVCOperationTypeSet" 0))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"MSVCOperationTypeSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Normal"
+				value      	0)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Virtual_Override"
+				value      	1)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Message_Handler"
+				value      	2)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Dispatch_Handler"
+				value      	3)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Event_Firing_Function"
+				value      	4)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Event_Sink_Handler"
+				value      	5)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Std_OLE_Method"
+				value      	6)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Command_Parser"
+				value      	7)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Property_Get_Function"
+				value      	8)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Property_Set_Function"
+				value      	9)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Property_Notify_Function"
+				value      	10)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Macro_Generated_Function"
+				value      	11)))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"AFX_MSG_MAP_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"MESSAGE_MAP_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"AFX_DISPATCH_MAP_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"DISPATCH_MAP_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"AFX_EVENT_MAP_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"EVENT_MAP_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"AFX_EVENTSINK_MAP_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"EVENTSINK_MAP_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"CallType"
+			value      	"")
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"DeclSpec"
+			value      	"")
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"BodyImage"
+			value      	(value Text ""))))
+	    (object Attribute
+		tool       	"MSVC"
+		name       	"default__Role"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"Type"
+			value      	("MSVCAttributeTypeSet" 0))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"MSVCAttributeTypeSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Normal"
+				value      	0)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Member_Property"
+				value      	1)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Get_Set_Property"
+				value      	2)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Dialog_Data"
+				value      	3)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Field_Data"
+				value      	4)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Stock_Property"
+				value      	5)))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"AFX_DISPATCH_MAP_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"DISPATCH_MAP_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"DeclSpec"
+			value      	"")
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"PointerBase"
+			value      	"")
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"CallType"
+			value      	"")
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"StockPropertyImplementation"
+			value      	"")))
+	    (object Attribute
+		tool       	"MSVC"
+		name       	"default__Has"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"Type"
+			value      	("MSVCAttributeTypeSet" 0))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"MSVCAttributeTypeSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Normal"
+				value      	0)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Member_Property"
+				value      	1)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Get_Set_Property"
+				value      	2)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Dialog_Data"
+				value      	3)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Field_Data"
+				value      	4)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Stock_Property"
+				value      	5)))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"AFX_DISPATCH_MAP_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"DISPATCH_MAP_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"DeclSpec"
+			value      	"")
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"PointerBase"
+			value      	"")
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"CallType"
+			value      	"")
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"StockPropertyImplementation"
+			value      	"")))
+	    (object Attribute
+		tool       	"MSVC"
+		name       	"default__Attribute"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"Type"
+			value      	("MSVCAttributeTypeSet" 0))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"MSVCAttributeTypeSet"
+			value      	(list Attribute_Set
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Normal"
+				value      	0)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Member_Property"
+				value      	1)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Get_Set_Property"
+				value      	2)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Dialog_Data"
+				value      	3)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Field_Data"
+				value      	4)
+			    (object Attribute
+				tool       	"MSVC"
+				name       	"Stock_Property"
+				value      	5)))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"AFX_DISPATCH_MAP_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"DISPATCH_MAP_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"DeclSpec"
+			value      	"")
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"PointerBase"
+			value      	"")
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"CallType"
+			value      	"")
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"StockPropertyImplementation"
+			value      	"")))
+	    (object Attribute
+		tool       	"MSVC"
+		name       	"default__Module-Spec"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"GenerateIncludesGroup"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"AFX_INCLUDES_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"GenerateInsertLocation"
+			value      	FALSE)))
+	    (object Attribute
+		tool       	"MSVC"
+		name       	"default__Module-Body"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"GenerateIncludesGroup"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"AFX_INCLUDES_Entries"
+			value      	(value Text ""))
+		    (object Attribute
+			tool       	"MSVC"
+			name       	"GenerateInsertLocation"
+			value      	FALSE)))
+	    (object Attribute
+		tool       	"cg"
+		name       	"HiddenTool"
+		value      	FALSE)
+	    (object Attribute
+		tool       	"SCC"
+		name       	"HiddenTool"
+		value      	FALSE))
+	quid       	"355326EE0040"))
--- a/pimappsupport/vcardandvcal/group/BLD.INF	Mon May 03 12:30:32 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,338 +0,0 @@
-// Copyright (c) 1999-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:
-// VCard/vCal converters
-// 
-//
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT WINC
-
-PRJ_EXPORTS
-// specify the source file followed by its destination here
-// copy will be used to copy the source file to its destination
-// If there's no destination then the source file will be copied
-// to the same name in \epoc32\include
-
-../inc/VCAL.H SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(vcal.h)
-../inc/VCAL.INL SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(vcal.inl)
-../inc/VCARD.H SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(vcard.h)
-../inc/VCARD.INL SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(vcard.inl)
-../inc/VERSIT.H SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(versit.h)
-../inc/VERSIT.INL SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(versit.inl)
-../inc/VPROP.H SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(vprop.h)
-../inc/VPROP.INL SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(vprop.inl)
-../inc/VTOKEN.H SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(vtoken.h)
-../inc/VUID.H SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(vuid.h)
-../inc/VRECUR.H SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(vrecur.h)
-../inc/VRECUR.INL SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(vrecur.inl)
-../inc/vstaticutils.h SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(vstaticutils.h)
-../inc/VUTIL.H SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(vutil.h)
-../inc/VersitTls.h SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(versittls.h)
-../inc/VObserv.H SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(vobserv.h)
-#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
-../inc/versitlinereaderext.h SYMBIAN_APP_LAYER_PLATFORM_EXPORT_PATH(versitlinereaderext.h)
-../inc/vpropbinaryfile.h SYMBIAN_APP_LAYER_PLATFORM_EXPORT_PATH(vpropbinaryfile.h)
-../inc/vcard3.h          SYMBIAN_APP_LAYER_PLATFORM_EXPORT_PATH(vcard3.h)
-#endif
-
-./versit.iby		 	/epoc32/rom/include/versit.iby
-./versitrecognizer.iby	/epoc32/rom/include/versitrecognizer.iby
-./versitrecognizer.iby	CORE_APP_LAYER_IBY_EXPORT_PATH(versitrecognizer.iby)
-
-PRJ_MMPFILES
-
-./VERSIT.MMP
-./VCal.MMP
-./VCard.MMP
-#ifndef WINC
-../rec/VersitRecog.mmp
-#endif
-
-PRJ_TESTMMPFILES
-// specify the .mmp files required for building any test programs here
-//
-// you can specify "manual" to denote that a test should be listed in a generated
-// batch file for running a group of tests which require user input during testing.
-// you can specify "support" to denote that a file is a test support file and shouldn't
-// be listed in a batch file for running a group of tests
-// By default, each test will be listed in a batch file for running a group of tests
-// which can be left to run without requiring watching over by the person running the tests,
-// i.e. tests where no user input is required.  The default will apply if neither "manual"
-// or "support" is specified.
-../tsrc/TVERSIT.MMP
-../tsrc/tvgen.mmp
-../tsrc/TCharsetvCard.mmp
-../tsrc/TBugFix.MMP
-../tsrc/toom.mmp
-../tsrc/tPerformance.mmp
-../tsrc/TDefaultCharset.mmp
-../tsrc/Test_saveloadbin.mmp
-../tsrc/Test_saveloadbinoom.mmp
-../Ticket/VTicket.MMP support
-../tsrc/TJapaneseSoundProperty.mmp
-../tsrc/Test_recognizer.mmp
-
-// PREQ1375 Unit tests for PBAPSupport
-../tsrc/UnitTest_PBAPSupport/group/TestExternalize.mmp
-
-
-PRJ_TESTEXPORTS 
-
-../group/VersitTest.iby				/epoc32/rom/include/versittest.iby
-
-// WINSCW UDEB Z
-
-../TestvCards/Encoded/1.vcf				z:/testvcards/encoded/1.vcf
-../TestvCards/Encoded/2.vcf				z:/testvcards/encoded/2.vcf
-../TestvCards/Encoded/3.vcf				z:/testvcards/encoded/3.vcf
-../TestvCards/Encoded/4.vcf				z:/testvcards/encoded/4.vcf
-../TestvCards/Encoded/5.vcf				z:/testvcards/encoded/5.vcf
-../TestvCards/Encoded/6.vcf				z:/testvcards/encoded/6.vcf
-../TestvCards/Encoded/7.vcf				z:/testvcards/encoded/7.vcf
-
-../TestvCards/Epoc/1.vcf				z:/testvcards/epoc/1.vcf
-../TestvCards/Epoc/2.vcf				z:/testvcards/epoc/2.vcf
-../TestvCards/Epoc/3.vcf				z:/testvcards/epoc/3.vcf
-../TestvCards/Epoc/4.vcf				z:/testvcards/epoc/4.vcf
-../TestvCards/Epoc/5.vcf				z:/testvcards/epoc/5.vcf
-../TestvCards/Epoc/6.vcf				z:/testvcards/epoc/6.vcf
-../TestvCards/Epoc/7.vcf				z:/testvcards/epoc/7.vcf
-../TestvCards/Epoc/8.vcf				z:/testvcards/epoc/8.vcf
-
-../TestvCards/ER5Regression/1.vcf		z:/testvcards/er5regression/1.vcf
-../TestvCards/ER5Regression/2.vcf		z:/testvcards/er5regression/2.vcf
-../TestvCards/ER5Regression/3.vcf		z:/testvcards/er5regression/3.vcf
-../TestvCards/ER5Regression/4.vcf		z:/testvcards/er5regression/4.vcf
-../TestvCards/ER5Regression/5.vcf		z:/testvcards/er5regression/5.vcf
-
-../TestvCards/Invalid/1.vcf				z:/testvcards/invalid/1.vcf
-../TestvCards/Invalid/2.vcf				z:/testvcards/invalid/2.vcf
-../TestvCards/Invalid/3.vcf				z:/testvcards/invalid/3.vcf
-../TestvCards/Invalid/4.vcf				z:/testvcards/invalid/4.vcf
-../TestvCards/Invalid/5.vcf				z:/testvcards/invalid/5.vcf
-../TestvCards/Invalid/6.vcf				z:/testvcards/invalid/6.vcf
-../TestvCards/Invalid/7.vcf				z:/testvcards/invalid/7.vcf
-../TestvCards/Invalid/8.vcf				z:/testvcards/invalid/8.vcf
-
-../TestvCards/Various/1.vcf				z:/testvcards/various/1.vcf
-../TestvCards/Various/2.vcf				z:/testvcards/various/2.vcf
-../TestvCards/Various/3.vcf				z:/testvcards/various/3.vcf
-../TestvCards/Various/4.vcf				z:/testvcards/various/4.vcf
-../TestvCards/Various/5.vcf				z:/testvcards/various/5.vcf
-../TestvCards/Various/6.vcf				z:/testvcards/various/6.vcf
-../TestvCards/Various/7.vcf				z:/testvcards/various/7.vcf
-../TestvCards/Various/8.vcf				z:/testvcards/various/8.vcf
-../TestvCards/Various/9.vcf				z:/testvcards/various/9.vcf
-../TestvCards/Various/10.vcf			z:/testvcards/various/10.vcf
-../TestvCards/Various/11.vcf			z:/testvcards/various/11.vcf
-../TestvCards/Various/12.vcf			z:/testvcards/various/12.vcf
-../TestvCards/Various/nulldate.vcf		z:/testvcards/various/nulldate.vcf
-../TestvCards/Various/HugeVCard.vcf		z:/testvcards/various/HugeVCard.vcf
-
-// TBugfix the number of files=82
-../TestvCals/Various/6.vcs				z:/testvcards/various/6.vcs
-../TestFiles/CShJisEs.VCF				z:/testfiles/cshjises.vcf
-../TestFiles/CTabs.VCS					z:/testfiles/ctabs.vcs
-../TestFiles/IShJisEs.VCF				z:/testfiles/ishjises.vcf
-../TestFiles/ITabs.VCS					z:/testfiles/itabs.vcs
-../TestFiles/ITimePer.VCS				z:/testfiles/itimeper.vcs
-../TestFiles/iDalarm.vcs				z:/testfiles/idalarm.vcs
-../TestFiles/cDalarm.vcs				z:/testfiles/cdalarm.vcs
-../TestFiles/IAgent.VCF				    	z:/testfiles/iagent.vcf
-../TestFiles/IBase64.VCF				z:/testfiles/ibase64.vcf
-../TestFiles/IBase64ws.vcf				z:/testfiles/ibase64ws.vcf
-../TestFiles/IDalarm2.VCS				z:/testfiles/idalarm2.vcs
-../TestFiles/IWrap.VCS				    	z:/testfiles/iwrap.vcs
-../TestFiles/CAgent.VCF		    			z:/testfiles/cagent.vcf
-../TestFiles/CBase64.VCF				z:/testfiles/cbase64.vcf
-../TestFiles/CBase64ws.vcf				z:/testfiles/cbase64ws.vcf
-../TestFiles/CDalarm2.VCS				z:/testfiles/cdalarm2.vcs
-../TestFiles/CWrap.VCS			    		z:/testfiles/cwrap.vcs
-../TestFiles/Test5_ASCII_Input.vcf			z:/testfiles/test5_ascii_input.vcf
-../TestFiles/iAsciiLineFolding.vcf			z:/testfiles/iasciilinefolding.vcf
-../TestFiles/cAsciiLineFolding.vcf			z:/testfiles/casciilinefolding.vcf
-../TestFiles/iBase64LineFolding.vcf			z:/testfiles/ibase64linefolding.vcf
-../TestFiles/cBase64LineFolding.VCF			z:/testfiles/cbase64linefolding.vcf
-../TestFiles/cBase64NoSpaceLineFolding.vcf		z:/testfiles/cbase64nospacelinefolding.vcf
-../TestFiles/iQPLineFolding.vcf				z:/testfiles/iqplinefolding.vcf
-../TestFiles/cQPLineFolding.VCF				z:/testfiles/cqplinefolding.vcf
-../TestFiles/iTest7.vcf					z:/testfiles/itest7.vcf
-../TestFiles/iTestVcard.vcf				z:/testfiles/itestvcard.vcf
-../TestFiles/iTestVcal.vcs				z:/testfiles/itestvcal.vcs
-../TestFiles/cTestVCard.vcf				z:/testfiles/ctestvcard.vcf
-../TestFiles/cTestVCal.vcs				z:/testfiles/ctestvcal.vcs
-../TestFiles/iGroupedProperty.vcf			z:/testfiles/igroupedproperty.vcf
-../TestFiles/iTimeZoneN.vcs				z:/testfiles/itimezonen.vcs
-../TestFiles/cTimeZoneN.VCS				z:/testfiles/ctimezonen.vcs
-../TestFiles/iTimeZoneP.vcs				z:/testfiles/itimezonep.vcs
-../TestFiles/cTimeZoneP.VCS				z:/testfiles/ctimezonep.vcs
-../TestFiles/IGBK.VCF					z:/testfiles/igbk.vcf
-../TestFiles/IShiftJis.VCS				z:/testfiles/ishiftjis.vcs
-../TestFiles/CShiftJis.VCS				z:/testfiles/cshiftjis.vcs
-../TestFiles/IvCard.VCF					z:/testfiles/ivcard.vcf
-../TestFiles/CvCard.VCF					z:/testfiles/cvcard.vcf
-../TestFiles/IvCal.VCS					z:/testfiles/ivcal.vcs
-../TestFiles/IRDailyVCal.VCS				z:/testfiles/irdailyvcal.vcs
-../TestFiles/CvCal.VCS					z:/testfiles/cvcal.vcs
-../TestFiles/NoEnd.VCF					z:/testfiles/noend.vcf
-../TestFiles/HalfLine.VCF				z:/testfiles/halfline.vcf
-../TestFiles/Feb29.VCS					z:/testfiles/feb29.vcs
-../TestFiles/EnName1.VCS				z:/testfiles/enname1.vcs
-../TestFiles/EnName2.VCS				z:/testfiles/enname2.vcs
-../TestFiles/EnName3.VCF				z:/testfiles/enname3.vcf
-../TestFiles/EnName4.VCF				z:/testfiles/enname4.vcf
-../TestFiles/Begin2.VCF					z:/testfiles/begin2.vcf
-../TestFiles/Begin3.VCS					z:/testfiles/begin3.vcs
-../TestFiles/End2.VCF					z:/testfiles/end2.vcf
-../TestFiles/IEndBa64.VCS				z:/testfiles/iendba64.vcs
-../TestFiles/CEndBa64.VCS				z:/testfiles/cendba64.vcs
-../TestFiles/CNullPar.VCS	 			z:/testfiles/cnullpar.vcs
-../TestFiles/CTZone.VCS					z:/testfiles/ctzone.vcs
-../TestFiles/CTZone2.VCS	 			z:/testfiles/ctzone2.vcs
-../TestFiles/CWrap2.VCS					z:/testfiles/cwrap2.vcs
-../TestFiles/IESlash.VCF	 			z:/testfiles/ieslash.vcf
-../TestFiles/CESlash.VCF				z:/testfiles/ceslash.vcf
-../TestFiles/INullPar.VCS	 			z:/testfiles/inullpar.vcs
-../TestFiles/ITZone.VCS					z:/testfiles/itzone.vcs
-../TestFiles/ITZone2.VCS	 			z:/testfiles/itzone2.vcs
-../TestFiles/IWrap2.VCS					z:/testfiles/iwrap2.vcs
-../TestFiles/Base64.VCF					z:/testfiles/base64.vcf
-../TestFiles/vCard.VCF					z:/testfiles/vcard.vcf
-../TestFiles/IAutoD.VCF					z:/testfiles/iautod.vcf
-../TestFiles/IAutoD2.VCS				z:/testfiles/iautod2.vcs
-../TestFiles/CAutoD.VCF					z:/testfiles/cautod.vcf
-../TestFiles/CAutoD2.VCS				z:/testfiles/cautod2.vcs
-../TestFiles/IYenEsc1.VCF				z:/testfiles/iyenesc1.vcf
-../TestFiles/IYenEsc2.VCF				z:/testfiles/iyenesc2.vcf
-../TestFiles/IParamE.VCF				z:/testfiles/iparame.vcf
-../TestFiles/CYenEsc1.VCF				z:/testfiles/cyenesc1.vcf
-../TestFiles/CYenEsc2.VCF				z:/testfiles/cyenesc2.vcf
-../TestFiles/CParamE.VCF				z:/testfiles/cparame.vcf
-../TestFiles/IUK.VCS					z:/testfiles/iuk.vcs
-../TestFiles/INewYork.VCS				z:/testfiles/inewyork.vcs
-../TestFiles/IJapan.VCS					z:/testfiles/ijapan.vcs
-../TestFiles/CUK.VCS					z:/testfiles/cuk.vcs
-../TestFiles/CNewYork.VCS				z:/testfiles/cnewyork.vcs
-../TestFiles/CJapan.VCS					z:/testfiles/cjapan.vcs
-../TestFiles/IFred.VCF					z:/testfiles/ifred.vcf
-../TestFiles/iNonStandardAgent.vcf			z:/testfiles/inonstandardagent.vcf
-../TestFiles/cNonStandardAgent.vcf			z:/testfiles/cnonstandardagent.vcf
-../TestFiles/iRRule.vcs					z:/testfiles/irrule.vcs
-../TestFiles/iBlankLines.vcf				z:/testfiles/iblanklines.vcf
-../TestFiles/cBlankLines.VCF				z:/testfiles/cblanklines.vcf
-../TestFiles/iLineFeed.vcs				z:/testfiles/ilinefeed.vcs
-../TestFiles/cLineFeed.VCS				z:/testfiles/clinefeed.vcs
-../TestFiles/IJunkLine.VCS				z:/testfiles/ijunkline.vcs
-../TestFiles/CJunkLine.VCS				z:/testfiles/cjunkline.vcs
-../TestFiles/iattachment.vcs			z:/testfiles/iattachment.vcs
-../TestFiles/cattachment.vcs			z:/testfiles/cattachment.vcs
-../TestFiles/iAlarmRepeatCount.vcs		z:/testfiles/ialarmrepeatcount.vcs
-../TestFiles/DefaultCharSetInput.vcf	z:/testfiles/defaultcharsetinput.vcf
-../TestFiles/inewbase64.vcf				z:/testfiles/inewbase64.vcf
-../TestFiles/inewbase64.vcs				z:/testfiles/inewbase64.vcs
-../TestFiles/ivtrigger.vcf				z:/testfiles/ivtrigger.vcf
-../TestFiles/cnewbase64.VCF				z:/testfiles/cnewbase64.vcf	
-../TestFiles/cnewbase64.VCS				z:/testfiles/cnewbase64.vcs	
-../TestFiles/cvtrigger.VCF				z:/testfiles/cvtrigger.vcf	
-../TestFiles/nolf.vcs					z:/testfiles/nolf.vcs
-../TestFiles/nestedagent.vcf			z:/testfiles/nestedagent.vcf
-
-// TPerformance muber of files=21
-../TPerformance/iLine_short.vcf				z:/tperformance/inputfile/line_short.vcf
-../TPerformance/iLine_photo.vcf				z:/tperformance/inputfile/line_photo.vcf
-../TPerformance/iLine_long.vcf				z:/tperformance/inputfile/line_long.vcf
-../TPerformance/iLine_alarm.vcs				z:/tperformance/inputfile/line_alarm.vcs
-../TPerformance/iFileUTF8_QP.vcf			z:/tperformance/inputfile/fileutf8_qp.vcf
-../TPerformance/iFileUTF8_Base64.vcf			z:/tperformance/inputfile/fileutf8_base64.vcf
-../TPerformance/iFileShiftJIS_QP.vcf			z:/tperformance/inputfile/fileshiftjis_qp.vcf
-../TPerformance/iFileShiftJIS_Base64.vcf		z:/tperformance/inputfile/fileshiftjis_base64.vcf
-../TPerformance/iFileGBK_QP.vcf				z:/tperformance/inputfile/filegbk_qp.vcf
-../TPerformance/iFileGBK_Base64.vcf			z:/tperformance/inputfile/filegbk_base64.vcf
-../TPerformance/iFileASCII_QP.vcf			z:/tperformance/inputfile/fileascii_qp.vcf
-../TPerformance/iFileASCII_None.vcf			z:/tperformance/inputfile/fileascii_none.vcf
-../TPerformance/iFileASCII_Base64.vcf			z:/tperformance/inputfile/fileascii_base64.vcf
-../TPerformance/iFile05entity.vcs			z:/tperformance/inputfile/file05entity.vcs
-../TPerformance/iFile10entity.vcs			z:/tperformance/inputfile/file10entity.vcs
-../TPerformance/iFile15entity.vcs			z:/tperformance/inputfile/file15entity.vcs
-../TPerformance/iFile20entity.vcs			z:/tperformance/inputfile/file20entity.vcs
-../TPerformance/iFile25entity.vcs			z:/tperformance/inputfile/file25entity.vcs
-../TPerformance/iFile30entity.vcs			z:/tperformance/inputfile/file30entity.vcs
-../TPerformance/iFile35entity.vcs			z:/tperformance/inputfile/file35entity.vcs
-../TPerformance/iFile40entity.vcs			z:/tperformance/inputfile/file40entity.vcs
-
-// Shift-JIS and other data files=34
-../TestFiles/K3Data/ITest01.VCF			z:/k3data/itest01.vcf
-../TestFiles/K3Data/ITest02.VCF			z:/k3data/itest02.vcf
-../TestFiles/K3Data/ITest03.VCS			z:/k3data/itest03.vcs
-../TestFiles/K3Data/ITest04.VCF			z:/k3data/itest04.vcf
-../TestFiles/K3Data/ITest05.VCF			z:/k3data/itest05.vcf
-../TestFiles/K3Data/ITest06.VCF			z:/k3data/itest06.vcf
-../TestFiles/K3Data/ITest07.VCF			z:/k3data/itest07.vcf
-../TestFiles/K3Data/ITest08.VCF			z:/k3data/itest08.vcf
-../TestFiles/K3Data/ITest09.VCF			z:/k3data/itest09.vcf
-../TestFiles/K3Data/ITest10.VCF			z:/k3data/itest10.vcf
-../TestFiles/K3Data/ITest11.VCF			z:/k3data/itest11.vcf
-../TestFiles/K3Data/STest01.VCF			z:/k3data/stest01.vcf
-../TestFiles/K3Data/STest02.VCF			z:/k3data/stest02.vcf
-../TestFiles/K3Data/STest03.VCS			z:/k3data/stest03.vcs
-../TestFiles/K3Data/STest04.VCF			z:/k3data/stest04.vcf
-../TestFiles/K3Data/STest05.VCF			z:/k3data/stest05.vcf
-../TestFiles/K3Data/STest06.VCF			z:/k3data/stest06.vcf
-../TestFiles/K3Data/STest07.VCF			z:/k3data/stest07.vcf
-../TestFiles/K3Data/STest08.VCF			z:/k3data/stest08.vcf
-../TestFiles/K3Data/STest09.VCF			z:/k3data/stest09.vcf
-../TestFiles/K3Data/STest10.VCF			z:/k3data/stest10.vcf
-../TestFiles/K3Data/STest11.VCF			z:/k3data/stest11.vcf
-
-// Japanese SOUND vCard test files (WINSCW UDEB)
-../TestvCards/VersitJapaneseVCards/amano.vcf		           	z:/versitjapanesevcards/amano.vcf
-../TestvCards/VersitJapaneseVCards/aoki.vcf		            	z:/versitjapanesevcards/aoki.vcf
-../TestvCards/VersitJapaneseVCards/barbara.vcf		        	z:/versitjapanesevcards/barbara.vcf
-../TestvCards/VersitJapaneseVCards/Digit1.vcf		        	z:/versitjapanesevcards/digit1.vcf
-../TestvCards/VersitJapaneseVCards/Digit2.vcf		        	z:/versitjapanesevcards/digit2.vcf
-../TestvCards/VersitJapaneseVCards/haga.vcf			            z:/versitjapanesevcards/haga.vcf
-../TestvCards/VersitJapaneseVCards/kasai.vcf			        z:/versitjapanesevcards/kasai.vcf
-../TestvCards/VersitJapaneseVCards/kitajima.vcf		        	z:/versitjapanesevcards/kitajima.vcf
-../TestvCards/VersitJapaneseVCards/Longest.vcf		        	z:/versitjapanesevcards/longest.vcf
-../TestvCards/VersitJapaneseVCards/matsui.vcf		        	z:/versitjapanesevcards/matsui.vcf
-../TestvCards/VersitJapaneseVCards/miyazaki.vcf		        	z:/versitjapanesevcards/miyazaki.vcf
-../TestvCards/VersitJapaneseVCards/nakai.vcf			        z:/versitjapanesevcards/nakai.vcf
-../TestvCards/VersitJapaneseVCards/powell.vcf			        z:/versitjapanesevcards/powell.vcf
-../TestvCards/VersitJapaneseVCards/prolongedsound.vcf			z:/versitjapanesevcards/prolongedsound.vcf
-../TestvCards/VersitJapaneseVCards/SpecialCharacter1.vcf	    z:/versitjapanesevcards/specialcharacter1.vcf
-../TestvCards/VersitJapaneseVCards/SpecialCharacter2.vcf		z:/versitjapanesevcards/specialcharacter2.vcf
-../TestvCards/VersitJapaneseVCards/takashiro.vcf		        z:/versitjapanesevcards/takashiro.vcf
-../TestvCards/VersitJapaneseVCards/escaped.vcf		            z:/versitjapanesevcards/escaped.vcf
-../TestvCards/VersitJapaneseVCards/Multiplesounds.vcf		    z:/versitjapanesevcards/multiplesounds.vcf
-
-// PREQ1375 Unit testdata for PBAPSupport
-../tsrc/UnitTest_PBAPSupport/testdata/CBase64LineFolding.vcf			z:/pbapsupport/cbase64linefolding.vcf
-../tsrc/UnitTest_PBAPSupport/testdata/CBinaryEncoding.vcf				z:/pbapsupport/cbinaryencoding.vcf
-../tsrc/UnitTest_PBAPSupport/testdata/CDisableCharset.vcf				z:/pbapsupport/cdisablecharset.vcf
-../tsrc/UnitTest_PBAPSupport/testdata/CEscapeBackslash.vcf				z:/pbapsupport/cescapebackslash.vcf
-../tsrc/UnitTest_PBAPSupport/testdata/CEscapeComma.vcf					z:/pbapsupport/cescapecomma.vcf
-../tsrc/UnitTest_PBAPSupport/testdata/CEscapeSemicolon.vcf				z:/pbapsupport/cescapesemicolon.vcf
-../tsrc/UnitTest_PBAPSupport/testdata/CLongPropertyName.vcf				z:/pbapsupport/clongpropertyname.vcf
-../tsrc/UnitTest_PBAPSupport/testdata/CLongPropertyParam.vcf			z:/pbapsupport/clongpropertyparam.vcf
-../tsrc/UnitTest_PBAPSupport/testdata/CLongPropertyValue.vcf			z:/pbapsupport/clongpropertyvalue.vcf
-../tsrc/UnitTest_PBAPSupport/testdata/CQPEncodingTest1.vcf				z:/pbapsupport/cqpencodingtest1.vcf
-../tsrc/UnitTest_PBAPSupport/testdata/CQPEncodingTest2.vcf				z:/pbapsupport/cqpencodingtest2.vcf
-../tsrc/UnitTest_PBAPSupport/testdata/CShortAsciiLine.vcf				z:/pbapsupport/cshortasciiline.vcf
-../tsrc/UnitTest_PBAPSupport/testdata/CUseUTF8.vcf						z:/pbapsupport/cuseutf8.vcf
-../tsrc/UnitTest_PBAPSupport/testdata/IBase64LineFolding.vcf			z:/pbapsupport/ibase64linefolding.vcf
-
-
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pimappsupport/vcardandvcal/group/bld.inf	Mon Jun 28 15:22:02 2010 +0530
@@ -0,0 +1,338 @@
+// Copyright (c) 1999-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:
+// VCard/vCal converters
+// 
+//
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT WINC
+
+PRJ_EXPORTS
+// specify the source file followed by its destination here
+// copy will be used to copy the source file to its destination
+// If there's no destination then the source file will be copied
+// to the same name in \epoc32\include
+
+../inc/VCAL.H SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(vcal.h)
+../inc/VCAL.INL SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(vcal.inl)
+../inc/VCARD.H SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(vcard.h)
+../inc/VCARD.INL SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(vcard.inl)
+../inc/VERSIT.H SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(versit.h)
+../inc/VERSIT.INL SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(versit.inl)
+../inc/VPROP.H SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(vprop.h)
+../inc/VPROP.INL SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(vprop.inl)
+../inc/VTOKEN.H SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(vtoken.h)
+../inc/VUID.H SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(vuid.h)
+../inc/VRECUR.H SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(vrecur.h)
+../inc/VRECUR.INL SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(vrecur.inl)
+../inc/vstaticutils.h SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(vstaticutils.h)
+../inc/VUTIL.H SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(vutil.h)
+../inc/VersitTls.h SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(versittls.h)
+../inc/VObserv.H SYMBIAN_APP_LAYER_PUBLIC_EXPORT_PATH(vobserv.h)
+#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
+../inc/versitlinereaderext.h SYMBIAN_APP_LAYER_PLATFORM_EXPORT_PATH(versitlinereaderext.h)
+../inc/vpropbinaryfile.h SYMBIAN_APP_LAYER_PLATFORM_EXPORT_PATH(vpropbinaryfile.h)
+../inc/vcard3.h          SYMBIAN_APP_LAYER_PLATFORM_EXPORT_PATH(vcard3.h)
+#endif
+
+./versit.iby		 	/epoc32/rom/include/versit.iby
+./versitrecognizer.iby	/epoc32/rom/include/versitrecognizer.iby
+./versitrecognizer.iby	CORE_APP_LAYER_IBY_EXPORT_PATH(versitrecognizer.iby)
+
+PRJ_MMPFILES
+
+./VERSIT.MMP
+./VCal.MMP
+./VCard.MMP
+#ifndef WINC
+../rec/VersitRecog.mmp
+#endif
+
+PRJ_TESTMMPFILES
+// specify the .mmp files required for building any test programs here
+//
+// you can specify "manual" to denote that a test should be listed in a generated
+// batch file for running a group of tests which require user input during testing.
+// you can specify "support" to denote that a file is a test support file and shouldn't
+// be listed in a batch file for running a group of tests
+// By default, each test will be listed in a batch file for running a group of tests
+// which can be left to run without requiring watching over by the person running the tests,
+// i.e. tests where no user input is required.  The default will apply if neither "manual"
+// or "support" is specified.
+../tsrc/TVERSIT.MMP
+../tsrc/tvgen.mmp
+../tsrc/TCharsetvCard.mmp
+../tsrc/TBugFix.MMP
+../tsrc/toom.mmp
+../tsrc/tPerformance.mmp
+../tsrc/TDefaultCharset.mmp
+../tsrc/Test_saveloadbin.mmp
+../tsrc/Test_saveloadbinoom.mmp
+../Ticket/VTicket.MMP support
+../tsrc/TJapaneseSoundProperty.mmp
+../tsrc/Test_recognizer.mmp
+
+// PREQ1375 Unit tests for PBAPSupport
+../tsrc/UnitTest_PBAPSupport/group/TestExternalize.mmp
+
+
+PRJ_TESTEXPORTS 
+
+../group/VersitTest.iby				/epoc32/rom/include/versittest.iby
+
+// WINSCW UDEB Z
+
+../TestvCards/Encoded/1.vcf				z:/testvcards/encoded/1.vcf
+../TestvCards/Encoded/2.vcf				z:/testvcards/encoded/2.vcf
+../TestvCards/Encoded/3.vcf				z:/testvcards/encoded/3.vcf
+../TestvCards/Encoded/4.vcf				z:/testvcards/encoded/4.vcf
+../TestvCards/Encoded/5.vcf				z:/testvcards/encoded/5.vcf
+../TestvCards/Encoded/6.vcf				z:/testvcards/encoded/6.vcf
+../TestvCards/Encoded/7.vcf				z:/testvcards/encoded/7.vcf
+
+../TestvCards/Epoc/1.vcf				z:/testvcards/epoc/1.vcf
+../TestvCards/Epoc/2.vcf				z:/testvcards/epoc/2.vcf
+../TestvCards/Epoc/3.vcf				z:/testvcards/epoc/3.vcf
+../TestvCards/Epoc/4.vcf				z:/testvcards/epoc/4.vcf
+../TestvCards/Epoc/5.vcf				z:/testvcards/epoc/5.vcf
+../TestvCards/Epoc/6.vcf				z:/testvcards/epoc/6.vcf
+../TestvCards/Epoc/7.vcf				z:/testvcards/epoc/7.vcf
+../TestvCards/Epoc/8.vcf				z:/testvcards/epoc/8.vcf
+
+../TestvCards/ER5Regression/1.vcf		z:/testvcards/er5regression/1.vcf
+../TestvCards/ER5Regression/2.vcf		z:/testvcards/er5regression/2.vcf
+../TestvCards/ER5Regression/3.vcf		z:/testvcards/er5regression/3.vcf
+../TestvCards/ER5Regression/4.vcf		z:/testvcards/er5regression/4.vcf
+../TestvCards/ER5Regression/5.vcf		z:/testvcards/er5regression/5.vcf
+
+../TestvCards/Invalid/1.vcf				z:/testvcards/invalid/1.vcf
+../TestvCards/Invalid/2.vcf				z:/testvcards/invalid/2.vcf
+../TestvCards/Invalid/3.vcf				z:/testvcards/invalid/3.vcf
+../TestvCards/Invalid/4.vcf				z:/testvcards/invalid/4.vcf
+../TestvCards/Invalid/5.vcf				z:/testvcards/invalid/5.vcf
+../TestvCards/Invalid/6.vcf				z:/testvcards/invalid/6.vcf
+../TestvCards/Invalid/7.vcf				z:/testvcards/invalid/7.vcf
+../TestvCards/Invalid/8.vcf				z:/testvcards/invalid/8.vcf
+
+../TestvCards/Various/1.vcf				z:/testvcards/various/1.vcf
+../TestvCards/Various/2.vcf				z:/testvcards/various/2.vcf
+../TestvCards/Various/3.vcf				z:/testvcards/various/3.vcf
+../TestvCards/Various/4.vcf				z:/testvcards/various/4.vcf
+../TestvCards/Various/5.vcf				z:/testvcards/various/5.vcf
+../TestvCards/Various/6.vcf				z:/testvcards/various/6.vcf
+../TestvCards/Various/7.vcf				z:/testvcards/various/7.vcf
+../TestvCards/Various/8.vcf				z:/testvcards/various/8.vcf
+../TestvCards/Various/9.vcf				z:/testvcards/various/9.vcf
+../TestvCards/Various/10.vcf			z:/testvcards/various/10.vcf
+../TestvCards/Various/11.vcf			z:/testvcards/various/11.vcf
+../TestvCards/Various/12.vcf			z:/testvcards/various/12.vcf
+../TestvCards/Various/nulldate.vcf		z:/testvcards/various/nulldate.vcf
+../TestvCards/Various/HugeVCard.vcf		z:/testvcards/various/HugeVCard.vcf
+
+// TBugfix the number of files=82
+../TestvCals/Various/6.vcs				z:/testvcards/various/6.vcs
+../TestFiles/CShJisEs.VCF				z:/testfiles/cshjises.vcf
+../TestFiles/CTabs.VCS					z:/testfiles/ctabs.vcs
+../TestFiles/IShJisEs.VCF				z:/testfiles/ishjises.vcf
+../TestFiles/ITabs.VCS					z:/testfiles/itabs.vcs
+../TestFiles/ITimePer.VCS				z:/testfiles/itimeper.vcs
+../TestFiles/iDalarm.vcs				z:/testfiles/idalarm.vcs
+../TestFiles/cDalarm.vcs				z:/testfiles/cdalarm.vcs
+../TestFiles/IAgent.VCF				    	z:/testfiles/iagent.vcf
+../TestFiles/IBase64.VCF				z:/testfiles/ibase64.vcf
+../TestFiles/IBase64ws.vcf				z:/testfiles/ibase64ws.vcf
+../TestFiles/IDalarm2.VCS				z:/testfiles/idalarm2.vcs
+../TestFiles/IWrap.VCS				    	z:/testfiles/iwrap.vcs
+../TestFiles/CAgent.VCF		    			z:/testfiles/cagent.vcf
+../TestFiles/CBase64.VCF				z:/testfiles/cbase64.vcf
+../TestFiles/CBase64ws.vcf				z:/testfiles/cbase64ws.vcf
+../TestFiles/CDalarm2.VCS				z:/testfiles/cdalarm2.vcs
+../TestFiles/CWrap.VCS			    		z:/testfiles/cwrap.vcs
+../TestFiles/Test5_ASCII_Input.vcf			z:/testfiles/test5_ascii_input.vcf
+../TestFiles/iAsciiLineFolding.vcf			z:/testfiles/iasciilinefolding.vcf
+../TestFiles/cAsciiLineFolding.vcf			z:/testfiles/casciilinefolding.vcf
+../TestFiles/iBase64LineFolding.vcf			z:/testfiles/ibase64linefolding.vcf
+../TestFiles/cBase64LineFolding.VCF			z:/testfiles/cbase64linefolding.vcf
+../TestFiles/cBase64NoSpaceLineFolding.vcf		z:/testfiles/cbase64nospacelinefolding.vcf
+../TestFiles/iQPLineFolding.vcf				z:/testfiles/iqplinefolding.vcf
+../TestFiles/cQPLineFolding.VCF				z:/testfiles/cqplinefolding.vcf
+../TestFiles/iTest7.vcf					z:/testfiles/itest7.vcf
+../TestFiles/iTestVcard.vcf				z:/testfiles/itestvcard.vcf
+../TestFiles/iTestVcal.vcs				z:/testfiles/itestvcal.vcs
+../TestFiles/cTestVCard.vcf				z:/testfiles/ctestvcard.vcf
+../TestFiles/cTestVCal.vcs				z:/testfiles/ctestvcal.vcs
+../TestFiles/iGroupedProperty.vcf			z:/testfiles/igroupedproperty.vcf
+../TestFiles/iTimeZoneN.vcs				z:/testfiles/itimezonen.vcs
+../TestFiles/cTimeZoneN.VCS				z:/testfiles/ctimezonen.vcs
+../TestFiles/iTimeZoneP.vcs				z:/testfiles/itimezonep.vcs
+../TestFiles/cTimeZoneP.VCS				z:/testfiles/ctimezonep.vcs
+../TestFiles/IGBK.VCF					z:/testfiles/igbk.vcf
+../TestFiles/IShiftJis.VCS				z:/testfiles/ishiftjis.vcs
+../TestFiles/CShiftJis.VCS				z:/testfiles/cshiftjis.vcs
+../TestFiles/IvCard.VCF					z:/testfiles/ivcard.vcf
+../TestFiles/CvCard.VCF					z:/testfiles/cvcard.vcf
+../TestFiles/IvCal.VCS					z:/testfiles/ivcal.vcs
+../TestFiles/IRDailyVCal.VCS				z:/testfiles/irdailyvcal.vcs
+../TestFiles/CvCal.VCS					z:/testfiles/cvcal.vcs
+../TestFiles/NoEnd.VCF					z:/testfiles/noend.vcf
+../TestFiles/HalfLine.VCF				z:/testfiles/halfline.vcf
+../TestFiles/Feb29.VCS					z:/testfiles/feb29.vcs
+../TestFiles/EnName1.VCS				z:/testfiles/enname1.vcs
+../TestFiles/EnName2.VCS				z:/testfiles/enname2.vcs
+../TestFiles/EnName3.VCF				z:/testfiles/enname3.vcf
+../TestFiles/EnName4.VCF				z:/testfiles/enname4.vcf
+../TestFiles/Begin2.VCF					z:/testfiles/begin2.vcf
+../TestFiles/Begin3.VCS					z:/testfiles/begin3.vcs
+../TestFiles/End2.VCF					z:/testfiles/end2.vcf
+../TestFiles/IEndBa64.VCS				z:/testfiles/iendba64.vcs
+../TestFiles/CEndBa64.VCS				z:/testfiles/cendba64.vcs
+../TestFiles/CNullPar.VCS	 			z:/testfiles/cnullpar.vcs
+../TestFiles/CTZone.VCS					z:/testfiles/ctzone.vcs
+../TestFiles/CTZone2.VCS	 			z:/testfiles/ctzone2.vcs
+../TestFiles/CWrap2.VCS					z:/testfiles/cwrap2.vcs
+../TestFiles/IESlash.VCF	 			z:/testfiles/ieslash.vcf
+../TestFiles/CESlash.VCF				z:/testfiles/ceslash.vcf
+../TestFiles/INullPar.VCS	 			z:/testfiles/inullpar.vcs
+../TestFiles/ITZone.VCS					z:/testfiles/itzone.vcs
+../TestFiles/ITZone2.VCS	 			z:/testfiles/itzone2.vcs
+../TestFiles/IWrap2.VCS					z:/testfiles/iwrap2.vcs
+../TestFiles/Base64.VCF					z:/testfiles/base64.vcf
+../TestFiles/vCard.VCF					z:/testfiles/vcard.vcf
+../TestFiles/IAutoD.VCF					z:/testfiles/iautod.vcf
+../TestFiles/IAutoD2.VCS				z:/testfiles/iautod2.vcs
+../TestFiles/CAutoD.VCF					z:/testfiles/cautod.vcf
+../TestFiles/CAutoD2.VCS				z:/testfiles/cautod2.vcs
+../TestFiles/IYenEsc1.VCF				z:/testfiles/iyenesc1.vcf
+../TestFiles/IYenEsc2.VCF				z:/testfiles/iyenesc2.vcf
+../TestFiles/IParamE.VCF				z:/testfiles/iparame.vcf
+../TestFiles/CYenEsc1.VCF				z:/testfiles/cyenesc1.vcf
+../TestFiles/CYenEsc2.VCF				z:/testfiles/cyenesc2.vcf
+../TestFiles/CParamE.VCF				z:/testfiles/cparame.vcf
+../TestFiles/IUK.VCS					z:/testfiles/iuk.vcs
+../TestFiles/INewYork.VCS				z:/testfiles/inewyork.vcs
+../TestFiles/IJapan.VCS					z:/testfiles/ijapan.vcs
+../TestFiles/CUK.VCS					z:/testfiles/cuk.vcs
+../TestFiles/CNewYork.VCS				z:/testfiles/cnewyork.vcs
+../TestFiles/CJapan.VCS					z:/testfiles/cjapan.vcs
+../TestFiles/IFred.VCF					z:/testfiles/ifred.vcf
+../TestFiles/iNonStandardAgent.vcf			z:/testfiles/inonstandardagent.vcf
+../TestFiles/cNonStandardAgent.vcf			z:/testfiles/cnonstandardagent.vcf
+../TestFiles/iRRule.vcs					z:/testfiles/irrule.vcs
+../TestFiles/iBlankLines.vcf				z:/testfiles/iblanklines.vcf
+../TestFiles/cBlankLines.VCF				z:/testfiles/cblanklines.vcf
+../TestFiles/iLineFeed.vcs				z:/testfiles/ilinefeed.vcs
+../TestFiles/cLineFeed.VCS				z:/testfiles/clinefeed.vcs
+../TestFiles/IJunkLine.VCS				z:/testfiles/ijunkline.vcs
+../TestFiles/CJunkLine.VCS				z:/testfiles/cjunkline.vcs
+../TestFiles/iattachment.vcs			z:/testfiles/iattachment.vcs
+../TestFiles/cattachment.vcs			z:/testfiles/cattachment.vcs
+../TestFiles/iAlarmRepeatCount.vcs		z:/testfiles/ialarmrepeatcount.vcs
+../TestFiles/DefaultCharSetInput.vcf	z:/testfiles/defaultcharsetinput.vcf
+../TestFiles/inewbase64.vcf				z:/testfiles/inewbase64.vcf
+../TestFiles/inewbase64.vcs				z:/testfiles/inewbase64.vcs
+../TestFiles/ivtrigger.vcf				z:/testfiles/ivtrigger.vcf
+../TestFiles/cnewbase64.VCF				z:/testfiles/cnewbase64.vcf	
+../TestFiles/cnewbase64.VCS				z:/testfiles/cnewbase64.vcs	
+../TestFiles/cvtrigger.VCF				z:/testfiles/cvtrigger.vcf	
+../TestFiles/nolf.vcs					z:/testfiles/nolf.vcs
+../TestFiles/nestedagent.vcf			z:/testfiles/nestedagent.vcf
+
+// TPerformance muber of files=21
+../TPerformance/iLine_short.vcf				z:/tperformance/inputfile/line_short.vcf
+../TPerformance/iLine_photo.vcf				z:/tperformance/inputfile/line_photo.vcf
+../TPerformance/iLine_long.vcf				z:/tperformance/inputfile/line_long.vcf
+../TPerformance/iLine_alarm.vcs				z:/tperformance/inputfile/line_alarm.vcs
+../TPerformance/iFileUTF8_QP.vcf			z:/tperformance/inputfile/fileutf8_qp.vcf
+../TPerformance/iFileUTF8_Base64.vcf			z:/tperformance/inputfile/fileutf8_base64.vcf
+../TPerformance/iFileShiftJIS_QP.vcf			z:/tperformance/inputfile/fileshiftjis_qp.vcf
+../TPerformance/iFileShiftJIS_Base64.vcf		z:/tperformance/inputfile/fileshiftjis_base64.vcf
+../TPerformance/iFileGBK_QP.vcf				z:/tperformance/inputfile/filegbk_qp.vcf
+../TPerformance/iFileGBK_Base64.vcf			z:/tperformance/inputfile/filegbk_base64.vcf
+../TPerformance/iFileASCII_QP.vcf			z:/tperformance/inputfile/fileascii_qp.vcf
+../TPerformance/iFileASCII_None.vcf			z:/tperformance/inputfile/fileascii_none.vcf
+../TPerformance/iFileASCII_Base64.vcf			z:/tperformance/inputfile/fileascii_base64.vcf
+../TPerformance/iFile05entity.vcs			z:/tperformance/inputfile/file05entity.vcs
+../TPerformance/iFile10entity.vcs			z:/tperformance/inputfile/file10entity.vcs
+../TPerformance/iFile15entity.vcs			z:/tperformance/inputfile/file15entity.vcs
+../TPerformance/iFile20entity.vcs			z:/tperformance/inputfile/file20entity.vcs
+../TPerformance/iFile25entity.vcs			z:/tperformance/inputfile/file25entity.vcs
+../TPerformance/iFile30entity.vcs			z:/tperformance/inputfile/file30entity.vcs
+../TPerformance/iFile35entity.vcs			z:/tperformance/inputfile/file35entity.vcs
+../TPerformance/iFile40entity.vcs			z:/tperformance/inputfile/file40entity.vcs
+
+// Shift-JIS and other data files=34
+../TestFiles/K3Data/ITest01.VCF			z:/k3data/itest01.vcf
+../TestFiles/K3Data/ITest02.VCF			z:/k3data/itest02.vcf
+../TestFiles/K3Data/ITest03.VCS			z:/k3data/itest03.vcs
+../TestFiles/K3Data/ITest04.VCF			z:/k3data/itest04.vcf
+../TestFiles/K3Data/ITest05.VCF			z:/k3data/itest05.vcf
+../TestFiles/K3Data/ITest06.VCF			z:/k3data/itest06.vcf
+../TestFiles/K3Data/ITest07.VCF			z:/k3data/itest07.vcf
+../TestFiles/K3Data/ITest08.VCF			z:/k3data/itest08.vcf
+../TestFiles/K3Data/ITest09.VCF			z:/k3data/itest09.vcf
+../TestFiles/K3Data/ITest10.VCF			z:/k3data/itest10.vcf
+../TestFiles/K3Data/ITest11.VCF			z:/k3data/itest11.vcf
+../TestFiles/K3Data/STest01.VCF			z:/k3data/stest01.vcf
+../TestFiles/K3Data/STest02.VCF			z:/k3data/stest02.vcf
+../TestFiles/K3Data/STest03.VCS			z:/k3data/stest03.vcs
+../TestFiles/K3Data/STest04.VCF			z:/k3data/stest04.vcf
+../TestFiles/K3Data/STest05.VCF			z:/k3data/stest05.vcf
+../TestFiles/K3Data/STest06.VCF			z:/k3data/stest06.vcf
+../TestFiles/K3Data/STest07.VCF			z:/k3data/stest07.vcf
+../TestFiles/K3Data/STest08.VCF			z:/k3data/stest08.vcf
+../TestFiles/K3Data/STest09.VCF			z:/k3data/stest09.vcf
+../TestFiles/K3Data/STest10.VCF			z:/k3data/stest10.vcf
+../TestFiles/K3Data/STest11.VCF			z:/k3data/stest11.vcf
+
+// Japanese SOUND vCard test files (WINSCW UDEB)
+../TestvCards/VersitJapaneseVCards/amano.vcf		           	z:/versitjapanesevcards/amano.vcf
+../TestvCards/VersitJapaneseVCards/aoki.vcf		            	z:/versitjapanesevcards/aoki.vcf
+../TestvCards/VersitJapaneseVCards/barbara.vcf		        	z:/versitjapanesevcards/barbara.vcf
+../TestvCards/VersitJapaneseVCards/Digit1.vcf		        	z:/versitjapanesevcards/digit1.vcf
+../TestvCards/VersitJapaneseVCards/Digit2.vcf		        	z:/versitjapanesevcards/digit2.vcf
+../TestvCards/VersitJapaneseVCards/haga.vcf			            z:/versitjapanesevcards/haga.vcf
+../TestvCards/VersitJapaneseVCards/kasai.vcf			        z:/versitjapanesevcards/kasai.vcf
+../TestvCards/VersitJapaneseVCards/kitajima.vcf		        	z:/versitjapanesevcards/kitajima.vcf
+../TestvCards/VersitJapaneseVCards/Longest.vcf		        	z:/versitjapanesevcards/longest.vcf
+../TestvCards/VersitJapaneseVCards/matsui.vcf		        	z:/versitjapanesevcards/matsui.vcf
+../TestvCards/VersitJapaneseVCards/miyazaki.vcf		        	z:/versitjapanesevcards/miyazaki.vcf
+../TestvCards/VersitJapaneseVCards/nakai.vcf			        z:/versitjapanesevcards/nakai.vcf
+../TestvCards/VersitJapaneseVCards/powell.vcf			        z:/versitjapanesevcards/powell.vcf
+../TestvCards/VersitJapaneseVCards/prolongedsound.vcf			z:/versitjapanesevcards/prolongedsound.vcf
+../TestvCards/VersitJapaneseVCards/SpecialCharacter1.vcf	    z:/versitjapanesevcards/specialcharacter1.vcf
+../TestvCards/VersitJapaneseVCards/SpecialCharacter2.vcf		z:/versitjapanesevcards/specialcharacter2.vcf
+../TestvCards/VersitJapaneseVCards/takashiro.vcf		        z:/versitjapanesevcards/takashiro.vcf
+../TestvCards/VersitJapaneseVCards/escaped.vcf		            z:/versitjapanesevcards/escaped.vcf
+../TestvCards/VersitJapaneseVCards/Multiplesounds.vcf		    z:/versitjapanesevcards/multiplesounds.vcf
+
+// PREQ1375 Unit testdata for PBAPSupport
+../tsrc/UnitTest_PBAPSupport/testdata/CBase64LineFolding.vcf			z:/pbapsupport/cbase64linefolding.vcf
+../tsrc/UnitTest_PBAPSupport/testdata/CBinaryEncoding.vcf				z:/pbapsupport/cbinaryencoding.vcf
+../tsrc/UnitTest_PBAPSupport/testdata/CDisableCharset.vcf				z:/pbapsupport/cdisablecharset.vcf
+../tsrc/UnitTest_PBAPSupport/testdata/CEscapeBackslash.vcf				z:/pbapsupport/cescapebackslash.vcf
+../tsrc/UnitTest_PBAPSupport/testdata/CEscapeComma.vcf					z:/pbapsupport/cescapecomma.vcf
+../tsrc/UnitTest_PBAPSupport/testdata/CEscapeSemicolon.vcf				z:/pbapsupport/cescapesemicolon.vcf
+../tsrc/UnitTest_PBAPSupport/testdata/CLongPropertyName.vcf				z:/pbapsupport/clongpropertyname.vcf
+../tsrc/UnitTest_PBAPSupport/testdata/CLongPropertyParam.vcf			z:/pbapsupport/clongpropertyparam.vcf
+../tsrc/UnitTest_PBAPSupport/testdata/CLongPropertyValue.vcf			z:/pbapsupport/clongpropertyvalue.vcf
+../tsrc/UnitTest_PBAPSupport/testdata/CQPEncodingTest1.vcf				z:/pbapsupport/cqpencodingtest1.vcf
+../tsrc/UnitTest_PBAPSupport/testdata/CQPEncodingTest2.vcf				z:/pbapsupport/cqpencodingtest2.vcf
+../tsrc/UnitTest_PBAPSupport/testdata/CShortAsciiLine.vcf				z:/pbapsupport/cshortasciiline.vcf
+../tsrc/UnitTest_PBAPSupport/testdata/CUseUTF8.vcf						z:/pbapsupport/cuseutf8.vcf
+../tsrc/UnitTest_PBAPSupport/testdata/IBase64LineFolding.vcf			z:/pbapsupport/ibase64linefolding.vcf
+
+
+
--- a/pimappsupport/vcardandvcal/tsrc/TJapaneseSoundProperty.mmp	Mon May 03 12:30:32 2010 +0300
+++ b/pimappsupport/vcardandvcal/tsrc/TJapaneseSoundProperty.mmp	Mon Jun 28 15:22:02 2010 +0530
@@ -21,7 +21,9 @@
 sourcepath      .
 
 userinclude     .
-userinclude ../inc 
+userinclude ../inc
+
+APP_LAYER_SYSTEMINCLUDE 
 systeminclude /epoc32/include 
 
 source	        TJapaneseSoundProperty.cpp
--- a/pimappsupport/vcardandvcal/tsrc/Test_saveloadbinoom.mmp	Mon May 03 12:30:32 2010 +0300
+++ b/pimappsupport/vcardandvcal/tsrc/Test_saveloadbinoom.mmp	Mon Jun 28 15:22:02 2010 +0530
@@ -23,6 +23,7 @@
 userinclude ../tsrc
 userinclude ../inc
 
+APP_LAYER_SYSTEMINCLUDE
 systeminclude /epoc32/include 
 source Test_saveloadbinoom.cpp
 library euser.lib estor.lib efsrv.lib
--- a/pimappsupport/vcardandvcal/tsrc/UnitTest_PBAPSupport/group/TestExternalize.mmp	Mon May 03 12:30:32 2010 +0300
+++ b/pimappsupport/vcardandvcal/tsrc/UnitTest_PBAPSupport/group/TestExternalize.mmp	Mon Jun 28 15:22:02 2010 +0530
@@ -21,6 +21,8 @@
 SOURCEPATH		../src
 USERINCLUDE		../inc
 USERINCLUDE		../../../inc
+
+APP_LAYER_SYSTEMINCLUDE
 SYSTEMINCLUDE		/epoc32/include
 
 SOURCE			TestExternalize.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tsrc/group/bld.inf	Mon Jun 28 15:22:02 2010 +0530
@@ -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	Mon Jun 28 15:22:02 2010 +0530
@@ -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